React-native-iap: RNIap.requestPurchase لا يستجيب في iOS

تم إنشاؤها على ١٣ مايو ٢٠٢٠  ·  11تعليقات  ·  مصدر: dooboolab/react-native-iap

نسخة من رد فعل - أصلية - IAP

4.4.8

نسخة من رد الفعل الأصلي

0.61.5

المنصات التي واجهت الخطأ فيها (IOS أو Android أو كليهما؟)

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>)
🚶🏻 stale

التعليق الأكثر فائدة

واجهت نفس المشكلة وعمل اقتراح @ Panda313 لإضافة await RNIap.initConnection() في componentDidMount .
سيء للغاية لم يتم توثيق هذا بشكل أفضل ...

ال 11 كومينتر

نفس الشيء هنا ، ولكن يبدو أنه يعمل على 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 وقد نجحت معي. أتلقى الآن عناصر الشراء في المستمعين في جذر التطبيق. كما أنه يتقدم أكثر في الكود بعد أن يتم حله إما عن طريق الخطأ أو في استجابة ناجحة.

مرحبًا ، يبدو أنه لم يكن هناك أي نشاط بشأن هذه المشكلة مؤخرًا. هل تم إصلاح المشكلة أم أنها لا تزال تتطلب اهتمام المجتمع؟ قد يتم إغلاق هذه المشكلة في حالة عدم حدوث أي نشاط آخر. يمكنك أيضًا تصنيف هذه المشكلة على أنها "للمناقشة" أو "مشكلة أولى جيدة" وسأتركها مفتوحة. شكرا لمساهماتكم.

إغلاق هذه القضية بعد فترة طويلة من الخمول. إذا كانت هذه المشكلة لا تزال موجودة في الإصدار الأخير ، فلا تتردد في إنشاء مشكلة جديدة بمعلومات محدثة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

jvandenaardweg picture jvandenaardweg  ·  4تعليقات

coldfins picture coldfins  ·  3تعليقات

iutin picture iutin  ·  4تعليقات

safciplak picture safciplak  ·  3تعليقات

bakedbean picture bakedbean  ·  5تعليقات