Deeplink實現(xiàn)華為應(yīng)用外商品支付功能

來源:華為開發(fā)者論壇
作者:Mayism
時間:2021-01-15
2382
項目組游戲希望接入華為的應(yīng)用外支付功能,在華為應(yīng)用市場的本游戲詳情頁點擊商品支付,通過DeepLink鏈接從華為應(yīng)用市場跳轉(zhuǎn)至本游戲支付詳情頁,傳遞支付商品ID進(jìn)行購買。為了更好的接入,這里先做了個功能驗證,同步分享給大家了。

背景

項目組游戲希望接入華為的應(yīng)用外支付功能,在華為應(yīng)用市場的本游戲詳情頁點擊商品支付,通過DeepLink鏈接從華為應(yīng)用市場跳轉(zhuǎn)至本游戲支付詳情頁,傳遞支付商品ID進(jìn)行購買。

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

為了更好的接入,這里先做了個功能驗證,同步分享給大家了。

實現(xiàn)方式

1.   manifest中Activity配置

在Activity中配置 intent-filter過濾器

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

拼接之后的請求地址是:agpms://com.sxx.huawei/product/pay

鏈接格式要求如下文檔格式(如不按照此格式,營銷地址上架審核會不通過):

ia_4600000002.png

配置如圖:

ia_4600000003.png

2.   跳轉(zhuǎn)代碼實現(xiàn)(此處是從外部應(yīng)用中打開deeplink地址)

理論上應(yīng)該在華為應(yīng)用市場APP中測試打開這個地址的,但是當(dāng)前因為我們游戲沒有上架,且華為應(yīng)用市場APP側(cè)也無這樣的測試環(huán)境,因此為了看下效果,自己弄了一個其他應(yīng)用。

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

問號后面參數(shù)攜帶一般是  key=value&key1=value1 格式。

代碼截圖如下:

ia_4600000004.png

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

3.    跳轉(zhuǎn)至支付詳情頁面后解析deeplink地址中攜帶的字段參數(shù)

若跳轉(zhuǎn)之前詳情頁面未打開,則需要在Activity生命周期onCreate中獲取intent對象解析data.

若跳轉(zhuǎn)之前詳情頁面未打開,則需要在Activity生命周期onCreate中獲取intent對象解析data.

代碼截圖如下:

ia_4600000005.png

 如上代碼獲取到data數(shù)據(jù)中商品ID之后,即可發(fā)起HMS SDK支付接口拉起支付頁面。

FAQ

Deeplink 相關(guān)配置完成之后還是無法打開?

 一般是由于跳轉(zhuǎn)時拼接的地址中的scheme,host,path 和配置中的不一致導(dǎo)致的,參考上面文檔自檢下。

立即登錄,閱讀全文
HMS
原文鏈接:點擊前往 >
文章來源:華為開發(fā)者論壇
版權(quán)說明:本文內(nèi)容來自于華為開發(fā)者論壇,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼關(guān)注
獲取更多出海資訊的相關(guān)信息
優(yōu)質(zhì)服務(wù)商推薦
更多