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