我正在向开发中的Xamarin应用添加推送通知。 在按照指南进行操作后,我已完成了所有应允许其工作的工作。
主要接收者代码:
<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服务,以获取有关失败原因的更多信息?
谢谢!