Мне удалось заставить это работать в прошлом, но оно внезапно перестало работать, и я не знаю, что проверить, чтобы снова заработало. Я пытаюсь получить уведомления 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 ().
Может кто-нибудь помочь? Заранее спасибо!