此模块是否支持Amazon Appstore IAP?
不。我们不支持点燃设备,因为我们这里没有。 我们的flutter插件上有PR ,但尚未有人对此做出贡献。
不知道是否有人开始对此进行工作,但是我已经开始实现支持Amazon Appstore IAP的功能。 希望很快会准备好公关。
@ gborges0727我想您进入了。我已将标签更改为working
。 谢谢!
@ gborges0727 ,我看到了您的fork,并且您至少开始了一些与亚马逊相关的代码。
这项工作的状态如何?
在项目中,我需要添加Amazon支持。
如果有人已经弄清楚了,那就太好了:)
工作实际上已经完成,只是还没有写出打字稿/更新自述文件。 希望这个周末准备好公关!
甜! 很高兴听到。 实际上,我将在接下来的几天左右测试您的叉子。 我会让你知道我的发现。
我的应用程序专门使用具有两个周期选项(每月和每年)的订阅产品。
您对此做了什么样的测试? 您是否已经测试了订阅产品?
我还注意到,您确定Amazon vs其他设备的方法是检查amazon.hardware.fire_tv
功能。
这是因为您的应用程序实际上专门用于Fire TV,还是对包括平板电脑等在内的所有Amazon设备都适用?
我实际上只测试了订阅产品,因此,如果您有任何购买,也将是一个很好的测试。 而我的应用程序专门用于fire_tv,这就是我使用它的原因。 可能有更通用的选项可以针对任何亚马逊设备进行测试
好的,我发现了这个,看起来应该很可靠。
import android.os.Build;
isAmazonDevice = Build.MANUFACTURER.equals("Amazon");
我的研究发现了其他选择,包括尝试检测从哪个商店安装了该应用程序,但是我认为设备检测对于大多数人来说已经足够了。
您没有在使用Set
类时遇到错误吗?
尝试使用getProductData()
的亚马逊版本时出现以下错误
java.lang.RuntimeException: Got unknown argument class: Set
这是我的工作:
public RequestId getProductData(ReadableArray skus, Promise promise) {
//Build Set from ReadableArray
final Set<String> skusSet = new HashSet<String>();
for (int i = 0; i < skus.size(); i++) {
skusSet.add(skus.getString(i));
}
savePromise(GET_PRODUCT_DATA, promise);
RequestId requestId = PurchasingService.getProductData(skusSet);
return requestId;
}
另外,您知道在亚马逊设备上运行时如何禁用对Google Play服务的依赖性吗?
我得到一个弹出窗口,上面写着:
[App Name] won't run without Google Play services, which are not supported by your device.
抱歉,有这么多问题,我不是要向您发送垃圾邮件。 再次感谢您的出色工作!
抱歉,您迟到了! 我相信可以通过在AndroidManifest.xml中添加一些内容来解决Google Play服务在运行时的缺陷,但是我不记得是我添加了什么。 getProductData()周围的错误可能是完全有效的! 我没有真正测试该功能,因此可能100%在那里出现问题。 您所做的更改看起来不错! 在此处提交PR之前将它们合并是有意义的。
哦,我忘了提,我确实弄清楚我收到的特定won't run without Google Play services
消息实际上是使用Firebase的结果。 我发现有一个变通办法,即使在Amazon上也无法初始化Firebase,并且仍然在日志中收到警告,但似乎不再影响用户。
您可以共享的有关清单文件的任何信息仍然很有价值。
谢谢!
回顾一下我的androidmanifest,我实际上不确定我将包含的内容是否能解决任何问题。 还能进行更多测试吗?
我不会说我已经进行了详尽的测试。 仍然仅使用订阅产品进行测试。
我确实添加了一些其他修改:
谢谢您在这里的工作,我修复了检查要使用的商店的功能
https://github.com/curiousdustin/react-native-iap/pull/1
我可以使用这个功能吗? 我需要它
是否有任何有关如何使用您的Amazon代码@curiousdustin @ gborges0727的文档?
我需要为我的应用程序添加Amazon IAP支持,因此我确实需要它。
@ DannyRox23 ,对不起,这里没有讨论过的文档。
以下是一些说明:
希望能有所帮助。 希望我可以通过全面测试并将其添加到主库中来回馈社区,但是我没有时间。 再次感谢@ gborges0727做的大部分工作👍
@curiousdustin感谢您的回复! 我使用了您的代码,并且摆脱了设备检查,因为该应用程序仅适用于Amazon设备。 但是,我有点迷茫。 即使进行了设备检查,我仍将我的Amazon应用程序提交给了Amazon,并且Amazon报告该应用程序正在使用Google的IAP,因此他们没有批准该应用程序。
如何调试应用程序以查看其是否正常运行。 是否应该在模拟器上显示Amazon IAP购买窗口? 我需要亚马逊设备进行全面测试吗? 它可以与Bluestacks一起使用吗? 我可以使用任何Amazon设备模拟器吗?
通过使用与我的主清单文件合并的清单文件,我能够删除Google帐单警告。 我认为关键是取消结算许可的行。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="fm.pinna.app">
<uses-permission android:name="com.android.vending.BILLING" tools:node="remove" />
<application>
<receiver
android:name="com.amazon.device.iap.ResponseReceiver"
android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY">
<intent-filter>
<action android:name="com.amazon.inapp.purchasing.NOTIFY" />
</intent-filter>
</receiver>
</application>
</manifest>
可能有Amazon模拟器,但我没有使用过它们。 我使用了实际的Kindle Fire设备进行测试。 我也没有使用过Bluestacks,对不起,我不知道它是否可以工作。
为了进行测试,我只关注了Amazon docs 。
@hyochan如果只包含对订阅计费的支持,您愿意合并一些Amazon支持吗?
谁拥有代码的最新分支/我们是否可以尝试使PR进入主程序包? 要回显@benoitdion ,可以将它与仅支持订阅计费合并吗?
我没有完全跟上主要react-native-iap
模块的进度。 但是,我认为自@ gborges0727以来已经发生了重大变化,我正在对此进行研究。 主要重新设计3.0版附带的购买流程和其他重大更改。
https://github.com/dooboolab/react-native-iap/pull/510
因此,我认为目前我们的两个Amazon实现都不准备与主fork合并,即使仅订阅也是如此。 😞
嘿,看来这个问题最近没有任何活动。 问题是否已解决,还是仍然需要社区的关注? 如果没有其他活动,则可能已关闭此问题。 您也可以将此问题标记为“供讨论”或“良好的第一期”,我将其保留为开放状态。 感谢你的贡献。
长时间不活动后结束此问题。 如果此问题在最新版本中仍然存在,请随时创建具有最新信息的新问题。
@curiousdustin您认为您可以通过Amazon Store与master分支机构的兼容性PR进行更改吗? 这将非常有用
我们为支持Amazon而进行的更新与3.0中的主要更改不兼容。 看上面。
最有用的评论
不知道是否有人开始对此进行工作,但是我已经开始实现支持Amazon Appstore IAP的功能。 希望很快会准备好公关。