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