Localytics Firebase Pu sh Не работают уведомления на Xamarin Forms для Android - PullRequest
0 голосов
/ 22 января 2020

Мне удалось заставить это работать в прошлом, но оно внезапно перестало работать, и я не знаю, что проверить, чтобы снова заработало. Я пытаюсь получить уведомления pu sh, работающие с помощью Firebase Cloud Messaging через Localytics. Я тестирую с использованием модуля тестирования уведомлений Localytics Rapid Pu sh. Устройство работает нормально, но когда я отправляю уведомление, на устройстве ничего не происходит.

1) Я восстановил файл google-services. json и вставил его в root моей папки.

2) Я уверен, что мой Android Манифест в порядке:

<meta-data android:name="LOCALYTICS_APP_KEY" android:value="{HIDDEN FROM STACK OVERFLOW}" />
<activity android:name="com.localytics.android.PushTrackingActivity" android:exported="true" />
<receiver android:name="com.localytics.android.ReferralReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>
<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="{HIDDEN FROM STACK OVERFLOW}" />
  </intent-filter>
</receiver>

3) Моя реализация FirebaseInstanceIdService вызывается нормально, так как я могу отладить ее:

[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);
        Localytics.PushRegistrationId = refreshedToken;
        SendRegistrationToServer(refreshedToken);
    }

    void SendRegistrationToServer(string token)
    {
        // Add custom implementation, as needed.
    }
}

4) Моя реализация FirebaseMessagingService никогда не вызывается!

[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class MyFirebaseMessagingService : FirebaseMessagingService
{
    const string _tag = "MyFirebase";
    public override void OnMessageReceived(RemoteMessage message)
    {
        Log.Debug(_tag, "Remote Message Received");
    }
}

5) В моей функции MainActivity я вызываю Localytics.RegisterPu sh (); в рамках переопределения OnCreate ().

Может кто-нибудь помочь? Заранее спасибо!

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