android - Firebase 不会为一台设备生成令牌
问题描述
我正在开发一个使用 firebase 云消息传递的 android 应用程序。
有一台设备(Android S10 - Android 10)让我有些头疼。
原始流程:
1 - 主要活动:
FirebaseMessaging.getInstance().setAutoInitEnabled(true);
2 - 通知服务:
2.1 -onNewToken
2.2 - 将令牌保存在房间数据库中以备将来使用
3 - 当用户登录时,将令牌发送到 API
4 - API 开始为该令牌发送 PUSH NOTIFICATIONS
此流程适用于所有其他经过测试的设备(Motorola x4 - Android 8、Motorola One Zoom - Android 9、Samsung S9 - Android 10、Samsung S20 - Android 10),但由于某些原因,当 APK 为签名并编译发布。
出于调试原因,尝试更改一堆代码。改变:
FirebaseMessaging.getInstance().setAutoInitEnabled(true);
至:
FirebaseApp.initializeApp(getApplicationContext());
对任何设备都没有影响
尝试在 MainActivity' 中添加以下代码onCreate
:
FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(task -> {
if (!task.isSuccessful()) {
return;
}
//save token for future use here
});
没有影响
在调用上面的代码之前尝试删除instaceId:
FirebaseInstanceId.getInstance().deleteInstanceId();
也没有效果
我可以为该手机检索 firebase 令牌的唯一方法是FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(...);
在我的Application.onCreate()
如果它完全起作用,那将不是问题。
尝试发送从 检索到的此令牌的推送通知Application.onCreate()
,但它从未收到它。
我正在使用所有最新的库版本
试图将下面的行放在 proguard 配置中:
-keep class com.google.firebase.** { *; }
有什么建议么?
解决方案
推荐阅读
- matlab - MATLAB App Designer UIAxes Plot 完全空白
- compilation - NoClassDefFoundError:生成apk时出错
- ruby - 何时将 self 用于 Ruby 类
- algorithm - 如何平衡多个消息队列
- r - 我想用标记的椭圆和组的部分向量绘制 FactoMineR MFA
- multithreading - Python线程一次不运行2个进程
- react-native - 如何在 react-native-signature-capture 中获取保存的签名图像
- shell - Shell:如果..elif 条件无法按要求创建文件
- image - 如何将类型“UnityEngine.Texture2D”转换为“UnityEngine.Sprite”?
- javascript - JS:传递的 JSON-Array 丢失引号