Xamarin.Android Firebase.Messaging - D / FirebaseInstanceId (13164): сбой фоновой синхронизации: INVALID_SENDER - PullRequest
0 голосов
/ 19 сентября 2018

Я добавляю push-уведомления в приложение Xamarin в разработке.Следуя инструкциям, я сделал все, что должно позволить ему работать.

  • google-services.json, загруженный из firebase, добавленный в проект и сборку действий для сервисов GoogleServicesJson
  • playдоступно в качестве подтвержденного в проверочном узле
  • , добавленном к AndroidManifest.xml
  • Реализован FirebaseIIDService
  • Создан канал уведомлений

код получателя основного события:

<application android:label="RMS Metro Calendar">
    <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
    <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="${applicationId}" />
        </intent-filter>
    </receiver>
</application>

Код FirebaseIID (я не реализую управление регистрацией на стороне сервера):

[Service]
[IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
public class MyFirebaseIIDService : FirebaseInstanceIdService
{
    const string TAG = "MyFirebaseIIDService";
    public override void OnTokenRefresh()
    {
        var refreshedToken = FirebaseInstanceId.Instance.Token;
        Log.Debug(TAG, "Refreshed token: " + refreshedToken);
        SendRegistrationToServer(refreshedToken);
    }
    void SendRegistrationToServer(string token)
    {
        // Add custom implementation, as needed.
    }
}

Приложение прекрасно собирается и разворачивается, я могу успешно выйти из служб Playдоступно и в журнале я получаю: Инициализация FirebaseApp успешна

Однако он не генерирует экземпляр Firebase и Instance.Token никогда не принимается.Все, что я получаю, это следующее сообщение журнала:

09-19 13: 48: 31.576 D / FirebaseInstanceId (18578): сбой фоновой синхронизации: INVALID_SENDER, повторите попытку через 10 с

из которого продолжает повторяться попытка в постоянно растущих масштабах времени.

Я уверен, что должно быть что-то, что я где-то неправильно настроил в отношении реализации службы приемника / IID, но для жизни я не могуразберись.

Кто-нибудь еще сталкивался с этим?Есть ли способ проверить сервис FCM для моей конфигурации, чтобы получить дополнительную информацию о причинах его сбоя?

Спасибо!

...