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的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 获取所有设备令牌?

ios设备上的Firebase InstanceID令牌刷新延迟

Firebase React Native——如何获取和传输设备 ID/令牌?

Cordova 应用程序的 Firebase - 无法获取 APNS 令牌

反应原生android,在尝试获取firebase消息设备令牌时得到FIS_AUTH_ERROR

设备令牌未生成 iOS