Google登入接入(play-games-plugin-for-unity)
Google後臺配置
進入google後臺:https://play.google.com/apps/publish/?hl=zh&account=5458629459868388661#GameListPlace
新版外掛下載:https://github.com/playgameservices/play-games-plugin-for-unity(untiy2018/2017)
舊版外掛下載:https://pan.baidu.com/s/14N2ftAiv7EVIbVZjcSJ1fA 密碼:d6b3 (unity2017以下)
接入遇到的坑:https://blog.csdn.net/m348915654/article/details/79182221
支援二次驗證,後臺返回的引數,直接發給伺服器驗證,伺服器要接Google源生的;
注:測試機需要Google服務 ,Google play遊戲,Google商店;
注:另外上傳google後臺的證書是由簽名做成的,證書需要cmd命令然後生成證書,生成方法百度;
注:如果apk上傳不上去Google後臺,請一定要在專案裡面的androidmainfest檔案裡面新增 <uses-permission android:name="com.android.vending.BILLING" /> 就可以了(放到application外面);
注:如果apk上傳到google之後,有隱私權政策的錯誤,需要在隱私權政策上加一個網址,任意一個網址就可以
注:第一次上傳google後臺的 apk裡的簽名必須和你的簽名證書一致,
注:error: No resource identifier found for attribute 'enableVrMode' in package 'android' 只需要把Androidmanifest.xml檔案裡的android:targetSdkVersion(API級別)屬性設定為24;
注:如果在打包的時候遇到 Failed to compile resources with the following parameters:-bootclasspath "C:/android_tools/android-sdk/sdk\platforms\android-24\android.jar" -d "C:\pubg\trunk\client\Temp\StagingArea\bin\classes" -source 1.6 -target 1.6 -encoding UTF-........................等等 是JDK的問題版本的問題,換成JDK1.8版本
如果有不懂的可以加QQ群:636926481
(google登入外掛版本0.9.39a,支援2017以下版本)
1.點選建立應用
填寫專案名稱
配置紅色指標選項,直到選項出現綠色對號
在Alpha版中點選管理>修改版本>退出計劃, 然後就可以上傳apk了,上傳到開放渠道
注意:如果apk上傳到google之後,有隱私權政策的錯誤,需要在隱私權政策上加一個網址,任意一個網址就可以
填寫調查問卷
注意:隱私權政策任意填一個網址
帶*號必填
四個選項填完之後返回>點選遊戲服務
注意:新增新遊戲之後無法刪除
選擇尚未使用Googel API 然後填寫遊戲名稱
帶*號必填
新增測試人員(Googel賬號)
Google APIS:https://console.developers.google.com/apis/dashboard?project=chaosmech-66580513&duration=PT12H
新建專案,最好和Google後臺的專案名稱一樣
點選啟用API和服務>搜尋 Google Play Game Services
點選啟用API庫
點選憑據
切換頁面返回Google後臺>遊戲服務>然後點擊發布
再切換頁面返回到Google APIS
下載Google外掛: https://github.com/playgameservices/play-games-plugin-for-unity
2、匯入GooglePlayGamesPlugin-0.9.36.unitypackage
全選匯入,如下圖:
3、切換到Android平臺
Unity工程File->Build Settings
選擇Android 點選下面的Switch Platform
4、設定Android setup
開啟Android setup
填寫頁面內容
<?xml version="1.0" encoding="utf-8"?>
<!--
Google Play game services IDs.
Save this file as resalues/games-ids.xml in your project.
-->
<resources>
<!-- app_id -->
<string name="app_id" translatable="false">************</string>
<!-- package_name -->
<string name="package_name" translatable="false">***************</string>
</resources>
第一個星號串填客戶端ID前面的數字串
第二個星號串填專案的包名
Resources Definition
Google Play後臺:在成就或者排行下面有個“獲取資源”點選複製拷貝到這邊就可以了。
Client ID
Google Play後臺:在關聯的應用->選擇自己的應用->拉到最下面會看到“OAuth2 客戶端 ID” 注:客戶端ID為網頁客戶端
客戶端程式碼:login方法放到登入介面的start方法裡
public void Login()
2
{
3
try
4
{
5
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
6
.RequestIdToken()
7
.Build();
8
9
PlayGamesPlatform.InitializeInstance(config);
10
// 檢視Google服務輸出資訊 recommended for debugging:
11
PlayGamesPlatform.DebugLogEnabled = true;
12
// Activate the Google Play Games platform
13
//啟用谷歌服務
14
PlayGamesPlatform.Activate();
15
16
if (!PlayGamesPlatform.Instance.localUser.authenticated)
17
{
18
// 認證使用者,判定使用者是否登入:
19
Social.localUser.Authenticate((bool success) =>
20
{
21
if (success)
22
{
Debug.Log("++++++++++++登入成功++++++++++++");
29
LoginPanel panel = PanelManager.GetPanel<LoginPanel>("LoginPanel");
30
if (panel == null)
31
panel = PanelManager.OpenPanel<LoginPanel>("LoginPanel");
32
panel.ShowSelectServer();
33
}
34
else
35
{
36
Debug.LogError("google login fail");
37
38
PlatformManager.Instance.OnLoginCallBack("fail");
39
}
40
});
41
}
42
}
43
catch (System.Exception ex)
44
{
45
Debug.Log(ex.ToString());
46
}
47
}