未注册令牌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 
    } 
+0

由于您从未收到通知,因此您的收件人可能有问题,并且如果包名称与输入到Firebase控制台的包名称不完全匹配,则不会收到令牌,也许您应该请参阅[使用Firebase云消息传递的远程通知](https://developer.xamarin.com/guides/android/application_fundamentals/notifications/remote-notifications-with-fcm/)。 –

+0

它很可能与接收器有关,但我做了所有文档说的(你发布的那个和我用的一样,我一定会一步一步地跟着它)。软件包名称,应用程序ID和项目ID在Visual Studio和Firebase控制台上匹配。 –

+0

更新:我只是修复它。问题是我正在用android 6进行调试。只要我用android 5试用它,它就可以正常工作。我发现通知在调试模式下无法在android 6中运行。 –

问题是,我试图让调试模式中的android 6,同时通知。我不得不开动android 5,并让应用程序在后台运行。它工作得很好。

注意:如果您将应用程序保留在前台运行,则不会显示推送通知。