React-native-iap: getProducts ترجع دائمًا فارغة

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

dooboolab أتلقى مصفوفة فارغة بعد استدعاء طريقة getProducts بعد طريقة التحضير.

📱 iOS 🙏 help wanted 🤖 android

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

axelkennedal كونك عدوانيًا سلبيًا مع الأشخاص الذين يقضون وقتهم الثمين طواعية في محاولة مساعدتك لن يساعدك كثيرًا.

JJMoondooboolab شكرا على العمل العظيم

ال 34 كومينتر

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

هذا هو الكود الخاص بي ..

componentDidMount () {غير متزامن
محاولة {
انتظار RNIap.prepare () ؛
منتجات const = انتظار RNIap.getProducts (itemSkus) ؛
console.log ("المنتجات" ، المنتجات) ؛
}
قبض (يخطئ) {
console.warn (err.code، err.message) ؛
}
this.fetchData () ؛

}

حالة تطبيقي في وضع ألفا. استخدام جهاز nexus 6 لتصحيح الأخطاء.

@ companytest1206 يبدو الرمز الخاص بك جيدًا. ماذا عن تكوين المنتج الخاص بك في playstore أو itunesconnect ؟ يرجى اتباع الملف التمهيدي والتحقق من كل ما نشرته هنا .

لدي نفس المشكلة.

لدي نفس المشكلة ولكني أحصل على مصفوفة فارغة (ليست مصفوفة فارغة ، مهما كان المقصود بذلك). لقد نشرت عنها هنا .

sanilcgssystemride هل يمكن أن يرجى حصة منصات كنت تواجه مشكلة مع استخدام getProducts طريقة؟

أواجه مشكلة مع هذا على Android 7.0 (يعمل على LG G6) ، وأنا أطور على MacOS

أنشأت تطبيقي باستخدام حزمة create-reaction-native-app . لدمج الشراء داخل التطبيق ، قمت بفصل تطبيقي. بعد ذلك ، قمت بدمج رد الفعل الأصلي في تطبيقي. بالنسبة لي ، حدثت المشكلة في كل من iOS و android. أنا أستخدم Android Studio 3.0.1 و Xcode 9.3. تضمين التغريدة

وفقًا لهذا README الخاص بمكتبة أخرى ، يجب أن يكون من الممكن الحصول على المنتجات المتاحة عند التشغيل في بيئة تصحيح الأخطاء (وليس إصدار Alpha / Beta) ، فهل هذا صحيح؟ (أعتقد أنه يجب أن يكون هو نفسه بالنسبة لهذه المكتبة لأن ذلك ربما يعتمد على كيفية تعامل Google مع IAP).

سؤال آخر ذي صلة ؛ هل يجب أن تكون وحدات SKU مسبوقة باسم الحزمة؟ بعبارة أخرى؛ هل "unlock_premium" أو "com.kimer.unlock_premium" صحيح في الكود الخاص بي عندما يكون المعرف الذي حددته في Google Play Console هو "unlock_premium" ؟

axelkennedal لا يحتوي SKUS على أي تنسيق ، فهو قابل للتخصيص تمامًا. بكلمات قليلة: "unlock_premium" أو "com.kimer.unlock_premium" صحيحان.

أتفهم أنه يمكنك تسمية معرّف منتج كيفما تشاء ، ولكن ما سألت عنه هو ما الذي يجب إدخاله في الكود الخاص بي إذا اخترت المعرف "unlock_premium" في Google Play Console (وليس ما إذا كان "مسموحًا" لي ببدء كل منهما في Google Play Console وفي الرمز الخاص بي). أنت تقول أن اختيار المعرف "unlock_premium" في Google Play Console يجب أن يعمل مع كل من "unlock_premium" و "com.kimer.unlock_premium" ، أليس كذلك؟ أعتقد أن هذا يحتاج إلى ذكره في مكان ما في README ، لأنه محير.

تحديث

انها تعمل الآن بالنسبة لي 😄! لقد جربت شيئين ولكني لست متأكدًا مما كان المفتاح لجعله يعمل هذا على أي حال ما فعلته:

  1. أعاد تثبيت الحزمة
  2. تم تغيير بيان الاستيراد الخاص بي من import InAppPurchase from "react-native-iap;" to "import * as InAppPurchase from 'react-native-iap';"
  3. تم تغيير SKU الخاص بي في الكود من "com.kimer.unlock_premium" إلى "unlock_premium"

axelkennedal يجب أن تستخدم أي اسم ، ولكن يجب أن تستخدمه على Google Play Console> التطبيق الخاص بك> متجر Google Play> في منتجات التطبيق. والاسم نفسه الذي يجب استخدامه في كود المصدر.

dooboolab عندما أحاول تنفيذ RNIap.buyProduct (' * ') باستخدام معرف المنتج الخاص بي ، تلقيت رسالة الخطأ هذا العنصر غير متوفر . في الواقع المنتج الذي أديره في حالة نشطة. ماذا ستكون المشكلة؟ يمكنني سرد ​​تفاصيل المنتج باستخدام RNIap.getProducts (itemSkus). هل أحتاج إلى إضافة مفتاح الترخيص إلى تطبيقي ؟؟

sanilcgs هل يمكن أن تخبرني ما هي المنصة التي تواجه خطأ؟

dooboolab @ أواجه المشكلة في نظام android الأساسي وأقوم بالتطوير على MacOS High Sierra (10.13.4)

sanilcgs هل تستخدم الوحدة الأحدث لدينا وهي "0.3.23"؟ يمكن أيضًا العثور على مشكلة مماثلة هنا. https://github.com/dooboolab/react-native-iap/issues/142

