Unity接入Google Play Games與Game Center賬號(hào)

一、連接Google Play Games賬號(hào)
Unity沒有直接提供連接Google Play Games賬號(hào)的接口,但是Google出品了相應(yīng)的unity包(https://github.com/playgameservices/play-games-plugin-for-unity),可以直接下載后使用current-build目錄下的GooglePlayGamesPlugin-x.x.xx.unitypackage包,目前版本是0.9.42。主要步驟可以參考博文http://blog.csdn.net/ad_118/article/details/70139612https://www.cnblogs.com/Colored-Mr/p/6964801.html,以及GitHub上面關(guān)于使用該插件的說明,相應(yīng)點(diǎn)都很明確了。我使用的環(huán)境是Unity 5.6.2p3 Android studio 2.2.2。
需要注意的幾點(diǎn):
1. 需要在Google Play Console后臺(tái)配置游戲服務(wù),并且關(guān)聯(lián)到相應(yīng)的游戲項(xiàng)目;
2. 將相應(yīng)的APP ID配置到unity中(Window -> Google Play Games -> Setup -> Android setup)
3. 在SDK manager設(shè)置里面Appearance & Behavior > System Settings > Android SDK的SDK Tools選項(xiàng)卡下面,安裝Google Play Services, Android Support Repository以及Google Repository,確保能訪問Google后臺(tái)服務(wù)
4. 在Android工程中的AndroidManifest文件中的application節(jié)點(diǎn)下面添加:

1>. 對(duì)應(yīng)的Google Play Games配置

          <!-- The space in these forces it to be interpreted as a string vs. int -->
          <meta-data android:name="com.google.android.gms.games.APP_ID"
                  android:value="\ xxxxxxxxxxx" />
          <!-- Keep track of which plugin is being used -->
          <meta-data android:name="com.google.android.gms.games.unityVersion"
                  android:value="\ xxxxx" />
           <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
           <activity android:name="com.google.games.bridge.NativeBridgeActivity"
                   android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

2>. 增加權(quán)限

          <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
          <uses-permission android:name="android.permission.GET_ACCOUNTS" />

          note: xxxxxx處要替換成對(duì)應(yīng)的ID,gms.version的value處會(huì)爆紅,但是不會(huì)出錯(cuò),有相應(yīng)的地方會(huì)有這個(gè)值。

授權(quán)代碼:

  1. 配置 (如果要存檔游戲,需要在游戲服務(wù)設(shè)置中允許,配置中添加EnableSavedGame()配置)

     static PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
     .RequestEmail()
     .RequestServerAuthCode(false)
     .RequestIdToken()
     .Build();
    
  2. 初始化 (只需要初始化一次,Start()函數(shù)執(zhí)行即可)

    PlayGamesPlatform.InitializeInstance(config);
    PlayGamesPlatform.DebugLogEnabled = Const.UseDebugLogMode;
    PlayGamesPlatform.Activate();
    
  3. 登錄授權(quán)

     UnityEngine.Social.Active.localUser.Authenticate((bool success) => {
             if (success)
             {
                   CustomDebug.DebugLog("authenticate success");
                   PlayGamesLocalUser user = (PlayGamesLocalUser)UnityEngine.Social.localUser;
                   CustomDebug.DebugLogFormat("UserName: {0} id: {1} Avatar URL: {2} Email: {3} Token: {4}",
                                            ((PlayGamesLocalUser)UnityEngine.Social.localUser).userName,
                                            ((PlayGamesLocalUser)UnityEngine.Social.localUser).id,
                                            ((PlayGamesLocalUser)UnityEngine.Social.localUser).AvatarURL,
                                            ((PlayGamesLocalUser)UnityEngine.Social.localUser).Email,
                                            ((PlayGamesLocalUser)UnityEngine.Social.localUser).GetIdToken());
             }
             else
              {
                     CustomDebug.DebugLog("authenticate failed");
              }
     });
    

二、接入iOS Game Center賬號(hào)
由于unity直接提供了Game center服務(wù)的相應(yīng)的接口,所以接入Game Center賬號(hào)比較容易:

    private void AccessGameCenter()
    {
          UnityEngine.Social.localUser.Authenticate (AccessGameCenterCallback);
    }

    private void AccessGameCenterCallback(bool success)
    {
            if(success) {}
            else{}
    }

在對(duì)應(yīng)的工程設(shè)置中要開啟Game Center服務(wù)

接入游戲賬號(hào)后與服務(wù)端協(xié)商對(duì)應(yīng)登錄接口即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • This article is a record of my journey to learn Game Deve...
    蔡子聰閱讀 3,859評(píng)論 0 9
  • 一個(gè)月很快。我曾戲謔:易三倉就是豪華版的楊林;郊區(qū),出行成本高。但對(duì)于又愛又恨的ABAC,最多的還是不舍。有些同學(xué)...
    舞烈閱讀 426評(píng)論 0 0
  • 故國殘?jiān)?沉入深潭中 重如那些石頭 你把詞語累進(jìn)歷史 讓河道轉(zhuǎn)彎 花開幾度 催動(dòng)朝代盛衰 烏鴉即鼓聲 帝王們?nèi)缧Q吐...
    喜歡木心的月小溪閱讀 286評(píng)論 1 3
  • 半夜3點(diǎn),電話響了。一哥們打來電話說:兄弟,我車?yán)飽|西被偷了。我說:哥們那先報(bào)警啊。哥們說:不是啥值錢的玩意,方向...
    FC展翅飛翔閱讀 176評(píng)論 0 0