React-native-onesignal: (3.2.3) تعطل تطبيق Android مع Java.lang.IllegalStateException: لم يتم تهيئة تطبيق FirebaseApp الافتراضي في هذه العملية com. {appname}. تأكد من استدعاء FirebaseApp.initializeApp (السياق) أولاً عند استدعاء `` init () `

تم إنشاؤها على ١٩ مايو ٢٠١٨  ·  14تعليقات  ·  مصدر: OneSignal/react-native-onesignal

وصف:

عند الاتصال بـ OneSignal.init() في Android ، يتعطل التطبيق مع ظهور الخطأ Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.reactnativeprototype. Make sure to call FirebaseApp.initializeApp(Context) first

عند عدم استدعاء init وتهيئة الطريقة القديمة في build.gradle إطلاق الحدث ids مطلقًا.

بيئة
SDK: v3.2.3

خطوات إعادة إنتاج المشكلة:

  1. استخدم OneSignal.init() في Android. التطبيق سوف يتعطل على الفور

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

في الوقت الحالي ، إنه يعمل بالنسبة لي:

لقد قمت بتحديث build.gradle لاستخدام إصدار أحدث (3.0.1) مثل: ... / أمثلة / RNOneSignal / android / build.gradle

وقم أيضًا بتحديث gradle-wrapper.properties الخاص بي لـ gradle-4.1 كما في: ... / أمثلة / RNOneSignal / android / gradle / wrapper / gradle-wrapper.properties

بعد ذلك بدأت تظهر لي بعض الأخطاء ، ثم قمت بتغيير app/build.gradle :

...
dependencies {
    ...
    compile (project(':react-native-onesignal')){
        exclude group: "com.google.android.gms"
    }
    compile ("com.google.android.gms:play-services-base:12.0.1") {
        force = true;
    }
}
...

ال 14 كومينتر

املا في حل ايضا .. 😔

المشكلة نفسها

@ bighitbiker3 إذا قمت بتهيئة الطريقة القديمة - باستخدام build.gradle ، يمكنك استدعاء OneSignal.configure() في JS لتنشيط الحدث ids .

فيما يتعلق بمشكلة FCM بالتحديد ، سنحقق في الأمر ، شكرًا على الإبلاغ

حتى استدعاء التهيئة مع التهيئة القديمة لا يطلق حدث المعرف بالنسبة لي

مرسل من الايفون الخاص بي

في 19 أيار (مايو) 2018 ، الساعة 11:28 ، كتب Brad Hesse [email protected] :

@ bighitbiker3 إذا قمت بتهيئة الطريقة القديمة - باستخدام build.gradle ، يمكنك استدعاء OneSignal.configure () في JS لتنشيط حدث المعرفات.

فيما يتعلق بمشكلة FCM بالتحديد ، سنحقق في الأمر ، شكرًا على الإبلاغ

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بكتم صوت الموضوع.

@ bighitbiker3 نفس الشيء بالنسبة لي. لقد جربت العديد من الأشياء واضطررت إلى الرجوع إلى الإصدار 3.1.4 لجعله يعمل مرة أخرى مع React Navigation (RN 0.55.4).

@ Nightsd01 الخطأ الذي أحصل عليه عند محاولة تشغيل OneSignal.configure() للحصول على المعرفات هو You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue. . يأتي هذا من Android SDK هنا .

لقد حاولت وضعه في مهلة للتأكد من تشغيل رمز بدء Android قبل أن أتصل بأي شيء ولكني ما زلت أحصل على الخطأ أعلاه.

أواجه صعوبة في تصحيح الأخطاء من هناك لأنني مبتدئ جدًا عندما يتعلق الأمر باستيراد المكتبات الخارجية في Android و RN 😅.

@ bighitbiker3 يرجى محاولة التحديث إلى 3.2.4 من SDK

أنا في الإصدار 3.2.4 وأتلقى نفس رسالة الخطأ بالضبط عندما أتصل بـ OneSignal.init()

أنا أستخدم 3.2.4 وأواجه نفس الخطأ مع Onesignal.init()

في الوقت الحالي ، إنه يعمل بالنسبة لي:

لقد قمت بتحديث build.gradle لاستخدام إصدار أحدث (3.0.1) مثل: ... / أمثلة / RNOneSignal / android / build.gradle

وقم أيضًا بتحديث gradle-wrapper.properties الخاص بي لـ gradle-4.1 كما في: ... / أمثلة / RNOneSignal / android / gradle / wrapper / gradle-wrapper.properties

بعد ذلك بدأت تظهر لي بعض الأخطاء ، ثم قمت بتغيير app/build.gradle :

...
dependencies {
    ...
    compile (project(':react-native-onesignal')){
        exclude group: "com.google.android.gms"
    }
    compile ("com.google.android.gms:play-services-base:12.0.1") {
        force = true;
    }
}
...

ramonsenadev التي عملت ، شكرا!

لأي شخص لا يزال يواجه مشكلة في هذا الأمر ، لاحظ أنه تم تحديث تعليمات إعداد React Native مؤخرًا. هذا القسم الجديد على وجه الخصوص هو ما جعل كل شيء يعمل بالنسبة لي في 3.2.4. لا يزال لديّ compileSdkVersion و buildToolsVersion تم ضبطهما على الإعدادات الافتراضية لـ React Native.

ramonsenadev شكرا جزيلا. نجح الحل الخاص بك.
بضع خطوات أخرى قمت بها بعد الانتقال إلى الإصدار 3.2.4 من oneignal هي:
الإصدار 26
buildToolsVersion "26.0.1"
الإصدار 26

تأكد أيضًا من تحديث إصدار مكتبة دعم android
ترجمة "com.android. support: appcompat-v7 : 26.0.1"

اضطررت أيضًا إلى إضافة ما يلي في الجزء السفلي من app / build.gradle

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.1'
            }
        }
    }
}

شكرا لفريق OneSignal! يبدو أنه ثابت في 3.2.4. يرجى مراجعة الرابط الموجود في تعليق @ jsouza181 . عملت بشكل رائع بالنسبة لي

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