FCM 令牌在一段时间后刷新

Posted

技术标签:

【中文标题】FCM 令牌在一段时间后刷新【英文标题】:FCM token get refreshed after some time 【发布时间】:2017-01-13 06:39:34 【问题描述】:

我使用 Xamarin 和集成的 FCM(Firebase 云消息传递)开发了一个 ios 应用程序来推送通知。它在开发阶段运行良好,但在通过试飞进行 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");
        );
    

【问题讨论】:

那么这里的问题是什么?令牌在 App 上更新后,您需要在服务器上更新令牌。 在某些情况下,最初会生成一个初始(非 APNs 映射)令牌,然后当 APNs 准备就绪时,FCM 会生成一个与 APNs 关联的新令牌,并通过令牌刷新回调返回该令牌。 @GirishM 会在几分钟(不到 10 分钟)后自动刷新。在服务器上更新令牌不是问题,我正在更新它。但问题是为什么它刷新了?它在开发人员模式下工作正常。我想解决这个问题,以便我可以解决它并减少我的服务器调用。 @ArthurThompson 继续刷新令牌。不仅是第一次,而且每隔几分钟。 【参考方案1】:

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

【讨论】:

以上是关于FCM 令牌在一段时间后刷新的主要内容,如果未能解决你的问题,请参考以下文章

处理 FCM 设备组的刷新令牌

在 spotify android sdk 中刷新令牌?

如何使用 phonegap 推送插件监控 FCM 令牌刷新

摘要身份验证令牌在一段时间后无效

刷新谷歌访问令牌时未授权_客户端

FCM 中的令牌更新