背景介紹:
前面寫得幾個帖子已經(jīng)詳細介紹了:
Unity Editor安裝和Apk打包:https://developer.huawei.com/consumer/cn/forum/topic/0204405811539110247?fid=18
手把手教您快速運行Unity提供的華為游戲demo。
至此,unity提供給華為的demo已經(jīng)可以正常運行起來。
這個帖子,準備繼續(xù)測試并驗證該demo是否可以滿足以下兩個要求。
完成初始化的一些操作
實現(xiàn)華為游戲帳號登錄,能夠獲取到玩家的相關(guān)信息。
Demo測試后,大家自行參考這個demo設(shè)計自己的代碼就好。
涉及Unity提供的接口
初始化接口:
HuaweiGameService.AppInit()
HuaweiGameService.Init()
登錄相關(guān)接口:
HuaweiGameService.Login(ILoginListener listener)
HuaweiGameService.SilentSignIn(ILoginListener listener)
HuaweiGameService.SignOut(ILoginListener listener)
HuaweiGameService.CancelAuthorization(ICancelAuthListener listener)
獲取玩家信息相關(guān)接口:
HuaweiGameService.GetCurrentPlayer(bool isRealTime, IGetPlayerListener listener)
上述各接口含義可以參考Unity官網(wǎng)描述:
https://docs.unity.cn/cn/Packages-cn/com.unity.hms@1.2/manual/appgalleryChinese.html#7-api-%E5%8F%
82%E8%80%83%E5%88%97%E8%A1%A8
登錄流程
按照華為官網(wǎng)的聯(lián)運游戲規(guī)則(https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallerykit-devguide-game),如果游戲發(fā)布地區(qū):
包含中國大陸,客戶端需要走如下流程:
AppInit > Init > login > getCurrentPlayer
不包含中國大陸,客戶端需要走如下流程:
不強制要求:AppInit > Init > login > getCurrentPlayer
不強制必須登錄華為帳號,可以自行設(shè)計游戲登錄。
我這里因為應(yīng)用要發(fā)布中國大陸,所以按照前者要求接入了相關(guān)接口。
Demo測試
測試機型說明:
測試機型:Huawei phone,EMUI10.0.0,Android 10
該手機安裝的HMS Core版本是:5.0.4.301
該手機安裝的華為應(yīng)用市場版本是:11.0.2.302
Unity版本號:2020.1.2f1c1
Unity的demo代碼可參考如下文件,我這里打開瞅了瞅,unity團隊對每個接口是否成功調(diào)用都做了界面信息打印,所以實際測試時,我先直接看界面是否有成功提示,沒有再繼續(xù)定位原因了,簡單高效。
測試步驟說明
1. 啟動demo,界面提示如下:
Unity默認應(yīng)用啟動時調(diào)用HuaweiGameService.AppInit()接口,這個處理也是滿足華為側(cè)要求,上述提示表明該接口已經(jīng)調(diào)用成功。
2. 點擊Init按鈕,界面和日志如下:
說明:這個接口按照華為聯(lián)運游戲要求,在游戲啟動時需要調(diào)用的,這里unity做了一個按鈕,實際大家處理時自行在啟動時自動調(diào)用。
3. 點擊Login > login,手機界面如下:
成功拉起華為帳號登錄授權(quán)界面,選擇Authorise and log in后,可以成功看到登錄成功的歡迎提示框,相關(guān)日志打印也提示登錄成功。
注意下:這里一定要看到華為登錄歡迎框,之前我對接過華為聯(lián)運游戲,因為沒有歡迎框,被華為審核駁回過。
4. 點擊getCurrentPlayer按鈕,界面和日志提示如下,表明獲取華為游戲玩家信息接口已經(jīng)成功。這個接口按照華為游戲要求在login接口處理后需要調(diào)用,而且需要對獲取的玩家信息做校驗。
接來下可以參考華為的如下文檔完成該玩家信息的校驗,https://developer.huawei.com/consumer/cn/doc/development/HMS-References/verify-login-signature。
完成玩家信息的校驗并通過后,華為帳號的游戲登錄流程就算完成了。
登錄其他業(yè)務(wù)接口(按需自行處理了)
HuaweiGameService.SilentSignIn(ILoginListener listener)
點擊silentSignIn按鈕,界面提示如下,表明接口調(diào)用成功。
HuaweiGameService.SignOut(ILoginListener listener)
點擊signOut按鈕,界面提示如下:
HuaweiGameService.CancelAuthorization(ICancelAuthListener listener)
點擊cancelAuthorization按鈕,界面提示如下:
重新點擊login按鈕,界面再次拉起登錄授權(quán)界面,表明授權(quán)確實取消了。