HMS Core應用內支付服務(In-App Purchases,IAP)為應用提供便捷的應用內支付體驗和簡便的接入流程,開發者的應用集成IAP SDK后,呼叫IAP SDK介面,啟動IAP收銀臺,即可實作應用內支付,通過應用內支付服務,用戶可以在應用內購買各種型別的虛擬商品,包括一次性商品(包括消耗型商品和非消耗型商品)和訂閱型商品,應用內支付服務支持客戶端和服務端兩種開發形式,具體可以參考以下官方檔案:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/introduction-0000001050033062?ha_source=hms1
在日常作業中,我們會收到開發者們留言的有關IAP集成的常見問題,這里進行一些分享和總結,希望為其他遇到類似問題的開發者提供參考——
- com.huawei.hmf.tasks.Task的使用問題,
Task
因為它已經集成在工程gradle包當中,所以直接用就可以,不需要重新創建宣告,我們可以在Project工程中匯入的 gradle檔案中找到:

開發者也可以參考以下檔案解決問題:
https://developer.huawei.com/consumer/cn/doc/development/hmscore-common-References/task_tresult-0000001050121148#section947111462618?ha_source=hms1
- InAppPurchaseData 引數中沒有accountFlag是否正常?
InAppPurchaseData 引數中沒有accountFlag的問題,根據應用內支付服務官方檔案關于InAppPurchaseData的參考API:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/json-inapppurchasedata-0000001050986125?ha_source=hms1
InAppPurchaseData JSON型別用于保存用戶購買資訊,包括消耗型商品、非消耗型商品以及訂閱型商品,其中的引數accountFlag 是非必選引數、可選欄位,非固定回傳,滿足使用AppTouch應用才會有這個回傳值,
- 檔案 createPurchaseIntentWithPrice 的 onFailure 中 引數(Exception e)的判斷(e instanceof IapApiException) 不成立,
首先需要確認設備和集成環境資訊(最好更新到最新版本):HMS Core版本號、集成的SDK的版本號、設備是手機還是智慧屏,
然后根據官方檔案60055錯誤碼的注釋,一般表示用戶沒有同意支付協議,開發者可以從請求介面中回傳的IapApiException中獲取到一個Status物件,Status中包含IAP協議頁面,應用可使用Status的startResolutionForResult方法來啟動協議頁面,
導致該問題的原因可能還有以下幾個方面:
(1)網路問題,網路例外導致介面獲取失敗,
(2)是否正確參考了 IapApiException,

(3)支付時是否有彈窗,如果沒有彈窗需要開啟設備 “后臺彈出界面”權限,設定如下:找到 HMS Core 應用詳情頁-- 權限管理--“后臺彈出界面”--選擇“始終允許”,重新測驗,
(4)如果是代碼問題,請詳細參考開發者聯盟官方Demo實作和測驗,Demo下載地址:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Examples/client-sample-code-0000001050143598?ha_source=hms1

- 應用服務器驗證,驗證購買token 失敗,
首先,出現“驗證購買token 失敗”提示,請詳細參照 “獲取應用級AT”檔案的每一個步驟,檢查獲取的AT是否是應用級AT,獲取應用級別AT地址檔案:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/obtain-application-level-at-0000001051066052?ha_source=hms1
然后再將獲取的應用級AT封裝,在請求頭header中重新構建 authorization,具體可以參考公共說明的部分檔案:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/api-common-statement-0000001050986127?ha_source=hms1

欲了解更多應用內支付服務詳情,請參閱:
https://developer.huawei.com/consumer/cn/hms/huawei-iap/?ha_source=hms1
華為開發者聯盟官網
獲取開發指導檔案
參與開發者討論請到Reddit社區
下載demo和示例代碼請到Github
解決集成問題請到Stack Overflow
了解更多詳情>>
訪問華為開發者聯盟官網
獲取開發指導檔案
華為移動服務開源倉庫地址:GitHub、Gitee
關注我們,第一時間了解 HMS Core 最新技術資訊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/432059.html
標籤:Android
