4.4.8
0.61.5
iOS
await RNIap.requestPurchase(sku, false)
console.log('REQUEST OVER')
اطلب أكثر من ذلك ليتم طباعتها.
في الجهاز الذي أستخدم فيه حساب اختبار وضع الحماية ، فإنه يستجيب ويعمل بشكل جيد. ولكن مع أي أجهزة أو جهاز محاكاة آخر لا يستجيب أو يحل. هذا أمر حيوي لأنه أثناء مراجعة التطبيق ، استمرت Apple في رفض طلبي بسبب عدم استجابة BUY.
لا توجد مشكلة بخصوص RNIap.getProducts(itemSkus)
جهاز حقيقي ومحاكي
async componentDidMount() {
RNIap.getProducts(itemSkus)
.then((products) => {
this.setState({ products: products })
})
.catch((error) => {
console.log(error.message)
})
}
requestPurchase = async (sku) => {
try {
await RNIap.requestPurchase(sku, false)
console.log('REQUESTED OVER')
} catch (err) {
console.warn(err.code, err.message)
}
}
render() {
const { products } = this.state
return (
<View>
{products.map((p, i) => { return (
<TouchableWithoutFeedback onPress={() => this.requestPurchase(p.productId)}>
<Text> BUY </Text>
</TouchableWithoutFeedback> ) })}
</View>)
نفس الشيء هنا ، ولكن يبدو أنه يعمل على Android.
قد أصلحه عن طريق الإضافة
نتيجة const = انتظار RNIap.initConnection () ؛
في انتظار RNIap.consumeAllItemsAndroid () ؛
console.log ("نتيجة" ، نتيجة) ؛
في بداية العنصر componentDidMount ؛
اسمحوا لي أن أعرف إذا كان هذا يساعد
hyochan هل وجدت حلاً لهذا؟ أنا أيضًا أواجه نفس المشكلة في iOS. إنه أمر محبط للغاية ، ولا يمكنني الحصول على مراجعة التطبيق السابقة لأن استدعاء RNIap.requestPurchase لا يستجيب للتنبيه سواء للترويج للمستخدم للموافقة على شروط الاشتراك أو تأكيد أن الاشتراك نشط بالفعل. إذا فرضت إغلاق التطبيق وحاول مرة أخرى ، فإنه يعمل في بعض الأحيان. لا أعرف ما إذا كانت هناك مشكلة في وضع الحماية أو هذه المكتبة.
smarttouchtechnology هل اتصلت بـ initConnection
؟ هذا مطلوب من 4.4.5
.
قد يكون من الصعب على smarttouchtechnology قراءة الإجابة أدناه التي "تحل" المشكلة "؛)
واجهت نفس المشكلة وعمل اقتراح @ Panda313 لإضافة await RNIap.initConnection()
في componentDidMount
.
سيء للغاية لم يتم توثيق هذا بشكل أفضل ...
@ Panda313 ... لقد أنقذتني للتو ليلة بلا نوم لمدة أسبوع من رفض التفاح
هل يمكن لشخص ما إضافة هذا إلى الوثائق حتى لا يواجه المزيد من الأشخاص هذه المشكلة؟ لست متأكدًا من أفضل طريقة لإضافته.
تحرير: أضيف هنا. # 1088.
لا تتردد في المراجعة (لست واثقًا من أنني فعلت ذلك بشكل صحيح.)
قد أصلحه عن طريق الإضافة
نتيجة const = انتظار RNIap.initConnection () ؛
في انتظار RNIap.consumeAllItemsAndroid () ؛
console.log ("نتيجة" ، نتيجة) ؛في بداية العنصر componentDidMount ؛
اسمحوا لي أن أعرف إذا كان هذا يساعد
بالنسبة لنظام iOS ، لم يكن لدي أي رد من requestSubscription
. حاولت إضافة await RNIap.initConnection();
أمام RNIap.requestSubscription
وقد نجحت معي. أتلقى الآن عناصر الشراء في المستمعين في جذر التطبيق. كما أنه يتقدم أكثر في الكود بعد أن يتم حله إما عن طريق الخطأ أو في استجابة ناجحة.
مرحبًا ، يبدو أنه لم يكن هناك أي نشاط بشأن هذه المشكلة مؤخرًا. هل تم إصلاح المشكلة أم أنها لا تزال تتطلب اهتمام المجتمع؟ قد يتم إغلاق هذه المشكلة في حالة عدم حدوث أي نشاط آخر. يمكنك أيضًا تصنيف هذه المشكلة على أنها "للمناقشة" أو "مشكلة أولى جيدة" وسأتركها مفتوحة. شكرا لمساهماتكم.
إغلاق هذه القضية بعد فترة طويلة من الخمول. إذا كانت هذه المشكلة لا تزال موجودة في الإصدار الأخير ، فلا تتردد في إنشاء مشكلة جديدة بمعلومات محدثة.
التعليق الأكثر فائدة
واجهت نفس المشكلة وعمل اقتراح @ Panda313 لإضافة
await RNIap.initConnection()
فيcomponentDidMount
.سيء للغاية لم يتم توثيق هذا بشكل أفضل ...