在上一篇文章 "在 Unity 中調用 Android 的 Google+ 登入 - Unity 與 Android 的部分",我們已經完成了 Unity 與 Android 的部分了!接下來我們要來處理 啟動 API 與認證了!
我的環境配置:Windows 10、Unity 5.0.4f1、Java JDK 1.8.0_51、Android Studio 2.1.2。
步驟一:
接著我們要到 Google API Console 建立憑證。
開啟頁面左上角的三條槓
選擇 IAM 與管理員
選擇 所有專案 > 建立專案
輸入專案名稱,這邊隨意,我輸入 "TestGooglePlus",輸入好後按下建立
建立完畢後,網頁應該會自動跳轉頁面,如果沒有的話,我們一樣點擊頁面左上角的三條槓
選擇 API 管理員
選擇 資料庫 > Google+ API
點擊 啟用
點擊 前往「憑證」
在 決定您所需的憑證類型。選擇 Google+ API
在 決定您要使用的設定。選擇 Android 裝置
在 您需要存取什麼資料?選擇 使用者資料,並且按下 我需要那些憑證?
輸入名稱,名稱隨意,這邊我取為 "Android 測試 Google Plus API 專用"
接下來就比較麻煩了,開啟工作列的 開始 > 所有應用程式 > Windows 系統 > 命令提示字元。
或是你有其它開啟 命令提示字元 的方式,也是可以的
輸入指令 keytool -list -v -keystore "你剛剛建立的 Keystore 位置",輸入好後按下 Enter。
我的是 keytool -list -v -keystore "C:\Users\JingYueh\Desktop\Blog Test\Temp\TestGooglePlus.keystore"。
之後在輸入你建立 Keystore 時所設定的密碼,像我的密碼是 "test1234"
接著複製會抄下你的 SHA1
我的版本是可以複製的,所以可以直接 按下滑鼠右鍵 > 選擇標記
在將 SHA1 選取後,按下 Ctrl + C 複製
回到網頁上,將剛剛複製的 SHA1 貼到 簽署憑證的指紋 裡面
接著打開我們的 Unity 專案,打開 File > Build Settings...,選擇 Android 後再點擊 Player Settings...
開啟 Android 底下的 Other Settings
將 Identification 底下的 Bundle Identifier 複製
回到網頁上,將剛剛複製的 Bundle Identifier 貼到 套件名稱 裡面,接著點擊 建立用戶端 ID
接下來我們輸入產品名稱,名稱隨意,輸入好後按下繼續
最後按下 完成 後,就結束囉!!
步驟二:
開始來測試吧!
這是還沒登入的畫面,現在我們按下登入按鈕
選擇登入帳號
允許存取
登入完畢!大家可以看到 Unity 已經抓到使用者資訊了!
該教學的一系列文章:
文章標籤
全站熱搜

大大你好 我照著大大的方法去做後,到產生APK都沒有錯誤 但是程式實際運行,登入按下去卻沒有任何反應 也沒跳出錯誤訊息,也沒有當機什麼的 是我有什麼地方弄錯了嗎....還是跟GOOGLE要放棄PLUS有關係?
你好喔! 請問你手機有連上網嗎? 下載範例測試看看,是否能夠正常執行範例。
大大您好 昨天提的那個錯誤後來發現是我自己犯蠢xml檔裡的名字寫錯了... 不過解決這問題後現在變成會閃退... 逐一檢查後發現是在建立連線的地方mGoogleApiClient = new GoogleApiClient.Builder 就炸掉了... 這段程式碼有好幾個變數跟函數在我的android studio上都是顯示被畫中線然後註記說已經deprecated了.... 我現在用的com.google.android.gms:play-services 是12.0.1版,那幾個相關變數好像在前幾個版本就已經deprecated了....會是這個原因造成的嗎... 雖然想換成跟大大圖裡一樣的9版嘗試,但是9版對應的compileSdkVersion,我現在用的android studio版本好像已經不允許降到那個版本了...
你好喔! deprecated 之後,它應該都有建議使用哪個新的 function,你可以直接套用新的 function 試試看。 這文章是 3 年前寫的,所以很多套件其實都過舊了。 這邊你大致上參考範例的邏輯跟步驟就好,不建議你把版本降到跟範例一樣...... 另外問一下,你直接下載範例操作的話,是正常的嗎? 如果是正常的,那表示你的程式中,可能漏掉了一些套件沒有 import 到,而導致閃退。 這邊在檢查看看囉,加油!
感謝大大的辛勤回復 嘗試了很久後...我把我挖到unity的jar檔全都換成大大demo裡的東西後,他就能夠正常運作了 不過我如果只把google的3個jar換成新的12版,好像還是會炸掉, 但是我在電腦裡面找不到像大大圖中一樣的android-support-v4 ,找到類似的檔案的大小也只有兩三KB看起來應該不同(路徑像是Local\Android\Sdk\extras\android\m2repository\com\android\support\support-v4\26.0.0-alpha1\ support-v4-26.0.0-alpha1-sources.jar這樣的,有好幾個版本的資料夾跟檔案), 把這其中的最新版跟幾個google的東西放進去也是一樣會炸掉 雖然現在已經能動了,不過有點擔心說,google的上架現在好像禁止使用api級別26以下的東西? 不是很懂這個用舊版會不會影響(我嘗試把程式碼換成比較新的版本還是各種爆炸)
換新的程式碼的話,應該連 jar 也要一併換成新的,這樣才會正常。 所以建議你可以先用 Android (單純 Android 就好),去建一個可以登入 Google+ 的小 app,測試過沒問題之後,再使用上一篇教學 "步驟 12" 裡面的方法去拉 jar 到你的 Unity 中。 程式碼也一併更換為最新的方法,這樣應該就不會閃退了。 建議你測試的時候,手機要連著 Android Studio 的 Android Monitor,一方觀察 Log 一邊操作,基本上發生閃退的話,都會印 Log 出來,這樣比較知道問題出在哪邊。 PS:Google 有沒有限制 API 這邊我不太曉得,如果會擔心的話可以先上傳 APK 到後台,使用 Alpha 版發佈看看,如果有限制的話,基本上傳那邊就會把你擋掉了。
可以請問這是什麼意思嗎qq App Error: FATAL EXCEPTION [main] : 5.6.6f2 : Google Pixel 4 Unity version Device model XL Device fingerprint: google/ coral/coral:10/QD1A. 190821007 /5831595:user/ release-keys
你好: 你看要不要試著更新 Android SDK 或者 Unity 更新到比較新的版本再試試看?
你好 我想請問一下 我在輸出APK的時候 失敗 Execution failed for task ':launcher:processReleaseResources'. Android resource linking failed D:\UNITY\TestAndroid\Temp\gradleOut\launcher\build\intermediates\merged_manifests\release\AndroidManifest.xml:20: AAPT: error: unexpected element found in .
不好意思,請問有詳細的訊息嗎? 這應該是你在串接第三方套件的時候,在宣告 <uses-permsission> 時寫錯? 看看 <uses-permsission android:name="xxxxx" />,檢查 "/" 是否漏掉? 又或者重複宣告? 又或者 Android Plugin 你忘記加入該套件需要的資源包,導致資源遺失等等?