Amazon IAP - 未调用 PurchaseObserver 回调(onSdkAvailable 除外)

Posted

技术标签:

【中文标题】Amazon IAP - 未调用 PurchaseObserver 回调(onSdkAvailable 除外)【英文标题】:Amazon IAP - PurchaseObserver callbacks not called (except onSdkAvailable) 【发布时间】:2013-03-10 17:35:21 【问题描述】:

我使用 ButtonClicker 示例作为基本框架将我们的游戏连接到亚马逊商店。我正在尝试实现店面,因此在onItemDataResponse 回调中构建可购买商品的目录。但是这和onGetUserIdResponse 永远不会被调用。但是 sdk 测试器正在记录成功的项目数据响应广播和用户 ID 响应广播并记录 amazon.sdktester.json 的内容。请注意 onSdkAvailable 正在被调用....有其他人经历过吗?如果是这样,你是如何绕过它的?任何帮助或建议都会很棒。 谢谢克里斯

【问题讨论】:

【参考方案1】:

我刚刚遇到了你描述的同样的问题。 (我没有收到采购经理的回电)

在我的清单中,我有:

 <receiver android:name = "com.amazon.inapp.purchasing.ResponseReceiver" 
           android:exported="false"  >

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

  </receiver>

删除 android:exported="false" 属性为我解决了这个问题。最初我添加了 android:exported="false" 属性,因为它删除了警告“exported receiver requires no permission”

现在我的清单看起来像这样,并且可以使用 sdk 测试器正确测试应用内购买:

<receiver android:name = "com.amazon.inapp.purchasing.ResponseReceiver"  >

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

      </receiver>

【讨论】:

【参考方案2】:

首先,如果您正在测试,请确保已安装 SDK Tester 应用,并且您已将amazon.sdktester.json 文件上传到您的设备或模拟器上的/mnt/sdcard/(如here 所述)。

调用onSdkAvailable 回调不需要任何 IPC,因此它并不表示您正在与客户端或测试应用程序进行通信。

另外,请确保您已在清单中声明了接收方。来自the Amazon docs:

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

(顺便说一句,&lt;action&gt; 标记上的android:permission 属性没有任何作用。但是,如果将其移至它所属的&lt;receiver&gt; 标记,您将再次接收不到广播-至少来自 SDK Tester 应用程序,也可能来自 IAP 客户端。您可以按照文档的建议保留它,或者直接删除android:permission 属性;请参阅this thread。)

【讨论】:

以上是关于Amazon IAP - 未调用 PurchaseObserver 回调(onSdkAvailable 除外)的主要内容,如果未能解决你的问题,请参考以下文章

In-App Purchase(iap)快速指南

Amazon IAP v2.0 不响应 android 实时测试

Xcode 12 In App Purchase Implementation - SKProductsRequestDelegate 没有被调用

iOS In-App-Purchase Sandbox 恢复消耗品购买

如何为Amazon IAP设置ProGuard?

如何为 Amazon IAP 设置 ProGuard?