我的应用程序使用FCM通知,但FCM注册非常不可靠,因为它很多次失败。这种情况只发生在少数设备上(例如诺基亚6和Android 7.1.1),但同样,这种情况并非总是如此。当服务器尝试推送通知时,它会显示“未注册”。
代码 -
public class XCFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
// If you want to send messages to this application instance or
// manage this apps subscriptions on the server side, send the
// Instance ID token to your app server.
sendRegistrationToServer(refreshedToken);//custom call to server to register token
}
FirebaseInstanceId.getInstance()。getToken() - 此行在logcat上给出以下错误 -
D/FirebaseInstanceId: background sync failed: TIMEOUT, retry in 40s
请注意,错误是 TIMEOUT ,而不是大多数报告的其他类型的其他FCM错误。
清单 -
<service
android:name="com.xxxxx.fcm.XCFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>