一段时间后,FCM令牌会刷新

时间:2017-01-13 06:39:34

标签: ios firebase xamarin.ios firebase-cloud-messaging

我开发了一个使用Xamarin的iOS应用程序,并集成了FCM(Firebase云消息传递)用于推送通知。它在开发阶段工作正常,但在通过测试飞行进行beta测试时,FCM令牌会在一段时间后(在5-10分钟之间)自动重新生成或刷新。

void TokenRefreshNotification(object sender, NSNotificationEventArgs e)
    {
        // This method will be fired everytime a new token is generated, including the first
        // time. So if you need to retrieve the token as soon as it is available this is where that
        // should be done.
        //var refreshedToken = InstanceId.SharedInstance.Token;
        var token = InstanceId.SharedInstance.Token;
        WriteLog("Token Refresh");
        ConnectToFCM();

        // TODO: If necessary send token to application server.
    }
    public static void ConnectToFCM()
    {
        Messaging.SharedInstance.Connect(error =>
        {
            if (InstanceId.SharedInstance.Token != null)
            {
                var token = InstanceId.SharedInstance.Token;
                //                    FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: FIRInstanceIDAPNSTokenType.Unknown)

                //                    ApnsTokenType = ApnsTokenType.Unknown;
                if (!Settings.DeviceId.Equals(token))
                {
                    Settings.DeviceId = token;
                    Console.WriteLine("Token Updated");
                }
            }

            Console.WriteLine($"Token: {InstanceId.SharedInstance.Token}");
        });
    }

1 个答案:

答案 0 :(得分:1)

解决。 我的观察来自相同的API 2,安装了导致问题的不同App。当我卸载一个应用程序(这是前一个只有捆绑ID不同)现在它的工作正常。几分钟后没有令牌自动刷新。