Firebase 有时会为 ios 设备获取令牌 NULL
Posted
技术标签:
【中文标题】Firebase 有时会为 ios 设备获取令牌 NULL【英文标题】:Firebase sometimes get token NULL for ios devices 【发布时间】:2019-05-30 16:44:58 【问题描述】:我正在使用 Ionic 3 + Cordova 开发应用程序。在应用程序中,我已导入 Firebase 云消息库以向 android/ios 用户发送推送通知。问题是我已经在 Apple 开发人员面板上设置了认证,但有时我的应用程序上的函数“get_token()”返回的令牌仅对 IOS 用户返回 null,而且仅在某些时候返回。有时此函数返回正确的令牌,然后推送通知可以正常工作,但有时不能。
我已经尝试删除开发者苹果菜单上的所有认证。
get_token()函数在app.component.ts文件中,意思是用户打开应用时会生成token。
通过 firebase 服务器获取令牌:
try
const fcmToken = await this.fcm.getToken();
Settings.push_token = fcmToken;
导入库:
import FCM from '@ionic-native/fcm';
这个 FCM 变量被传递给构造函数内部的 fcm 变量:
public fcm: FCM
我希望问题出在获取令牌的 firebase 工具上,因为我在互联网上没有找到任何解决方案。
【问题讨论】:
【参考方案1】:我遇到了同样的问题,只有在平台准备好、fcm 已经连接时才通过调用 get_token() 来解决它:
this.platform.ready().then(() => // first, make sure platform is ready
this.fcm.getToken().then(token => // save the token in the backend
【讨论】:
以上是关于Firebase 有时会为 ios 设备获取令牌 NULL的主要内容,如果未能解决你的问题,请参考以下文章
ios设备上的Firebase InstanceID令牌刷新延迟
Firebase React Native——如何获取和传输设备 ID/令牌?
Cordova 应用程序的 Firebase - 无法获取 APNS 令牌