如何使用Xamarin.android在Firebase服务中再次检索PNS处理令牌

问题描述

我正在按照Microsoft的this文档使用azure通知中心在xamarin.forms应用程序中实现推送通知。实现工作正常,我能够在android和ios设备上接收通知。我正在测试一些用例,并在设备因向Azure通知中心注册之前,由于某种原因应用程序崩溃,因此遇到了Android中令牌检索的问题。以下是我的firebase服务代码

[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class FirebaseService : FirebaseMessagingService
{
    readonly AndroidHelper androidHelper = new AndroidHelper();
    public override void OnMessageReceived(RemoteMessage message)
    {
        base.OnMessageReceived(message);
        androidHelper.Sendlocalnotification(message.Data);
    }

    //Send pns handle for device installation with Azure Notification Hub.
    public override void OnNewToken(string token)
    {
        PushNotifications.PNSHandle = token;
        // APP CRASH OCCURS
    }
}

无论何时生成令牌,我都会将其存储在静态变量中,并在以后用于设备注册

但是由于OnNewToken()仅在安装后首次启动应用程序时运行。如果说由于某种原因,我在OnNewToken()内的注释中将令牌分配给我的静态变量后立即崩溃,然后重新启动应用程序,那么我就不会再获得该令牌。

在每次启动应用程序时,任何人都可以请您帮助再次进行令牌检索或重新生成搜索后,我在xamarin论坛上看到了this个帖子,但无法获得我想要的东西。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)