問(wèn)題現(xiàn)象
最近集成華為提供的HMS SDK能力時(shí),無(wú)法登錄,調(diào)用華為提供的getCurrentPlayer接口總是報(bào)錯(cuò)6004。日志搜索hmssdk,報(bào)錯(cuò)如下:
Line 291: I/HMSSDK_HmsClient: receive msg status_code:0, error_code6004, api_name:game.getCurrentPlayer
搜索官網(wǎng)錯(cuò)誤碼介紹,顯示該錯(cuò)誤碼表示:權(quán)限不存在,未在華為開(kāi)發(fā)者聯(lián)盟上申請(qǐng)。
解決方案
既然報(bào)錯(cuò)原因是沒(méi)有在開(kāi)發(fā)者聯(lián)盟上申請(qǐng)相關(guān)權(quán)限,因此我先參考服務(wù)和API開(kāi)通文檔檢查了下當(dāng)前開(kāi)啟的API權(quán)限情況,截圖如下:
應(yīng)用中涉及的服務(wù),我的項(xiàng)目都已經(jīng)開(kāi)啟了。所以這里我的權(quán)限已經(jīng)啟動(dòng)。這里百思不得其解,最后聯(lián)系了華為技術(shù)支持定位。他們給的方案如下:
如果沒(méi)有啟動(dòng),需要先開(kāi)啟,等待約15分鐘后,測(cè)試手機(jī)上將HMS Core緩存清理后,客戶(hù)端測(cè)試看是否OK。
如果已經(jīng)啟動(dòng),這個(gè)有可能(極小概率出現(xiàn))是因?yàn)楫?dāng)時(shí)API開(kāi)啟時(shí),出現(xiàn)了某種異常,導(dǎo)致華為后臺(tái)系統(tǒng)沒(méi)有收到這個(gè)API開(kāi)啟的同步消息,可以界面手動(dòng)關(guān)閉下這個(gè)API開(kāi)關(guān),再重新打開(kāi),觸發(fā)消息再次同步。同樣需要將HMS Core緩存清理后,等待15分鐘后測(cè)試。
清理HMS Core緩存方法為:手機(jī)設(shè)置>應(yīng)用>應(yīng)用管理>HMS Core>存儲(chǔ)>清空緩存。
最后,果然通過(guò)關(guān)閉后重新開(kāi)啟的方式,我的游戲可以正常登錄了。
原文鏈接:
https://developer.huawei.com/consumer/cn/forum/topic/0204393665510820125?fid=18