Deeplink實現華爲應用外商品支付功能

背景

項目組遊戲但願接入華爲的應用外支付功能,在華爲應用市場的本遊戲詳情頁點擊商品支付,經過DeepLink連接從華爲應用市場跳轉至本遊戲支付詳情頁,傳遞支付商品ID進行購買。java

參考文檔:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallerykit-devguide-game#h1-1589804284330android

爲了更好的接入,這裏先作了個功能驗證,同步分享給你們了。app

實現方式

1. manifest中Activity配置

在Activity中配置 intent-filter過濾器ide

<data android:scheme="agpms" android:path="/product/pay" android:host="com.sxx.huawei"/>

拼接以後的請求地址是:agpms://com.sxx.huawei/product/pay測試

連接格式要求以下文檔格式 (如不按照此格式,營銷地址上架審覈會不經過)ui

在這裏插入圖片描述

配置如圖:google

在這裏插入圖片描述

2. 跳轉代碼實現(此處是從外部應用中打開deeplink地址)

理論上應該在華爲應用市場APP中測試打開這個地址的,可是當前由於咱們遊戲沒有上架,且華爲應用市場APP側也無這樣的測試環境,所以爲了看下效果,本身弄了一個其餘應用。code

Intent intent = new Intent();
 intent.setAction("com.google.open02");
 intent.addCategory("android.intent.category.DEFAULT");
 intent.setData(Uri.parse("agpms://com.sxx.huawei/product/pay?producid=TestProduct503"));
 startActivity(intent);

agpms://com.sxx.huawei/product/pay?producid=TestProduct503
問號後面參數攜帶通常是 key=value&key1=value1 格式。對象

代碼截圖以下:blog

在這裏插入圖片描述

如上代碼:只攜帶了一個字段就是 producid

3. 跳轉至支付詳情頁面後解析deeplink地址中攜帶的字段參數

  • 若跳轉以前詳情頁面未打開,則須要在Activity生命週期onCreate中獲取intent對象解析data.
  • 若跳轉以前詳情頁面未打開,則須要在Activity生命週期onCreate中獲取intent對象解析data.

代碼截圖以下:

在這裏插入圖片描述

如上代碼獲取到data數據中商品ID以後,便可發起HMS SDK支付接口拉起支付頁面。

FAQ

Deeplink 相關配置完成以後仍是沒法打開?

通常是因爲跳轉時拼接的地址中的scheme,host,path 和配置中的不一致致使的,參考上面文檔自檢下。


原文連接:https://developer.huawei.com/consumer/cn/forum/topic/0204405033183830230?fid=18

原做者:AppGallery Connect

相關文章
相關標籤/搜索