You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端Amazon IAP PurchasingListener无响应问题求助

解决Amazon IAP SDK 3.0.3订阅型IAP无响应/产品数据为空问题

1. 修正Manifest广播接收器配置

确保ResponseReceiver的权限配置符合SDK 3.x规范,禁止将权限放在<action>标签下,正确配置适配Android 12+:

<receiver 
    android:name="com.amazon.device.iap.ResponseReceiver"
    android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY"
    android:exported="true">
    <intent-filter>
        <action android:name="com.amazon.inapp.purchasing.NOTIFY" />
    </intent-filter>
</receiver>

同时在Manifest根节点补充必要权限声明:

<uses-permission android:name="com.amazon.inapp.purchasing.Permission.NOTIFY" />

2. 验证Amazon App Tester配置

  • 确认已将包含完整SKU信息的amazon.sdktester.json导入App Tester,文件内SKU需与代码中MySku的取值完全一致(大小写、拼写无偏差)
  • 使用与SDK 3.0.3兼容的App Tester版本,避免版本不匹配导致的请求拦截
  • 在Fire设备上登录亚马逊测试账号,并确认App Tester已启用沙箱模式

3. 针对不同设备的适配调整

Fire 7平板完全无响应:

  • 检查设备上的Amazon Appstore服务是否为最新版本,更新后重试
  • 确认应用签名与App Tester配置中的签名完全匹配(沙箱环境要求签名一致,否则请求会被拦截)
  • 重启设备,排除系统服务异常导致的广播接收故障

非Fire设备(小米/三星)产品数据为空:

  • 确保设备已安装最新版Amazon Appstore和Amazon App Tester
  • 检查amazon.sdktester.json中SKU的type字段是否设置为SUBSCRIPTION,且配置信息完整
  • 打印代码中传入getProductData的SKU集合,核对是否存在拼写错误

4. 调整代码调用时机与上下文

  • 将getProductData的调用从onStart()移至onResume(),或添加短延迟确保Listener完全注册:
@Override
protected void onResume() {
    super.onResume();
    PurchasingService.getUserData();
    PurchasingService.getPurchaseUpdates(false);
    
    // 延迟触发,避免SDK初始化延迟导致无响应
    new Handler(Looper.getMainLooper()).postDelayed(() -> {
        final Set<String> productSkus = new HashSet<>();
        for (final MySku mySku : MySku.values()) {
            productSkus.add(mySku.getSku());
            Log.d(TAG, "onResume: request product data for sku: " + mySku.getSku());
        }
        PurchasingService.getProductData(productSkus);
    }, 100);
}
  • 注册Listener时使用Application上下文,避免Activity销毁导致Listener失效:
PurchasingService.registerListener(getApplication(), purchasingListener);

5. 开启详细日志排查

在应用启动时开启SDK调试日志,获取更多错误细节:

PurchasingService.enableLogging(true);

同时过滤系统日志中的Amazon、IAP标签,检查是否存在广播拦截、权限校验失败等异常信息。


内容的提问来源于stack exchange,提问作者Sargius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:16:19