0

我过去设法让它工作,但它突然停止工作,我不知道要检查什么才能让它再次工作。我正在尝试通过 Localytics 使用 Firebase 云消息传递推送通知。我正在使用 Localytics 快速推送通知测试模块进行测试。设备配对正常,但是当我发送通知时,设备上没有任何反应。

1) 我重新生成了我的 google-services.json 文件并粘贴到我的文件夹的根目录中。

2)我很确定我的 Android Manifest 没问题:

<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.RegisterPush(); 在 OnCreate() 覆盖内。

有人可以帮忙吗?提前致谢!

4

0 回答 0