0.3.10
アンドロイド
テストしているだけなので、必要な回数だけアイテムを再購入できるはずです。
戻り値
Error: You already own this item.
at createErrorFromErrorData (59522b9c-ca17-4e00-9e00-05cc989b1199:2016)
at 59522b9c-ca17-4e00-9e00-05cc989b1199:1968
at MessageQueue.__invokeCallback (59522b9c-ca17-4e00-9e00-05cc989b1199:2410)
at 59522b9c-ca17-4e00-9e00-05cc989b1199:2155
at MessageQueue.__guardSafe (59522b9c-ca17-4e00-9e00-05cc989b1199:2323)
at MessageQueue.invokeCallbackAndReturnFlushedQueue (59522b9c-ca17-4e00-9e00-05cc989b1199:2154)
at t (RNDebuggerWorker.js:1)
テストアカウントを使用してアイテムを複数回購入する
@ilyakarこれは消耗品ですか? あなたはそれを買い戻すためにItemを消費するべきです。 AndroidでIAPがどのように機能するかについてのガイドをお読みください。
こんにちは@dooboolab 、それは消耗品ではありません。 ユーザーは永遠にそれを持っています。 製品を復元する方法があるので、同じ製品をすでに購入しているため、同じ製品を再度購入できないことを本番環境でユーザーに知らせることをお勧めします。 しかし、テストの目的で、すべての購入が購入されるたびに異なるアカウントを使用しなければならないことは非常に不快になります。
0.2.17ではこの問題はなかったと思います
@ilyakarああ..すみません、混乱しました。 実際、 non-consumable
商品の場合、実際に再購入することはできません。 それが0.2.17
で可能だった場合、それは厄介に機能しているに違いありません。消耗品のみがそれを買い戻すことができます。 両方のプラットフォーム(iosとandroid)で同じです。 ユーザーがアイテムを復元したい場合は、オプションでそれを行う必要がありますが、 LINKのように、ユーザーに再度請求することはありません。 したがって、再購入によってユーザーに請求するアプリ内製品を設計する場合は、 consumable
製品を作成する必要があると思います。
@ilyakar友人の開発者からフィードバックがあり、彼も同じ問題に直面しました。 そのため、私が使用して解決策を考え出したrefreshItems
だけで起こることの方法android
。 これは[email protected]
使用できます。 prepare
メソッドの後に使用してみてください。 私の友人は、購入した製品のトークンを見つけることができなかったため、この問題に直面していました。 したがって、このmethod
は、 playstore
依存する購入の履歴を気にしない場合に便利です。 購入履歴を収集する独自のバックエンドがある場合、これは問題の解決に役立ちます。 私はこれをさらに見なければなりません。 また、 readme
に従うと役に立ちます。 ご報告ありがとうございます!
PS上記の方法はnon-consumable
製品でも機能すると思います。 また、この記事は、 refeshItems
があなたを解決するものを理解するのに役立ちます。
IAPがテストアカウントで機能するとは思わないので、これはすでに解決されていると思います
そして、 @ dooboolabのrefreshItems
のソリューションが進むべき道です
AndroidアプリにIAPを実装したのは1回だけですが、機能するかどうかは試したことがないため、noobの質問@dooboolabが1つあります😂
$0❓のようなお金を使わずに製品を購入できますか?
はい@ deadcoder0904 、これがAndroidテストアカウントの全体的な概念です(https://developer.android.com/google/play/billing/billing_testing.html)。 これはプラグインで問題なく動作しますが、私が指摘したように、同じ購入を2回行うことはできません。
@ilyakarあなたはそれがまだ機能していないと言っています。 製品を購入した後、 refreshItems
に電話をかけてみましたか? ここで説明されて
こんにちは@dooboolab 、私は以前の知識で@ deadcoder0904に応答していました。 私はあなたの解決策を試したことがないのではないかと思います。緊急の修正ではないので、おそらくしばらくは試しません。 でも、将来、私が持っているときにお知らせします。
@ilyakarは、ユーザーが購入したすべての製品を消費するため、 refreshItems
使用に注意してください。 獲得したサーバーがあるため、プレイストアに保存されている情報を気にしない場合にのみ使用できます。 また、この問題は、13日前にここから投稿したように発生します。ユーザーがアイテムを払い戻した場合、ユーザーは同じアイテムを24時間再購入できない場合があります。
@ilyakarと同じ問題が
async componentDidMount() {
const { itemSkus } = this.props;
try {
const result = await RNIap.initConnection()
console.log('initiated connection?', result)
const consumed = await RNIap.consumeAllItems();
console.log('consumed all items?', consumed)
let products = await RNIap.getProducts(itemSkus);
console.log('loaded products', products)
} catch (err) {
console.warn(err);
}
};
@TylerNoblettこのソリューションは現在機能していません。
consumeAllItemsAndroid
の代わりにconsumeAllItems
。コンソール出力は次のとおりです。
setUpDeveloperTools.js:73 TypeError: _reactNativeIap.default.consumeAllItems is not a function
at loadPurchases$ (NewGameScreen.js:167)
at tryCatch (runtime.js:45)
at Generator.invoke [as _invoke] (runtime.js:271)
at Generator.prototype.<computed> [as next] (runtime.js:97)
at tryCatch (runtime.js:45)
at invoke (runtime.js:135)
at runtime.js:145
at tryCallOne (core.js:37)
at core.js:123
at JSTimers.js:289
オン:
"react": "16.9.0",
"react-native": "0.61.3",
"react-native-iap": "^4.3.0",
@tulpn consumeAllItemsAndroid
は正常に機能しているはずなので、モジュールが正しくインストールされていないようです。
@hyochan私のために働いていませんでした。
@ roots-aiどのバージョンを使用していますか? また、 example
提供されているコードも参照してください。
最も参考になるコメント
@ilyakarと同じ問題が