如何解决Firebase InstanceID.instanceIDtoken方法已弃用
注册令牌是通过方法传递的
messaging:didReceiveRegistrationToken:
。通常每个应用程序以FCM令牌开始一次调用此方法。调用此方法时,是执行以下操作的理想时间:
- 如果注册令牌是新的,请将其发送到您的应用程序服务器。
- 将注册令牌订阅到主题。仅对于新订阅或用户重新安装该应用程序的情况,才需要这样做。
您可以使用直接检索令牌 。该回调提供了一个 ,其中包含令牌。如果InstanceID检索以任何方式失败,则提供非null错误。
您应该导入FirebaseInstanceID
import FirebaseInstanceID
在您的getTokenMethod
[[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Error fetching remote instance ID: %@", error);
} else {
NSLog(@"Remote instance ID token: %@", result.token);
}
}];
InstanceID.instanceID().instanceID { (result, error) in
if let error = error {
print("Error fetching remote instange ID: \(error)")
} else if let result = result {
print("Remote instance ID token: \(result.token)")
}
}
解决方法
我正在使用Swift和Firebase。以前,我使用以下方法获取Firebase令牌,然后将其用于存储到数据库中以发送通知。
InstanceID.instanceID().token()
现在,由于我已更新Firebase,因此此方法显示为已弃用。
'token()' is deprecated: Use instanceIDWithHandler: instead.
我不知道如何使用instanceIDWithHandler
我尝试了以下操作,但不知道如何获取令牌。
func instanceID(handler: @escaping InstanceIDResultHandler){
}
请帮忙。先感谢您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。