将 Firebase Analytics 添加到 Instant App

Adding Firebase Analytics to Instant App

我正在将我现有的应用程序转换为 Android Instant App。我已经成功地做到了。我的应用程序 运行ning 以 Instant App 形式出现。我现在面临的问题是关于 Firebase-Analytics 的。当我 运行 免安装应用出现此错误时

E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement
E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.

当我尝试使用 FirebaseAnalytics.getInstance(this); 获取 FirebaseAnalytics 实例时,即时应用程序崩溃了。我无法在 Logcat 上获得任何类型的日志。我的 "Installed" 应用程序运行良好。此外,如果有人可以指导我如何调试 Instant Apps,我将无法调试它们,甚至无法在 Logcat.

上获取日志

编辑 Link 至 Bug Report

Google 即时应用程序播放服务 2.7-release-179555567

参考Google issue tracker

您的 Google Play services for Instant Apps 版本是 1.22...

如果您更新到最新版本,它应该修复为:2.7+

  1. 卸载Google免安装应用程序的播放服务
  2. 返回设置 > Google > 即时应用程序
  3. 它会要求你恢复它 > RESTORE
  4. 现在再次尝试 运行 您的免安装应用。

如果您在尝试从 Android Studio 构建免安装应用程序时遇到此问题,您可能需要再重复一次步骤 1-4。首次配置时,它可能会为您的设备安装不正确的版本 (1.22...),但之后,它应该是正确的版本。

这解决了我的问题,但用户是否始终拥有最新的 Google Play 即时应用服务(即 2.7+)?因为我没有为 Instant Apps 加载 Google Play 服务,还是它是由 Android Studio 安装的?

答案:- 是的,应该定期向 pre-O 用户推送最新的 Google Play 即时应用服务。此外,他们始终可以执行步骤 1-3 以确保获得最新信息。

在 O+ 上,他们也不必做任何事情,因为即时应用支持从现在开始直接内置到框架中。

与 OEM 合作,Google Instant Apps 的播放服务已推送到所有被认为与 Instant Apps 兼容的设备。另一种情况是 Android Studio 在您尝试将即时应用构建到白名单设备时安装它。