乐趣区

关于android:Deeplink实现华为应用外商品支付功能

背景

项目组游戏心愿接入华为的利用外领取性能,在华为利用市场的本游戏详情页点击商品领取, 通过 DeepLink 链接从华为利用市场跳转至本游戏领取详情页,传递领取商品 ID 进行购买。

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

为了更好的接入,这里先做了个性能验证,同步分享给大家了。

实现形式

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

链接格局要求如下文档格局 (如不依照此格局,营销地址上架审核会不通过)

配置如图:

2. 跳转代码实现(此处是从内部利用中关上 deeplink 地址)

实践上应该在华为利用市场 APP 中测试关上这个地址的,然而以后因为咱们游戏没有上架,且华为利用市场 APP 侧也无这样的测试环境,因而为了看下成果,本人弄了一个其余利用。

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 格局。

代码截图如下:

如上代码:只携带了一个字段就是 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

退出移动版