Ionic 2 - firebase 插件 - 无法获取手机的令牌
Posted
技术标签:
【中文标题】Ionic 2 - firebase 插件 - 无法获取手机的令牌【英文标题】:Ionic 2 - firebase plugin - not able to get phone's token 【发布时间】:2019-01-12 10:38:33 【问题描述】:我正在使用这个插件:https://github.com/arnesson/cordova-plugin-firebase 我在 home.html 上有一个按钮,它调用 home.ts 中的 test() 函数
public test(): void
// wrap in the platform.ready && platform.is('cordova')
this.fcm.getToken()
.then((token: any) =>
console.log("token: ", token);
);
this.fcm.onTokenRefresh()
.subscribe((token: any) =>
console.log("token onTokenRefresh: ", token);
);
当我在主屏幕上时,一切都应该被初始化并且我应该能够从 getToken() 函数中获取令牌。但是我在我的 console.log 中得到了令牌:未定义。我没有收到任何错误,日志是干净的,即没有针对此特定插件生成错误。
更新 1:
import Firebase from '@ionic-native/firebase';
constructor(public navCtrl: NavController
, public fcm: Firebase)
更新 2: 像这样尝试: 科尔多瓦插件添加https://github.com/arnesson/cordova-plugin-firebase --variable android_VERSION=7.1.0 --save 但它仍然为空。
private void getToken(final CallbackContext callbackContext)
cordova.getThreadPool().execute(new Runnable()
public void run()
try
String token = FirebaseInstanceId.getInstance().getToken();
System.out.println("token: " + token); // null....
callbackContext.success(token);
catch (Exception e)
callbackContext.error(e.getMessage());
);
上述方法未获取令牌。所以这似乎不是科尔多瓦的问题?
【问题讨论】:
"请注意,如果尚未建立令牌,则令牌将为空。"可能是服务器端问题? 好的。这是什么意思? 没有。当我什至没有令牌时,这怎么可能是服务器端问题? 您是否设置了 Firebase 以生成令牌? Firebase 生成电话令牌不需要特殊设置吗? 【参考方案1】:我的 google-services.json 错误。我想我已经创建了一个新项目,但我一定没有用新/当前项目替换 google-services.json。
【讨论】:
以上是关于Ionic 2 - firebase 插件 - 无法获取手机的令牌的主要内容,如果未能解决你的问题,请参考以下文章
拍摄照片后,Ionic cordova 相机插件间歇性崩溃(使用 Firebase 图像上传)
Auth0 JWT 插件和 ionic2 - 无授权标头发送
向 Ionic 4 项目添加 cordova-plugin-firebase-dynamiclinks 导致无法构建