可以按照FireBase官方文檔給的
獲取應用的安裝 ID
為節(jié)省能耗,F(xiàn)irebase In-App Messaging 每天僅從服務器檢索一次消息。這可能會使測試難以進行,因此 Firebase 控制臺允許您指定一部測試設備來按需顯示消息。
該測試設備由 Firebase 安裝服務提供的 Firebase 安裝 ID 確定。如需查找測試應用的安裝 ID,請使用運行時命令參數 -FIRDebugEnabled 運行該應用:
打開彈出對話框的 Arguments(參數)標簽頁。
在 Arguments Passed On Launch(啟動參數)下點擊 + Add items(+ 添加參數)。
在新創(chuàng)建的字段中輸入“-FIRDebugEnabled”。
點擊 Close(關閉),然后運行您的應用。
您的應用開始運行后,在 Xcode 控制臺的日志中查找下面一行內容:
[Firebase/InAppMessaging][I-IAM180017] Starting InAppMessaging runtime with Firebase Installation ID YOUR_INSTALLATION_ID
可是我一直沒找到控制臺輸出這段話,所以還是用代碼方式解決,上代碼
FIRApp *defaultApp = [FIRApp defaultApp];
if (defaultApp) {
FIRInstallations *installations = [FIRInstallations installations];
[installations installationIDWithCompletion:^(NSString * _Nullable identifier, NSError * _Nullable error) {
if (identifier) {
PCLog(@"Installation ID: %@", identifier);
} else {
PCLog(@"Failed to get Installation ID: %@", error);
}
}];
} else {
PCLog(@"Firebase defaultApp is not available");
}
這樣就可以獲取帶ID了
另外安裝ID其實也是應用內通知的FCM注冊令牌的前綴,如果獲取到了注冊領盤取冒號前這一部分即可
另附上 FCM注冊令牌的方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FIRApp configure];
[FRConfig shared];
[FIRMessaging messaging].delegate = self;
return YES;
}
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
PCLog(@"FCM registration token: %@", fcmToken);
}