美文网首页
Android亚马逊IAP支付集成和上架的爬坑记录

Android亚马逊IAP支付集成和上架的爬坑记录

作者: 所幸时光未苍凉 | 来源:发表于2020-04-22 16:28 被阅读0次

鉴于国内对亚马逊内购支付SDK集成的这块的参考资料相当的少,而且上架亚马逊App store也不像Google play那么简单,所以在此记录一下自己趟过的坑。

集成

集成的相关资料如下:

官方文档以及相关API说明

官方demo+SDK

集成这一块还是相当简单的,照着官方文档和demo,然后根据自己的实际需求进行对应的代码编写。大概的流程如下:

  1. 实现并注册PurchasingListener
  2. 获取用户信息
  3. 获取产品信息
  4. 发起购买
  5. 查询更新
  6. 服务端验证
  7. 履行商品并使用notifyFulfillment

具体也可以参考Google Play Billing和亚马逊应用内购买(IAP)之间的区别,这样更容易理解。

应用测试

1、下载 Amazon App store
2、在 Amazon App store下载 Amazon App Tester(附:下载下来安装不了的去应用管理页面把相关的权限都打开,这样也方便以后的支付测试);
3、去亚马逊应用商品开发者后台下载商品列表json文件;
4、获取JSON数据文件并且文件命名为amazon.sdktester.json,将该文件复制至手机系统中的内存文件夹 ;
5、打开 Amazon App Tester选择IAP Items in JSON File查看json文件拷贝路径是否正确,有文件则正确;
6、以上步骤都完成了,就可以开始测试应用内购了。

趟坑

  • 测试集成的过程中onProductDataResponse()始终返回response.getProductData()为空
    趟坑:刚开始以为非得是亚马逊的设备才可以测试支付,后面向亚马逊的相关人员咨询才知道安装了Amazon App store的Android设备都可以进行亚马逊支付。这里的sku可以用官方demo里面的那个sku(亲测有用),在这个本地测试阶段,如果始终找不到有效的sku,建议换一台手机试试。

  • 本地沙盒测试模式下,发起购买后无任何反应,即没有亚马逊的弹窗出现。
    趟坑:手机设置->应用管理->Amazon App Store->权限->后台弹窗权限打开。

  • App living test过程中收到测试邮件,点击Amazon.com发现没有我要测试的应用
    趟坑:可以点击Amazon.co.uk链接跳转到测试应用界面,然后将链接copy到Android手机的Google Chrome(别的浏览器点击下载是打不开这个下载链接的,貌似只有Google浏览器才能跳转到Amazon App store),通过点击下载,可以跳转到Amazon App store进行下载(附:不要用QQ邮箱注册亚马逊开发者,因为可能不会及时收到亚马逊相关邮件)

    收到的测试邮件部分截图.png
  • 测试支付的话,如果本地测试没多大问题的话,可以直接提交App living test,不需要什么沙盒测试(避坑),这样后端的同学直接配正式环境,然后按照文档流程来,测完了可以直接提交转正;

  • 因为Amazon App store上架过程中比较严格(相对于Google来说),会遇到各种问题,关键是网上还没有解决办法,这种情况下,最好是联系亚马逊相关人员咨询解决。

  • 正式上线后测试支付,如果始终查询不到有效的sku的话,大概有以下几种情况:
    1.注册亚马逊的账号不是国外的;
    2.在保证亚马逊账号注册的是国外的前提下,自己的默认收件地址也不是国外的;
    3.手机自身的问题,建议换一台手机

  • 在注册PurchasingListener的前提下,本地沙盒测试环境下调用PurchasingService的相关方法,可以监听到事件的回调,但是上传到LAT测试环境和正式环境后,调用PurchasingService相关方法后PurchasingListener无任何监听回调(天坑
    解决办法:
    添加亚马逊的混淆(鬼特么知道包上传亚马逊后台后还有这种操作)

-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
-keepattributes *注释*

相关文章

网友评论

      本文标题:Android亚马逊IAP支付集成和上架的爬坑记录

      本文链接:https://www.haomeiwen.com/subject/chubihtx.html