Android Google SignIn配置問題

前言

本文主要簡(jiǎn)述Google登錄以及Android接入時(shí)遇到的一些問題,并且給出對(duì)應(yīng)的解決辦法。在接入Google 登錄之前,官方給出了一個(gè)Demo,你可以按照它給的Demo,Demo里面提供了使用流程,包括配置Google API項(xiàng)目,獲取Sha-1證書,以及獲取client-Id等,這邊就不做詳細(xì)介紹。Demo鏈接:Google SignIn 官方 Demo

先決條件

  • 獲取當(dāng)前項(xiàng)目的SHA-1

  • console.developers.google 上創(chuàng)建好項(xiàng)目

  • console.firebase.google 上創(chuàng)建好項(xiàng)目

  • 準(zhǔn)備一部支付Google 服務(wù)的手機(jī)(Google 服務(wù)三件套)

注:Developers和Firebase上必須是同一個(gè)賬號(hào)

流程圖

image

引入Google Apk

在項(xiàng)目級(jí)下Build.grade中添加

allprojects {
    repositories {
        google()
    }
}

然后,在應(yīng)用級(jí)下 Build.grade中添加

apply plugin: 'com.android.application'
    ...
    dependencies {
        implementation 'com.google.android.gms:play-services-auth:19.0.0'
    }

配置API項(xiàng)目

配置的時(shí)候,特別要注意一下你的配置賬號(hào)必須和你的Google developers的賬號(hào)是同一個(gè)賬號(hào),不是同一個(gè)賬號(hào),即便你后面都接好了,你也會(huì)發(fā)現(xiàn)Google api會(huì)給你報(bào)error 10 的配置錯(cuò)誤。

image

Google 官方文檔意思呢,就是配置錯(cuò)誤,沒了,就這樣???

image.png

配置API項(xiàng)目

  • 從官方文檔進(jìn)入配置API和自己?jiǎn)为?dú)進(jìn)入配置API,基本都差不多。個(gè)人推薦從官方文檔頁(yè)面進(jìn)入配置,接下來,就講解一下Google SignIn 配置API項(xiàng)目
  1. Google SignIn 官方文檔 內(nèi)找到“configure a Project”
image

2.選擇一個(gè)已有的項(xiàng)目(沒創(chuàng)建過,可以通過+進(jìn)行創(chuàng)建)

image

3.Google SignIn官方文檔 提示需要Web應(yīng)用,但我們這邊選擇Android,至于為什么呢?我們接著往下走。

image

4.填寫一下對(duì)應(yīng)的包名以及SHA-1,不知道SHA-1是在哪里獲取,彈框上也有獲取SHA-1證書的方法(keytool -keystore.....)

注:Google Play Console 如果是已經(jīng)打開應(yīng)用簽名(畢竟坑的一個(gè)東西,開了就沒辦法關(guān)閉了),SHA-1先填寫“應(yīng)用簽名密鑰證書”里面的SHA-1,然后再填寫一遍“上傳密鑰證書”,必須2個(gè)都要配置??!必須2個(gè)都要配置配置??!必須2個(gè)都要都要配置??!(重要事情說3遍)

image

5.配置完成后,它會(huì)自動(dòng)生成Client Id,把Client Id保存下來,就是以后Google SignIn需要的IdToken。這時(shí)候我們打開console.developers.google 會(huì)發(fā)現(xiàn),里面已經(jīng)會(huì)生成好Web應(yīng)用等多個(gè)Id,Web應(yīng)用的Id和剛剛保存Client Id是同一個(gè)Id。

注:使用上傳證書和應(yīng)用簽名,配置成功后,Client Id不變!

image

注:The request failed because one of the field of the resource is invalid:SHA-1或者包名填寫錯(cuò)了,也可能是SHA-1有空格,可是將SHA-1最后一個(gè)字母刪除,手動(dòng)輸入。 若操作失誤,將OAuth刪除了也會(huì)報(bào)資源無效的錯(cuò)誤,主要把SHA-1最后幾個(gè)字母手動(dòng)輸入即可。

配置Firebase項(xiàng)目

配置完了,如果集成了Firebase,firebase里面需要再重新配置一下。

注:這一步不配置的,只配置了console.developers.google,運(yùn)行結(jié)果將會(huì)報(bào)ApiException:10的錯(cuò)誤!

1.從下方鏈接進(jìn)入,登錄同console.devlepoers.google 相同的賬號(hào)的

image.png

2.找到Android,點(diǎn)擊旁邊的齒輪,進(jìn)入設(shè)置頁(yè)面

image

3.將Google Play Console 內(nèi)的應(yīng)用簽名下的“應(yīng)用簽名密鑰證書”和“上傳密鑰證書”的SHA-1添加到里面,最后重新下載google-service.json,更新項(xiàng)目里的json。

image

總結(jié)

到這一步,就已經(jīng)配置完成了,最后將console.developers.google 里的Web client (Auto-created for Google Sign-in)的Id(即IdToken)保存下來。這邊需要測(cè)試應(yīng)用的,需要將應(yīng)用上傳到內(nèi)部測(cè)試才可以測(cè)試。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 級(jí)別:★☆☆☆☆標(biāo)簽:「iOS 接入 Google、Facebook 登錄」「Firebase Google」「F...
    QiShare閱讀 8,491評(píng)論 6 11
  • 集成google登錄之前需要有一下兩點(diǎn)要求,只有具備一下兩點(diǎn)要求才能集成google登錄: 1,android運(yùn)行...
    nangongkuo閱讀 7,829評(píng)論 6 4
  • 本文出自 “阿敏其人” 簡(jiǎn)書博客,轉(zhuǎn)載或引用請(qǐng)注明出處。 先把官方demo跑起來,然后看看文檔,你說對(duì)不對(duì) 官方d...
    阿敏其人閱讀 15,210評(píng)論 25 14
  • 一.創(chuàng)建游戲工程 首先你要有個(gè)android項(xiàng)目,使用Android Studio創(chuàng)建游戲項(xiàng)目; 然后創(chuàng)建簽名文件...
    沉默的菋道閱讀 10,882評(píng)論 1 4
  • 1 注冊(cè)Google賬戶 創(chuàng)建地址 2 申請(qǐng)開發(fā)者 25美元呢 開發(fā)者申請(qǐng) 3 創(chuàng)建憑據(jù) 創(chuàng)建憑據(jù) 4 開發(fā) 官網(wǎng)...
    Allens_Jiang閱讀 10,303評(píng)論 4 2

友情鏈接更多精彩內(nèi)容