可以按照FireBase官方文档给的
获取应用的安装 ID
为节省能耗,Firebase In-App Messaging 每天仅从服务器检索一次消息。这可能会使测试难以进行,因此 Firebase 控制台允许您指定一部测试设备来按需显示消息。
该测试设备由 Firebase 安装服务提供的 Firebase 安装 ID 确定。如需查找测试应用的安装 ID,请使用运行时命令参数 -FIRDebugEnabled 运行该应用:
打开弹出对话框的 Arguments(参数)标签页。
在 Arguments Passed On Launch(启动参数)下点击 + Add items(+ 添加参数)。
在新创建的字段中输入“-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);
}
网友评论