我开发了一个使用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}");
});
}
答案 0 :(得分:1)
解决。 我的观察来自相同的API 2,安装了导致问题的不同App。当我卸载一个应用程序(这是前一个只有捆绑ID不同)现在它的工作正常。几分钟后没有令牌自动刷新。