【FAQ】調用應用內支付SDK時報錯,如何用tag對問題進行排查和分析

来源:https://www.cnblogs.com/hmscore/archive/2022/06/17/16384881.html
-Advertisement-
Play Games

華為應用內支付服務(In-App Purchases,IAP)為開發者提供便捷的應用內支付體驗和簡便的接入流程。開發者的應用集成IAP SDK後,調用IAP SDK介面,啟動IAP收銀台,即可實現應用內支付。在集成過程中,開發者可能會遇到報錯的問題,這時我們可以通過查找日誌中的tag的方法對問題快速 ...


華為應用內支付服務(In-App Purchases,IAP)為開發者提供便捷的應用內支付體驗和簡便的接入流程。開發者的應用集成IAP SDK後,調用IAP SDK介面,啟動IAP收銀台,即可實現應用內支付。在集成過程中,開發者可能會遇到報錯的問題,這時我們可以通過查找日誌中的tag的方法對問題快速進行排查和定位,以下我們會結合兩個實際問題來看如何使用這個方法。

問題一:某開發者調用華為應用內支付SDK,拉起收銀台頁面,提示“當前支付服務不可用,請稍後再試”。具體參考下圖:

問題分析

1.首先我們確認調用的是IAP哪個介面。

通過查看開發者給的日誌我們發現調用的是非PMS介面(通過過濾IapClientImpl,我們可以查詢調用的介面名)

2.如果是pms,那麼調用的收銀台介面名為createPurchaseIntent,如果是非pms介面,則調用的介面名為createPurchaseIntentWithPrice。

3.根據對話框提示支付服務不可用,可能是支付服務api開關未打開或者某些地區不支持支付。按照這個思路我們進行定位,在日誌中搜索tag: “hms_pay”:

日誌顯示當前的服務地是法國,但目前應用內支付服務購買非PMS商品只支持中國大陸,所以會提示支付不可用。

解決方法

在應用市場將服務地切換回國內,具體操作如下:應用市場 -> 設置 –> 國家/地區 –> 中國。

問題總結

開發者在調試過程中,如果出現介面不通,或者提示錯誤時,可以使用以下tag來進行問題定位:

HMSSDK: 可以通過此tag查詢到HMS Core SDK框架側是否異常,如6003,6004,90713XXXX等錯誤碼,當然也會包含IAP SDK側錯誤碼。如60002,60050等

hms_pay: 如果出現60002,60050等IAP SDK側錯誤碼,可以通過IAP APK側來分析可能出現的問題,即可以用該tag進行後續APK側日誌的定位分析。

Network-Request:這個tag其實也屬於hms_pay下麵的,屬於服務測返回的錯誤碼,我們可以根據服務側返回的錯誤碼以及錯誤描述,對照服務測文檔進行初步排查和定位。如8、9、11、12等錯誤碼。

問題二:某位開發者在調用“isEnvReady“方法時報錯,提示“本應用未在當前國家/地區發佈”具體參考下圖:

問題分析

首先我們在日誌上查找Tag 為HMSSDK 和 hms_pay, 發現60007錯誤碼,對比業務錯誤碼,提示商品配置的地區沒有分發到該國家。

我們根據錯誤碼提示去AGC網站上查詢發佈國家和地區,發現目前應用發佈地設置在歐洲,但當前登錄的帳號在中國大陸,所以會提示該錯誤。

解決方法

打開AGC網站,在應用上架 –>準備提交頁面,將發佈國家或地區勾選上中國大陸(如果想在某個國家或地區上架,需要勾選上對應國家或地區),勾選後點擊保存,變更後一般在幾個小時內會生效。

問題總結

和問題一的定位思路基本一致。根據錯誤碼來進行初步定位。首先要根據客戶端錯誤碼判斷可能存在的問題,如果我們已經拿到對應的客戶端錯誤碼,那麼根據官網的錯誤碼含義和解決方案處理即可。

瞭解更多詳情>>

訪問華為開發者聯盟官網
獲取開髮指導文檔
華為移動服務開源倉庫地址:GitHubGitee

關註我們,第一時間瞭解 HMS Core 最新技術資訊~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Pod對象的聲明周期(Pod的相位、創建過程、重要行為、探測、重啟策略、終止過程) Pod 對象自從其創建開始至其終止退出的時間範圍稱為其生命周期。在這段時間中,Pod 會處於多種不同的狀態,並執行一些操作;其中,創建主容器(main container)為必須的操作,其他科選的操作還包括進行初始化 ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 一、Termux 1.Termux簡介 Termux是 Android 平臺上的一個終端模擬器,之所以稱它為“模擬器”而非“虛擬機”,是因為它並非像 PC 端的 VirtualBox 等虛擬機軟體那樣,在宿主機中虛擬出一個完全獨立且完整的系統環境 ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 前言 開始搭建RK3568的基礎虛擬機,具備基本的通用功能,主要包含了串口工具minicom,遠程登陸ssh,遠程傳輸filezilla,代碼編輯工具vscode。 虛擬機 文檔對對虛擬機做了一些基本要求,如下圖: 為了儘量在前期減少錯誤,應選擇 ...
  • 下載證書 申請證書 證書下載 文件格式為: PEM格式的證書文件。 PEM格式的證書文件是採用Base64編碼的文本文件,您可以根據需要將證書文件修改成其他格式。 KEY格式的證書私鑰文件。 安裝證書 登錄Linux 證書上傳到伺服器 新建存放證書的目錄 mkdir /usr/local/nginx ...
  • CentOS目前官網提供的下載版本有6、7、8,最新的版本為8,不過個人推薦CentOS 7 的版本,因為相比較於最新版本,版本7更加地穩定。而相比於版本6,版本7新增了很多的功能。CentOS 7 是目前主流的版本,穩定成熟,是大多數伺服器首選的版本。話不多說,直入主題。 下載centos官方鏡像 ...
  • 唉。下麵是我花了不知道多少個小時踩過的所有坑總結出來的血淚史,希望能幫你們少踩一些坑吧,正常來講一步一步下來就不會出現任何問題了。 背景 用的是百度雲的雲伺服器(其他雲伺服器同理),系統是Ubuntu 20.04 LTS,Mysql版本8.0+,需求是在Windows上開發,可以隨時遠程連接讀寫服務 ...
  • 分享嘉賓:張政 京東 演算法工程師 編輯整理:AMS 周金星 出品平臺:DataFunTalk 導讀: 內容生態建設是近幾年互聯網快速發展的關鍵動因,也是AI化的重點方向之一。本文主要分享在京東廣告業務下內容理解體系的建設情況,從標簽化、內容準入、質量美學評價等多個角度探討內容理解能力的應用;同時整體 ...
  • SQL的函數 函數的定義 函數是指一段可以直接被另一段程式調用的程式或代碼; 字元串函數 MySQL常用的字元串函數 函數 功能 concat(s1,s2,···sN) 字元串拼接,將s1···sN拼接為一個字元串 lower(str) 將字元串str全部轉換為小寫 upper(str) 將字元串s ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...