Firebase OnTokenRefresh() 从未调用过?
Posted
技术标签:
【中文标题】Firebase OnTokenRefresh() 从未调用过?【英文标题】:Firebase OnTokenRefresh() never called? 【发布时间】:2017-08-09 14:52:04 【问题描述】:我在使用 Firebase 云消息传递时遇到问题。在我的 android 应用程序中未调用消息 onTokenRefresh。它以前工作过一段时间,但现在我没有得到新的令牌。
我的代码:
public class FirebaseIDService extends FirebaseInstanceIdService
@Override
public void onTokenRefresh()
Log.e("Token refresh","Method called");
我通过String fcm_token = FirebaseInstanceId.getInstance().getToken();
发起方法调用
String 为空,可能是因为 FCM 异步工作。
我的清单:
<service
android:name=".FirebaseIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
你知道哪里出了问题吗?我之前也试过FirebaseInstanceId.getInstance().deleteInstanceId();
。它会导致超时。
【问题讨论】:
您的依赖项是最新的吗? com.google.firebase:firebase-core:11.0.4 com.google.firebase:firebase-messaging:11.0.4 请添加为答案。这就是解决方案。我使用了 firebase 11.0.1,但没有用。 那么,更改 firebase 版本是否有效? 是的,但我不明白为什么。如果旧版本仍然无法使用,那么 Google 的开发就很糟糕。 很高兴您有答案。我只是想知道这是否真的有效,因为 firebase 已经发布了很长时间。并且 refreshToken 在第一天就起作用了…… 【参考方案1】:将您的依赖项更新为 com.google.firebase:firebase-core:11.0.4 com.google.firebase:firebase-messaging:11.0.4。
【讨论】:
以上是关于Firebase OnTokenRefresh() 从未调用过?的主要内容,如果未能解决你的问题,请参考以下文章
使用firebase推送通知中的onTokenRefresh与getToken有啥区别?
Firebase onTokenRefresh() 未被调用
FCM - onTokenRefresh() 永远不会被调用