簡體   English   中英

(Android)Firebase雲消息傳遞-從不在特定設備上調用ontokenrefresh

[英](Android) Firebase cloud messaging - ontokenrefresh never called on specific device

我正在兩個設備上測試fcm。

在具有API級別23的一台設備上,調用了onTokenRefresh方法。

在API級別為19的另一台設備上,從未調用過onTokenRefresh方法。

// MyFirebaseInstanceIdService類

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {

    private static final String TAG = "MyFirebaseIIDService";

    @Override
    public void onTokenRefresh() {
        // Get updated InstanceID token.
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Log.d(TAG, "Refreshed token: " + refreshedToken);

        sendRegistrationToServer(refreshedToken);
    }

//表現

<application>
...
     <service android:name=".Services.MyFirebaseInstanceIDService"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>
    </application>

//build.gradle

implementation 'com.google.firebase:firebase-messaging:11.6.0'
implementation 'com.google.firebase:firebase-core:11.6.0'

//build.gradle

classpath 'com.google.gms:google-services:3.2.0'

重新安裝應用程序無助於解決此問題。

我只是回答了一個類似的問題。

通常不希望在首次安裝時調用onTokenRefresh() 從我的鏈接答案:

onTokenRefresh()方法不一定在每次啟動應用程序或新安裝時都被調用。 它僅在某些情況下觸發(請參閱此處的答案)。

...

getToken()方法可以立即返回當前令牌 null。 如果為null,則表示FCM服務器尚未完成生成令牌或將令牌發送回客戶端的情況,在這種情況下onTokenRefresh()會觸發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM