Реакция-native-fcm на Android не работает - PullRequest
0 голосов
/ 06 июня 2018

Я впервые использую реагировать-родной-fcm и в соответствии с документацией я выполнил все операции связывания и использую вкладку облачных сообщений в консоли Firebase для отправки уведомления.

После отправкиСостояние уведомлений завершено, и для IOS он работает нормально (получение уведомлений), но на Android ничего не появляется.Я использую mi устройство для тестирования, которое имеет android N Это мои build.gradle настройки.

    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "XXXXXX"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 39
        versionName "1.91"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }

Пожалуйста, помогите мне, я ищу издолго, но не смог найти решение.Заранее спасибо !!!

Редактировать после некоторых экспериментов 8/6/2018

я пробовал так много вещей, ничего тренировки, то ясоздали новый проект firebase и реагируют также на нативную.и все работает над этим (получение уведомления), затем я начинаю проверять свои старые файлы проекта и новые файлы, и после стольких экспериментов я обнаружил, что проблема связана с tools:node="replace". Я добавил это из-за react-native-facebook-login (некоторые решения в Googleкакая-то ошибка, которую я получил).

теперь, пожалуйста, помогите мне с этим кодом Android, как написать его, потому что я предполагаю, что tools:node="replace" переопределяет мой код fcm с логином Facebook в соответствии с этой ссылкой .я не могу удалить tools:node="replace" его приложение, вызывающее сбой, сразу после нажатия значка приложения.

<application
      tools:node="replace" <-- this is culprit
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <receiver android:name="com.evollu.react.fcm.FIRLocalMessagingPublisher"/>
      <receiver android:enabled="true" android:exported="true"  android:name="com.evollu.react.fcm.FIRSystemBootEventReceiver">
        <intent-filter>
          <action android:name="android.intent.action.BOOT_COMPLETED"/>
          <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
          <action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
          <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
      </receiver>
      <!-- <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/icon"/> -->
      <service android:name="com.evollu.react.fcm.MessagingService" android:enabled="true" android:exported="true">
        <intent-filter>
          <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
      </service>
      <service android:name="com.evollu.react.fcm.InstanceIdService" android:exported="false">
        <intent-filter>
          <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
        </intent-filter>
      </service>
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:screenOrientation="portrait"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustPan">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
      <activity android:screenOrientation="portrait" android:name="com.facebook.react.devsupport.DevSettingsActivity" />

      <!--add FacebookActivity-->
      <activity
        tools:replace="android:theme"
        android:screenOrientation="portrait"
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"/>

      <!--add CustomTabActivity-->
      <activity
        android:screenOrientation="portrait"
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
      </activity>

      <!--reference your fb_app_id-->
      <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/fb_app_id"/>
      <meta-data android:name="com.bugsnag.android.API_KEY"
        android:value="xxxxxxxxxxxxxx"/>
    </application>

1 Ответ

0 голосов
/ 07 июня 2018

Даже если вам нужно опубликовать весь ваш контент в android / build.gradle и даже в android / app / build.gradle, я хочу помочь вам сказать, что вы должны использовать response-native-firebase, потому что response-native-fcm будетбольше не получают новые функции.

act-native-firebase представила новые функции обмена сообщениями в Firebase и удаленные / локальные уведомления.Он имеет хорошую интеграцию с другими функциями Firebase.Я бы порекомендовал новичкам проверить это.

Обратите внимание, что некоторые расширенные функции все еще находятся в процессе

обрабатывать удаленное уведомление iOS, когда приложение не выполняет настраиваемые действия уведомления iOS.Теперь пользователи fcm response-native-firebase могут делать то же, что и response-native-fcm, поэтому создание параллельной параллельной работы - пустая трата усилий.

Поскольку в эти дни я становлюсь более занятым и начинаю испытывать трудностиЧтобы поддерживать это репо каждый день, пока в своей базе реагирования-родной-firebase работает более крупная команда / компания, существующие пользователи могут подумать о переходе на базу-реактив-родной.

Я создал пример проекта с использованием реагирующей нативной базы.-firebase в качестве ссылки на миграцию

Reaction-native-fcm по-прежнему будет принимать PR и исправлять ошибки, но, возможно, больше не будет развивать новые функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...