dooboolab نعم أستخدم "0.3.23". مشكلتي الآن مع RNIap.buyProduct (' * ') .

sanilcgs لقد نشرت بعض معلومات المساعدة لذلك في العدد أعلاه. سوف ألصق هنا مرة أخرى. يرجى مراجعة أدناه.

         Do's

1) إنشاء تسجيل apk للتطبيق الخاص بك.
2) قم بتحميل ملف apk الخاص بك على متجر Google play.
3) قم بإنشاء منتج لتطبيقك.
4) انتظر لمدة 6-12 ساعة لتحديث العنصر في المتجر.
5) امنح أذونات إعداد الفواتير في Manifest.xml

           Don't

1) لا تستخدم المحاكي لاختبار أنه لا يدعم خدمات الفواتير.
2) لا تستخدم apk غير موقع لخدمات الفوترة.

اقرأ المزيد: http://www.androidhub4you.com/2013/03/how-to-inegrate-in-app-purchase-billing.html#ixzz5DqRctVJp

dooboolab كما قلت سابقًا ، لم يتم إصدار تطبيقي للإنتاج. الآن قمت بإصدار نسخة ألفا الخاصة بي فقط. فهل يمكنني اختبار RNIap.buyProduct (' * * ') ** مع إصدار ألفا الخاص بي أم أحتاج إلى إصدار إنتاجي لاختبار الشراء ؟؟؟

sanilcgs إذا قرأت أعلاه جيدًا ، يجب أن تدرك أنك لست بحاجة إلى إصدار apk للإنتاج. ما عليك سوى استخدام الإصدار ألفا أو الإصدار التجريبي ولكن يجب توقيع ملف apk كما هو موضح. تحقق أعلاه مرة أخرى وشاهد ما فاتك أولاً.

dooboolab ما يجب فعله وما لا يجب فعله أعلاه مفيد. بالنسبة إلى noobs ، سيكون هذا مفيدًا حقًا في التوضيح في الوثائق أنه لا يمكنك اختبار هذا إلا على إصدار ألفا / بيتا وإذا اختبرت هذا في إنشاء مطور على المحاكي ، فستعيد دائمًا مصفوفة فارغة. لا أرى أي ذكر لذلك في أي مكان. يسعدني إضافة هذا في طلب السحب إذا كنت ترغب في ذلك؟

systemride هو موضع تقدير أي

axelkennedal فعل كل هذه الأشياء ، ما زلت أحصل على مصفوفة فارغة على iOS. أيه أفكار؟
راجع للشغل ... ما زلت أختبر على جهاز محاكاة. هل من الضروري اختباره على جهاز iOS الفعلي؟

axelkennedal getProducts() في iOS يعمل بشكل جيد على المحاكاة. يجب اختبار إجراءات الشراء على الجهاز الحقيقي باستخدام حساب sandbox apple.
ربما لم تكن قد انتهيت من إعدادات منتج App Store بشكل مثالي.

JJMoon إذا قرأت تعليقاتي كنت

axelkennedal كونك عدوانيًا سلبيًا مع الأشخاص الذين يقضون وقتهم الثمين طواعية في محاولة مساعدتك لن يساعدك كثيرًا.

JJMoondooboolab شكرا على العمل العظيم

raduflp لول ما الذي تتحدث عنه؟ أشرت للتو إلى أننا على منصات مختلفة

raduflp أشكركم على axelkennedal يعني أن يكون عدوانيًا. إنه فقط مرهق جدًا باستخدام react-native-iap . أشعر أنه يمكن إغلاق هذه المشكلة لذا سأغلقها. أيضًا ، فإن أي PR هو موضع تقدير قد يساعد الأجيال الجديدة.

جربها. يعمل لدي:

"تحتاج أيضًا إلى إضافة حساب الاختبار الخاص بك إلى قائمة خاصة أخرى من الحسابات" حسابات Gmail مع إمكانية الوصول التجريبي "، يمكنك العثور على ذلك في إعداد حساب التشغيل (وليس المشروع!). في الصفحة حيث يمكنك رؤية قائمة بمشروعاتك ، انتقل إلى الإعدادات ، ثم في صفحة "تفاصيل الحساب" (قم بالتمرير لأسفل ، ستجدها تقريبًا في أسفل الصفحة) ستجد قائمة "حسابات Gmail ذات الوصول التجريبي". "

قم بإعداد ترخيص التطبيق
لإعداد ترخيص التطبيق ، ابدأ بإضافة قائمة عناوين Gmail الخاصة بالمختبرين في Play Console.

انتقل إلى Play Console.
حدد الإعدادات> تفاصيل الحساب.
ضمن "اختبار الترخيص" ، أضف عناوين Gmail الخاصة بالمختبرين.
في الجزء العلوي من الشاشة ، حدد حفظ.

لقد قمت بدمج رد فعل - أصلية - iap وقمت بتحميل ملف apk الموقع الخاص بي لإصدار بيتا في متجر play وأضفت أيضًا خطة اشتراك واحدة. أحاول الحصول على قائمة الاشتراك عن طريق معرف الاشتراك في وضع التصحيح الذي يعرض دائمًا مجموعة فارغة. هل يمكنني بالفعل اختبار الاشتراك في وضع التصحيح؟

ShridharCodewave هل تستخدم جهازًا حقيقيًا أو جهاز محاكاة؟

NarekChang أستخدم جهازًا حقيقيًا والآن أحصل على الاشتراكات بطريقة ما.

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