FirebaseCloudMessaging: FirebaseInstanceId фоновая синхронизация не выполнена - SERVICE_NOT_AVAILABLE

У меня есть API Firebase Cloud Messaging (FCM) для push-уведомления в Android. Когда я осуществил это время совершенной работы, но теперь он не может найти Службу игры Google.

ошибка:

FirebaseInstanceId: фоновая синхронизация не выполнена: SERVICE_NOT_AVAILABLE,

Пожалуйста, помогите мне как решить. Я использую ниже зависимость в файле gradle.

dependencies {
    compile files('libs/ksoap2-android-assembly-3.4.0-jar.jar')
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile files('libs/gson-2.2.4.jar')
    compile files('libs/activation.jar')
    compile files('libs/mail.jar')
    compile files('libs/additionnal.jar')
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.facebook.android:facebook-android-sdk:4.14.0'
    compile 'com.google.firebase:firebase-messaging:9.0.2'

    compile('com.google.android.gms:play-services:9.0.2') {
        exclude group: "play-services-wallet"
        exclude module: "play-services-wallet"
        exclude group: "play-services-ads"
        exclude module: "play-services-ads"
    }

}

Спасибо, что нашли время, чтобы прочитать это.

Ответ 1

  • Проверить подключение к Интернету
  • Убедитесь, что в инструментах Android SDK (Tools → Android → SDK manager → SDK) есть последняя версия Google Play, а если нет, установите пакет. Затем, если вы используете эмулятор, остановите эмулятор и запустите его снова. Он работает

Ответ 2

Вы можете проверить

  • Проверьте подключение к Интернету без прокси-сервера и откройте подключение к Интернету
  • Замените свой google-service.json на новый, который вы можете получить в firebaseconsol
  • Пожалуйста, проверьте, что на вашем устройстве есть сервис Google Play, и он работает или нет, firebase не работает без сервиса google play.

Проверить - Служба FireBaseInstanceId не регистрируется

Ответ 3

После долгой борьбы я нашел ответ, если служба игры google не работает, тогда FirebaseInstanceId background sync failed - SERVICE_NOT_AVAILABLE распечатать журнал, чтобы вы могли проверить, что ваша служба воспроизведения Google работает правильно или нет?

Возможно, эта информация вам поможет!

Ответ 4

служба должна быть связана с Manifest.xml

    <!-- Firebase InstanceId Service -->
    <service
        android:name="eu.acme.service.FireBaseInstanceIdService"
        android:exported="false" >
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
        </intent-filter>
    </service>

тогда можно получить доступ к одному открытому методу (другие имена запутаны = ненадежны):

package eu.acme.service;

import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;

public class FireBaseInstanceIdService extends FirebaseInstanceIdService {

    @Override
    @android.support.annotation.WorkerThread
    public void onTokenRefresh() {

        /* obtain the current InstanceId token: */
        String token = FirebaseInstanceId.getInstance().getToken();
    }
}

можно только обойти это, не провоцируя, например. не добавляя никакого AuthState Listener, зная, что активной сети нет, как объяснено здесь - как кажется, иначе нельзя поймать исключение, выброшенное из библиотеки - которое можно игнорировать, так как он просто жалуется, что есть нет подключения к сети.

com.google.android.gms.iid и com.google.firebase.iid примерно одинаковы.

Ответ 5

Мне пришлось раскрыть мою VPN - надеюсь, это поможет кому-то!

Ответ 6

Самое простое решение - удалить папки bin и obj в каталоге .Droid.
Таким образом, у вас есть чистый старт каждый раз.

Ответ 7

В моем случае я просто удалил мгновенный запуск из настроек Android Studio

Ответ 8

В моем случае - я перезагрузил свой компьютер, и он сработал.

Я не эксперт, поэтому я мог бы накрыть один из упомянутых подсказок моим подходом

Ответ 9

Подключите свой мобильный телефон к другому Wi-Fi-соединению с другим поставщиком услуг. Кажется странным, но вы можете попробовать!

Ответ 10

У меня тоже была та же проблема, разрешенная только с помощью опции "Чистый проект" при сборке. Надеюсь, это может помочь кому-то здесь.

Ответ 11

У меня была эта проблема. В моем случае работал только тогда, когда я остановил эмулятор, закрыл его и снова открыл. Я не делал никаких других изменений.

Ответ 12

В моем случае

Мне добавили файл google-services.json в корень проекта, я переместил его в папку приложения и проблема была исправлена.

MyProjectRootDir/google-services.json

move to --> 

MyProjectRootDir/app/google-services.json