0.3.13
iOS
問題なく製品を購入する予定です
「新しい」デバイスでproduct_Aを初めて購入すると、機能します。
2回目は同じproduct_Aを購入しようとします(アプリを再起動するかどうかは関係ありません)
動作しないでしょう。 エラーメッセージは次のとおりです。「不明または予期しないエラーが発生しました。後でもう一度やり直してください。」
1.ReadMEのようにIAPを実装します。
try {
const msg = await RNIap.prepare()
const products = await RNIap.getProducts([`${productId}`])
const purchase = await RNIap.buyProduct(productId)
this.props.purchaseCoinsPack(coinsPack)
await RNIap.consumePurchase(purchase.transactionReceipt)
} catch (err) {
alert(err.message);
}
_このコードがcomponentDidMount()とcomponentWillUnmount()にある場合に備えて:_
getPurchases = async () => {
try {
const purchases = await RNIap.getAvailablePurchases();
purchases.forEach(async purchase => {
const boughtPack = R.find(R.propEq('androidStoreId', purchase.productId))(this.props.coinsPacks)
if (boughtPack) {
this.props.purchaseCoinsPack(boughtPack);
await RNIap.consumePurchase(purchase.transactionReceipt);
}
})
} catch (err) {
console.warn(err); // standardized err.code and err.message available
} finally {
this.setState({ isLoading: false })
}
}
async componentDidMount() {
try {
await RNIap.prepare()
} catch (err) {
console.warn(err);
}
this.getPurchases()
}
async componentWillUnmount() {
RNIap.endConnection()
}
2.最初の購入は問題ありません。
後でもう一度やり直してください。」
製品は消耗品ですか、それとも非消耗品ですか?
@JJMoon消耗品。
最新のv0.3.15では、メッセージ付きのerror code
が提供されます。
では、最新リリースをもう一度試してみてください。エラーコードは何ですか。
エラーコードが-1001の場合は、Appleからの一時的なサンドボックスの問題である可能性があります。
この問題も調べます。
0.3.15にアップデートした後、この問題はiOSで解消されました。
Androidもうまく機能します。
ありがとう!
それは良かったです!
新しいリリースではログ以外は何も変更されていないため、Appleからの一時的な問題である可能性があります。
サンドボックスでテストするとき、非常に多くの問題がありました。
ほとんどの場合、AppStoreからリリースされた本番環境では発生しません。
最も参考になるコメント
最新のv0.3.15では、メッセージ付きの
error code
が提供されます。では、最新リリースをもう一度試してみてください。エラーコードは何ですか。
エラーコードが-1001の場合は、Appleからの一時的なサンドボックスの問題である可能性があります。
この問題も調べます。