在iOS上使用-instanceIDWithHandler,在Android上使用getInstanceId可以获取Firebase实例ID。
截至目前为止,我不知道有一个独立的插件可以完成这个功能,这意味着你有两个选择:
如果你选择使用firebase_messaging(请注意,这意味着你正在添加另一个依赖项),你可以像这样做:
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
然后,在您的代码中的某个地方:
var token = await _firebaseMessaging.getToken();
print("Instance ID: $token");
更新
当您调用获取令牌时,您将获得以下格式的内容:NNNNNNN:MMMMMMMMMMMMMMMMMM。只取冒号(:)之前的第一部分(NNNNNNNN)- 这是您需要测试In-App Messaging广告系列的实例ID。
_firebaseMessaging.getToken()
获取的instance_id
/ token
,但在Firebase控制台中出现错误:无效格式。请检查检索实例ID的文档。
有什么想法吗? - questionaskeradb logcat | grep 'InAppMessaging'
02-26 23:47:44.835 28379 28379 I FIAM.Headless: 启动 InAppMessaging 运行时,安装 ID 为 dTEmOkEwRzC_xiO8YNPXs0
FirebaseInstanceId
,您需要实施Firebase In-App消息SDK,并确保您的应用连接到Firebase。FirebaseInstanceId
添加到Android日志中。I/FIAM.Headless: Starting InAppMessaging runtime with Instance ID <YOUR_APP_ID>
来查找FirebaseInstanceId
。logcat
窗口浏览设备日志(在调试应用程序时)。 logcat
窗口还允许您搜索和过滤日志,因此应该相对容易找到所提到的字符串。Logcat
窗口;I/FIAM.Headless: Starting InAppMessaging runtime with Instance ID
的日志;adb logcat | grep 'InAppMessaging'
或使用@david-airapetyan提到的代码示例。 - Maurits van Beusekom使用 flutterfire_installations,您可以获得:
安装 ID:
String id = await FirebaseAppInstallations.instance.getId();
认证令牌:
String token = await FirebaseAppInstallations.instance.getToken();