React-native-iap: [ioS] "معرف المنتج غير صالح"

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

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

2.1.0

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

iOS

سلوك متوقع

RNIap.buyProduct('com.app.product.id') بإرجاع كائن.

السلوك الفعلي

تعرض الشاشة "معرّف المنتج غير صالح" وتكتشف الخطأ:

{ [Error: Invalid product ID.]
  line: 2060,
  column: 26,
  sourceURL: 'http://192.168.1.65:8081/index.bundle?platform=ios&dev=true&minify=false',
  framesToPop: 1,
  code: 'E_DEVELOPER_ERROR',
  userInfo: null,
  nativeStackIOS: 
   [ '0   O2Balloons                          0x006c2c8f RCTJSErrorFromCodeMessageAndNSError + 104',
     '1   O2Balloons                          0x00669129 __41-[RCTModuleMethod processMethodSignature]_block_invoke_2.218 + 184',
     '2   O2Balloons                          0x005d5caf -[RNIapIos buyProduct:resolve:reject:] + 886',
     '3   CoreFoundation                      0x1b4c8354 <redacted> + 68',
     '4   CoreFoundation                      0x1b3ec2b9 <redacted> + 300',
     '5   CoreFoundation                      0x1b3efe87 <redacted> + 48',
     '6   O2Balloons                          0x0066ab9b -[RCTModuleMethod invokeWithBridge:module:arguments:] + 1806',
     '7   O2Balloons                          0x0070104d _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 640',
     '8   O2Balloons                          0x00700bd1 _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 176',
     '9   O2Balloons                          0x00700b1d ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 16',
     '10  libdispatch.dylib                   0x022d7467 _dispatch_call_block_and_release + 10',
     '11  libdispatch.dylib                   0x022e366f _dispatch_queue_serial_drain + 988',
     '12  libdispatch.dylib                   0x022daa39 _dispatch_queue_invoke + 872',
     '13  libdispatch.dylib                   0x022e3b31 _dispatch_queue_override_invoke + 342',
     '14  libdispatch.dylib                   0x022e576b _dispatch_root_queue_drain + 666',
     '15  libdispatch.dylib                   0x022e5471 _dispatch_worker_thread3 + 112',
     '16  libsystem_pthread.dylib             0x1ad4687d _pthread_wqthread + 1040',
     '17  libsystem_pthread.dylib             0x1ad4645c start_wqthread + 8' ],
  domain: 'RCTErrorDomain' }

بيئة اختبار (محاكي؟ جهاز حقيقي؟)

جهاز محاكاة وجهاز حقيقي.

خطوات إعادة إنتاج السلوك

لقد اتبعت كل التعليمات الواردة في التوثيق إلى T وقمت بمسح صفحات نتائج Google بالإضافة إلى المشكلات التي تم حلها ذات الصلة في هذا الريبو. قائمة التحقق الخاصة بي حتى الآن:

  1. إكمال "اتفاقيات ، وضرائب ، وأعمال مصرفية" فعالة.
  2. قم بإعداد حساب اختبار وضع الحماية في "المستخدمون والأدوار".
  3. تسجيل الدخول إلى جهاز iOS باستخدام حساب sandbox.
  4. قم بإعداد ثلاث عمليات شراء داخل التطبيق بالحالة التالية:
    أنا. جاهز للتسليم
    ثانيا. بيانات وصفية مفقودة
    ثالثا. في انتظار المراجعة
  5. تمكين "الشراء داخل التطبيق" في "قدرات" Xcode وفي Apple Developer -> إعداد "معرف التطبيق".
  6. حذف التطبيق / إعادة تشغيل الجهاز / إنهاء العمليات ذات الصلة بـ "المتجر" في ملف تعريف إدارة النشاط / ملف تعريف تطوير Xcode -> تنظيف -> إنشاء
  7. محاولة RNIap.buyProduct('com.app.product.id') لكل منتج ينتج عنه نفس الخطأ.

الشيء الوحيد الذي لم أجربه حتى الآن هو وقت التقديم السريع (اعتقدت أن النوم الليلة الماضية قد يساعد! :) لأنه لم يمر 24 ساعة كاملة منذ أن أنشأت حساب sandbox / تهيئة التطبيق داخل التطبيق المشتريات / كل شيء أعلاه بشكل أساسي. الرجاء المساعدة ، يبدو كما لو أن العديد من الأشخاص قد فاتتهم إحدى الخطوات المذكورة أعلاه قبل أن تبدأ العمل معهم ، لكنني جربتها جميعًا وما زالت لا تعمل. هل فاتني شيء؟

📱 iOS 🙏 help wanted

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

مرحباً بالجميع ، لدي نفس المشكلة. أحصل دائمًا على مصفوفة فارغة عند الاتصال بـ getProducts
hyochan @ Friendly-Robot

ال 12 كومينتر

@ ودية الروبوت تبدو جيدة. هل يمكنك تجربة 2.1.1 ؟ كان هناك بعض الأخطاء في 2.1.0 . هل اتصلت بـ getProducts قبل الشراء؟

dooboolab رائع ، لقد أدت الترقية إلى حل المشكلة حقًا. شكرا جزيلا لك! بدأت أشعر بالإحباط حقًا لأن كل شيء بدا أنه صحيح ولكنه لم يكن يعمل. انا سعيد جدا الان. عمل رائع جدا في هذه المكتبة. بالمناسبة انا احب اسمك! = د

مرحباً بالجميع ، لدي نفس المشكلة. أحصل دائمًا على مصفوفة فارغة عند الاتصال بـ getProducts
hyochan @ Friendly-Robot

أنا أيضا

نفس الشيء هنا

هل راجعت جميع الخطوات المذكورة أعلاه؟ سأقوم بنشر هذا أدناه مرة أخرى.

  1. أكمل "اتفاقيات ، وضرائب ، ومصرفية" فعالة.
  2. قم بإعداد حساب اختبار وضع الحماية في "المستخدمون والأدوار".
  3. تسجيل الدخول إلى جهاز iOS باستخدام حساب sandbox.
  4. قم بإعداد عمليات الشراء داخل التطبيق بالحالة التالية:
    أنا. جاهز للتسليم
    تمكين "الشراء داخل التطبيق" في "قدرات" Xcode وفي Apple Developer -> إعداد "معرف التطبيق". حذف التطبيق / إعادة تشغيل الجهاز / إنهاء العمليات ذات الصلة بـ "المتجر" في ملف تعريف إدارة النشاط / ملف تعريف تطوير Xcode -> تنظيف -> إنشاء

ملف تعريف توفير تطوير Xcode -> تنظيف -> إنشاء

من فضلك ماذا تعني هذه الخطوة؟ هل هو Clean Build Folder ؟

djGrill افتح

djGrill للقيام بذلك يدويًا ، يمكنك الانتقال إلى مجلد Project ios الخاص بك ضمن your_app_name_here وحذف

ماذا يعني هذا؟

وفي Apple Developer -> إعداد "معرف التطبيق".

وكيف أفعل هذا بالضبط؟

قم بإنهاء العمليات ذات الصلة بـ "المتجر" في ملف تعريف توفير مراقبة النشاط / تطوير Xcode

اضحك

وفي Apple Developer -> إعداد "معرف التطبيق".

image

  • قم بالتمرير لأسفل وتحقق من إمكانية "الشراء داخل التطبيق" (التي تم تعطيلها حاليًا في حالتي لأننا لم نكمل خطوة المعلومات الضريبية والمصرفية)

image

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