我正在從GCM升級到FCM。在onTokenRefresh之外獲取Firebase設備令牌的正確方法是什麼?如何訪問FirebaseInstanceIdService之外的Firebase令牌?
我試圖獲取設備令牌,以便以後可以在服務器上重新啓用它。我最初通過遵循方法1的here文檔獲取設備令牌。但是,當我嘗試通過方法2直接訪問設備令牌時,我得到了一個不同的令牌。我是否在方法2中錯誤地檢索設備標記?
方法1:FirebaseInstanceIdService.onTokenRefresh的()內
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
方法2:在設備令牌
FirebaseInstanceId instanceID = FirebaseInstanceId.getInstance();
String registrationToken = instanceID.getToken(this.projectNumber, "FCM");
明白了。如果我使用與google-services.json中指定的項目ID相同的項目ID,您是否碰巧知道爲什麼Method#2會返回不同的標記?我假設他們應該是相同的,如果他們使用相同的ID。 –
關於內部工作原理的文檔中沒有提及。我認爲會發生的是,由於'getToken(String,String)'預計僅用於註冊不同的發件人,因此它會自動處理髮件人ID(不管它是默認的/還是一個google-services。 JSON)作爲一個不同的。我希望這是有道理的。 –