9

我想在我的颤振应用程序上设置firebase inapp 消息传递。

首先,它需要在这里FirebaseInstanceId解释,所以我可以测试发送消息到我的设备。

但是该文档没有详细说明如何在 Android 上获取它,尤其是在颤振上。

任何想法 ?

注意:有人声称他可以在 Flutter 中使用inapp-messaging,请看这里

先感谢您...

4

4 回答 4

12

Firebase 实例 ID 可以使用iOS上的-instanceIDWithHandler或Android上的getInstanceId获取。

在撰写本文时,我不知道有一个独立插件可以做到这一点,这意味着您有两个选择:

如果您走 firebase_messaging 路线(请注意,这意味着您正在添加另一个依赖项),您可以执行以下操作:

final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

然后,在您的代码中的某处:

var token = await _firebaseMessaging.getToken();
print("Instance ID: $token");

更新

当您调用 get token 时,您会得到以下格式的内容:NNNNNNN:MMMMMMMMMMMMMMMMMM。仅取冒号前的第一部分 ( NNNNNNNN ) - 这是您测试应用内消息活动所需的实例 ID。

于 2019-08-07T06:27:21.113 回答
2

您可以在终端中运行它。

adb logcat | grep 'InAppMessaging'

02-26 23:47:44.835 28379 28379 I FIAM.Headless:使用安装 ID dTEmOkEwRzC_xiO8YNPXs0 启动 InAppMessaging 运行时

于 2021-02-26T18:26:50.623 回答
1

要检索FirebaseInstanceId您需要实施 Firebase 应用内消息传递 SDK 并确保您的应用连接到 Firebase。

一旦应用程序连接到 Firebase,它会FirebaseInstanceId在应用程序运行后将其添加到 Android 日志中。

在您链接的文章中,Google 解释说您可以FirebaseInstanceId通过在日志中查找字符串来找到I/FIAM.Headless: Starting InAppMessaging runtime with Instance ID <YOUR_APP_ID>

如果您使用的是 Android Studio,您应该能够使用该logcat窗口浏览设备的日志(在调试应用程序时)。该logcat窗口还允许您搜索和过滤日志,因此找到提到的字符串应该相对容易。

简而言之(在 Android Studio 中):

  1. 在您的应用中实施 Firebase 应用内消息传递 SDK;
  2. 开始调试应用程序(最好在真正的Android设备上);
  3. 调试时打开Logcat窗口;
  4. 在日志中搜索字符串I/FIAM.Headless: Starting InAppMessaging runtime with Instance ID
  5. FirebaseInstanceId 应直接列在字符串之后。
于 2019-06-26T08:43:27.090 回答
0

使用flutterfire_installations,您可以获得:

  • 安装标识:

    String id = await FirebaseAppInstallations.instance.getId(); 
    
  • 身份验证令牌:

    String token = await FirebaseAppInstallations.instance.getToken(); 
    
于 2022-01-11T07:46:19.960 回答