React-native-iap: 亚马逊应用商店

创建于 2019-01-20  ·  30评论  ·  资料来源: dooboolab/react-native-iap

此模块是否支持Amazon Appstore IAP?

❓ question 🏃🏻‍♀️ in progress 🚶🏻 stale 🥺 feature request

最有用的评论

不知道是否有人开始对此进行工作,但是我已经开始实现支持Amazon Appstore IAP的功能。 希望很快会准备好公关。

所有30条评论

不。我们不支持点燃设备,因为我们这里没有。 我们的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.

抱歉,有这么多问题,我不是要向您发送垃圾邮件。 再次感谢您的出色工作!

我做了一些更改。

如果您有兴趣,可以在这里查看我的叉子/分支:
https://github.com/curiousdustin/react-native-iap/commits/curious

  • 我做了一些工作,以应用主分支中的最新更改,主要是对本机模块的检查。 提交
  • 如前所述,我发现我不得不使用ReadableArray代替Set提交
  • 我正在检查制造商,而不是特定的fire_tv id。 犯罪
  • 因为我将使用RVS ,所以我认为将userIdAmazon到购买对象会很有用。 犯罪

尚未进行大量测试,但到目前为止看来还不错。 再次感谢!

抱歉,您迟到了! 我相信可以通过在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 ,对不起,这里没有讨论过的文档。

以下是一些说明:

  • 我们的实时应用程序当前正在使用以下代码: https :
  • 我们正在使用gradle构建变体为亚马逊构建单独的APK。 此分支中的此代码使用自动生成的构建配置属性来确定它是否是Amazon APK。
  • 我们的应用仅具有1个自动续订订阅IAP。
  • 我们尚未测试任何其他类型的IAP或功能。
  • 我们在所有平台上使用服务器端收据验证。

希望能有所帮助。 希望我可以通过全面测试并将其添加到主库中来回馈社区,但是我没有时间。 再次感谢@ 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中的主要更改不兼容。 看上面。

此页面是否有帮助?
0 / 5 - 0 等级