如何從Firebase獲取設備令牌(FCM註冊令牌)?如何從Firebase獲取所有設備令牌?
我正在使用firebase及其服務器使用node.js製作移動應用程序。
我想從服務器發送push notification
消息,但我不知道如何獲取設備令牌。
如何從外部服務器獲取設備令牌?我現在正在使用Firebase管理員SDK。
設備令牌是否僅在應用程序連接到fcm服務器時生成?
當用戶第一次運行應用程序並註冊FCM服務器時,我應該將令牌保存到另一個數據庫嗎?
如何從Firebase獲取設備令牌(FCM註冊令牌)?如何從Firebase獲取所有設備令牌?
我正在使用firebase及其服務器使用node.js製作移動應用程序。
我想從服務器發送push notification
消息,但我不知道如何獲取設備令牌。
如何從外部服務器獲取設備令牌?我現在正在使用Firebase管理員SDK。
設備令牌是否僅在應用程序連接到fcm服務器時生成?
當用戶第一次運行應用程序並註冊FCM服務器時,我應該將令牌保存到另一個數據庫嗎?
1.如何從外部服務器獲取設備令牌?我現在正在使用Firebase管理員SDK。
目前沒有API從服務器端檢索您應用的所有註冊令牌。開發人員(您)有責任將註冊令牌發送並存儲到從客戶端應用程序生成的App Server中。
2.設備令牌是否僅在應用連接FCM服務器時生成?
的documentation幾乎涵蓋這個(見我的回答here):
在您的應用程序的初始啓動時,FCM SDK生成的客戶端應用程序實例的註冊標記。
它在技術上沒有連接到FCM服務器。它連接到FirebaseInstanceID服務(通過SDK),然後生成註冊令牌。
3.用戶第一次運行應用程序並註冊FCM服務器時,我應該將令牌保存到另一個數據庫嗎?
正如我在#1中提到的,您應該將它保存在可輕鬆訪問它的位置以發送消息。
當應用程序第一次連接時,會生成裝置令牌,則此令牌必須存儲在數據庫中,如果一個新的令牌被分配
public class MyAndroidFirebaseInstanceIdService extends FirebaseInstanceIdService {
private static final String TAG = "MyAndroidFCMIIDService";
@Override
public void onTokenRefresh() {
//Get hold of the registration token
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
//Log the token
Log.d(TAG, "Refreshed token: " + refreshedToken);
}
private void sendRegistrationToServer(String token) {
//Implement this method if you want to store the token on your server
}
}
更換請參見下面的Tutorial
不能使用谷歌實例標識API從APNS令牌生成fcm令牌,並使用它將推送通知發送到iOS設備而無需集成Firebase SDK?我嘗試過,但沒有SDK集成,推動不起作用。一旦SDK被集成,相同的API開始返回正確的fcm令牌,這對推送工作正常。然後,您實際上可以移除Firebase SDK,並仍然使用Firebase接收推送通知。不能firebase簡單地採取原始設備令牌,併發送推送通知使用正確的證書或身份驗證密鑰。爲什麼必須包含SDK? –
此處描述了將APNS令牌轉換爲fcm註冊令牌的API:https://developers.google.com/instance-id/reference/server#create_registration_tokens_for_apns_tokens –