未注册令牌Android Firebase消息传递(Xamarin)
问题描述:
我想通过Firebase消息接收通知,我已经解析了我的google-services.json,并且正在检索OnCreate()方法上的令牌。我也有OnTokenRefresh()实现。未注册令牌Android Firebase消息传递(Xamarin)
当我填写通知并点击通过Firebase控制台发送时,我没有收到我的设备上的通知,我已经尝试了调试和发布选项,但没有发生任何事情。
迟于以后,由于未注册令牌,控制台将在我的通知中显示失败状态。
我该如何解决它的任何想法?
PD:我使用这为它在调试模式下工作:
private void ConfigureFireBase()
{
#if DEBUG
Task.Run(() =>
{
var instanceId = FirebaseInstanceId.Instance;
instanceId.DeleteInstanceId();
Android.Util.Log.Debug("TAG", "{0} {1}", instanceId?.Token?.ToString(), instanceId.GetToken(GetString(Resource.String.gcm_defaultSenderId), Firebase.Messaging.FirebaseMessaging.InstanceIdScope));
});
// For debug mode only - will accept the HTTPS certificate of Test/Dev server, as the HTTPS certificate is invalid /not trusted
ServicePointManager.ServerCertificateValidationCallback += (o, certificate, chain, errors) => true;
#endif
}
答
问题是,我试图让调试模式中的android 6,同时通知。我不得不开动android 5,并让应用程序在后台运行。它工作得很好。
注意:如果您将应用程序保留在前台运行,则不会显示推送通知。
由于您从未收到通知,因此您的收件人可能有问题,并且如果包名称与输入到Firebase控制台的包名称不完全匹配,则不会收到令牌,也许您应该请参阅[使用Firebase云消息传递的远程通知](https://developer.xamarin.com/guides/android/application_fundamentals/notifications/remote-notifications-with-fcm/)。 –
它很可能与接收器有关,但我做了所有文档说的(你发布的那个和我用的一样,我一定会一步一步地跟着它)。软件包名称,应用程序ID和项目ID在Visual Studio和Firebase控制台上匹配。 –
更新:我只是修复它。问题是我正在用android 6进行调试。只要我用android 5试用它,它就可以正常工作。我发现通知在调试模式下无法在android 6中运行。 –