このモジュールはAmazonAppstore IAPをサポートしていますか?
いいえ。Kindleデバイスはここにないため、サポートしていません。 私たちのフラッタープラグインにはPRがありますが、まだ誰もこれに貢献していません。
誰かがこれに取り組み始めたかどうかはわかりませんが、Amazon AppstoreIAPをサポートする機能の実装を開始しました。 うまくいけば、PRはすぐに準備ができています。
@ gborges0727あなたがworking
。 ありがとうございました!
@ gborges0727 、私はあなたのフォークを見ます、そしてあなたは少なくともいくつかのアマゾン関連のコードで始めました。
この作品の状況はどうですか?
プロジェクトの中で、Amazonサポートを追加する必要がある段階にあります。
誰かがすでにこれを理解しているなら、それは素晴らしいでしょう:)
作業は実際に行われていますが、typescriptの作成/ readmeの更新にはまだ慣れていません。 うまくいけば、今週末にPRの準備ができているでしょう!
甘い! 聞いてよかった。 私は実際に次の数日かそこらであなたのフォークをテストしています。 私が見つけたものをあなたに知らせます。
私のアプリは、月次と年次の2つの期間オプションを備えたサブスクリプション製品を具体的に使用しています。
これでどのようなテストをしましたか? サブスクリプション製品をテストしましたか?
また、Amazonと他のデバイスを判断する方法はamazon.hardware.fire_tv
機能をチェックすることであることに気づきました。
これは、アプリが実際にはFire TV専用であるためですか、それともタブレットなどを含むすべてのAmazonデバイスに実際に当てはまりますか?
私は実際にはサブスクリプション製品のみをテストしたので、単一の購入がある場合も同様に良いテストになります。 そして、私のアプリは特にfire_tv用であり、それが私がそれを使用した理由です。 アマゾンデバイスをテストするためのより一般的なオプションの可能性があります
わかりました、これを見つけました。かなり信頼できるはずです。
import android.os.Build;
isAmazonDevice = Build.MANUFACTURER.equals("Amazon");
私の調査では、アプリがインストールされたSTOREを検出するなど、他のオプションが見つかりましたが、ほとんどの場合、デバイスの検出で十分だと思います。
Set
クラスの使用についてエラーは発生していませんか?
getProductData()
Amazonバージョンを使おうとすると次のようになりました
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;
}
また、Amazonデバイスで実行時に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
Set
コミットの代わりにSet
ReadableArray
を使用する必要があることがわかりましたfire_tv
IDの代わりに、製造元を確認しています。 コミットuserIdAmazon
を追加すると便利だと感じました。 コミットまだたくさんのテストを行っていませんが、今のところ良いようです。 再度、感謝します!
遅れてごめんなさい! 実行時のGooglePlayサービスの依存関係は、AndroidManifest.xmlに何かを追加することで解決できると思いますが、追加した内容を正確に思い出せません。 getProductData()に関するエラーは、完全に有効である可能性があります。 私は実際にはその機能をテストしなかったので、100%問題になる可能性があります。 あなたの変更はよさそうだ! ここでPRを提出する前に、それらを組み込むことは理にかなっています。
ああ、私は言及するのを忘れました、私が受け取った特定のwon't run without Google Play services
メッセージは、実際にはFirebaseを使用した結果であることがわかりました。 Amazonの場合、Firebaseを初期化しないというハッキーな回避策を見つけました。それでもログに警告が表示されますが、ユーザーには影響がないようです。
マニフェストファイルについて共有できる情報は、それでも価値がある可能性があります。
ありがとう!
私のandroidmanifestを振り返ってみると、問題を解決するために何を含めるかは実際にはわかりません。それに関する限り、幽霊を覚えていたのかもしれません。 もう少しテストして運がいいですか?
徹底的にテストしたとは言えません。 まだサブスクリプション製品でのみテストしています。
私はさらにいくつかの変更を追加しました:
ここでの作業に感謝し、使用するストアをチェックする機能を修正しました
https://github.com/curiousdustin/react-native-iap/pull/1
この機能は使えますか? それが必要
@ gborges0727 @curiousdustinあなたのアマゾンのコードを使用する方法上の任意のドキュメントはありますか?
アプリにAmazonIAPサポートを追加する必要があるので、これが本当に必要です。
@ DannyRox23 、申し訳ありませんが、ここでの議論を過ぎたドキュメントはありません。
ここにいくつかの説明があります:
お役に立てば幸いです。 これを完全にテストしてメインライブラリに追加することで、コミュニティにもっと還元できればいいのですが、時間がありません。 ほとんどの作業をしてくれてありがとう@gborges0727👍
@curiousdustin返信ありがとうございます! 私はあなたのコードを使用しましたが、アプリはAmazonデバイス専用であるため、デバイスチェックを削除しました。 しかし、私は少し迷っています。 デバイスをチェックしても、AmazonアプリをAmazonに送信したところ、AmazonはアプリがGoogleのIAPを使用していると報告したため、アプリを承認しませんでした。
アプリをデバッグして、機能しているかどうかを確認するにはどうすればよいですか。 エミュレーターでAmazonIAP購入ウィンドウを表示する必要がありますか? 完全にテストするにはAmazonデバイスが必要ですか? 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エミュレーターがあるかもしれませんが、私はそれらを使用していません。 実際のKindleFireデバイスを使用してテストしました。 Bluestacksも使用していません。申し訳ありませんが、動作するかどうかはわかりません。
テストのために、私はちょうどアマゾンのドキュメントに従いました。
@hyochanは、サブスクリプション請求のサポートのみが含まれている場合、Amazonのサポートをマージすることを
コードの最新のフォークを持っているのは誰ですか/ PRをメインパッケージに入れる可能性はありますか? @benoitdionをエコーするために、サブスクリプション請求のサポートだけとマージしても大丈夫ですか?
メインのreact-native-iap
モジュールの進捗状況について十分に追いついていない。 ただし、 @ gborges0727以降、大きな変更があったと思います。私はこれに取り組んでいました。 主に、バージョン3.0に付属する購入フローやその他の重大な変更をやり直します。
https://github.com/dooboolab/react-native-iap/pull/510
したがって、サブスクリプションのみの場合でも、現時点では、どちらのAmazon実装もメインフォークとマージする準備ができているとは思いません。 😞
ねえ、最近この問題に関する活動はなかったようです。 問題は修正されましたか、それともコミュニティの注意が必要ですか? それ以上のアクティビティが発生しない場合、この問題は解決される可能性があります。 この問題に「ディスカッション用」または「良い最初の問題」というラベルを付けることもできます。開いたままにしておきます。 貢献していただきありがとうございます。
長期間使用されなかった後、この問題を解決します。 この問題が最新リリースでも引き続き発生する場合は、最新の情報を使用して新しい問題を作成してください。
@curiousdustin Amazonストアとマスターブランチとの互換性で変更をPRできると思いますか? とても便利です
Amazonをサポートするために行った更新は、3.0での主要な変更と互換性がありません。 上記を参照。
最も参考になるコメント
誰かがこれに取り組み始めたかどうかはわかりませんが、Amazon AppstoreIAPをサポートする機能の実装を開始しました。 うまくいけば、PRはすぐに準備ができています。