20

背景

Google 允许执行应用邀请并跟踪它们对您的应用安装的改进程度:

https://www.youtube.com/watch?v=UfdCNYXMC9M

问题

我做了一个简单的应用邀请,似乎人们确实使用它,使用以下代码:

public static Intent getAppInviteIntent(Context context) {
    return new AppInviteInvitation.IntentBuilder(title,appName).setCustomImage(imageUri).setMessage(message).setCallToActionText(download).build();
}


startActivityForResult(getAppInviteIntent(this), GOOGLE_APP_INVITES_REQUEST_CODE);

这可行,但在分析网页中,我找不到显示应用邀请统计信息的方法,即使他们说它是自动的(这里)。可悲的是,即使我发现的东西似乎也很旧,而且它们使用了已弃用的功能。

我试过的

我认为这可能不是完全自动的(因为本教程也有一些额外的接收器部分代码,here),并且我们可能需要添加一些代码,正如这个文档所说:

当用户接受邀请并安装应用程序时,getInvitation(GoogleApiClient, Activity, boolean) 会将邀请状态更新为已安装,并在使用 getInvitationIntent() 从 AppInviteInvitationResult 访问的意图中返回邀请数据

查看 Google 的示例(此处),我注意到他们创建了 2 个活动。一个是主要活动,它确实调用了“getInvitation”,另一个被称为“DeepLinkActivity”,并处理深度链接(可能用于额外数据,如优惠券)。

我还发现了一些关于跟踪的 stackOverflow 问题(如这里),但我所看到的只是人们还没有成功跟踪。

问题

  1. 如视频所示,跟踪邀请所需的最少代码是多少以及它们的工作情况如何?分析页面本身应该配置什么?我目前不使用深度链接,所以我不想使用它。

  2. Google 似乎将 app-invites 功能移至“firebase”gradle 存储库。它是必须的吗?有什么优势?我们目前使用以前的那些(“com.google.android.gms:play-services-appinvite:...”)。FireBase 的仪表板似乎没有像 Google Analytics 那样包含那么多的分析 UI。更不用说应用程序邀请了。

  3. 如果#1 的答案是我需要使用“getInvitationIntent”,它是否必须在应用程序的主要活动中?它是否必须在一个活动中(也许是broadcastReceiver?)?

  4. 似乎也可以邀请到 IOS(如此此处所示,使用“setOtherPlatformsTargetApplication”)。这个对吗?它是如何工作的?当IOS用户点击链接时会发生什么?应该将什么放入“clientId”的参数中,我从哪里得到它?

  5. G+ 有应用邀请吗?如果是这样,它是否也具有分析功能?

4

2 回答 2

5

好问题。我会尽力回答一切。请询问您是否需要澄清。

分析跟踪需要一个跟踪 ID,您需要使用 setGoogleAnalyticsTrackingId(String trackingId) 设置,我在您的示例中没有看到。然后将此跟踪 ID 传递给为您记录分析跟踪事件的下游事件:

  • 发送邀请时(电子邮件和短信)。
  • 当受邀用户通过单击邀请链接或按钮接受邀请时。
  • 当开发者调用 getInvitation()
  • 当开发者调用 convertInvitation()

因此,要回答您的具体问题,请执行以下操作:

  1. 只需如上所述将您的跟踪 ID 添加到构建器,所有跟踪事件都会被报告。不需要深层链接,邀请时是可选的。
  2. 是的,appinvites api 被复制到 firebase,同时保留原始。现在它们完全一样。未来的改进将在 firebase 中,所以当你有时间的时候迁移。
  3. 在 getInvitation() 回调中返回的结果上调用 getInvitationIntent(),因此回调应该在活动中。此外,由于您只会在启动后立即收到邀请,因此您实际上只需要签入主要活动以及将从深层链接上触发的意图过滤器启动的任何活动。听起来您不使用深层链接,所以只使用主要活动。通常,您应该从可能直接从邀请启动的所有活动中调用 getInvitation(),这是您确定您的应用程序是否从邀请启动的方式。
  4. 是的,邀请可以双向跨平台,iOS -> android 和 android -> iOS。您需要在 console.developers.google.com 的同一个项目中定义这两个应用程序,这是关联它们所必需的。如果项目中有多个 iOS 应用程序,则需要该 api 调用来消除与 android 应用程序配对的 iOS 应用程序的歧义。当您使用凭证部分的下拉菜单创建 OAuth 客户端 ID 时,会在控制台中生成 ClientID 参数。
  5. 没有任何单独的 G+ 邀请。
于 2016-06-16T22:47:52.300 回答
0

答案:

  1. Android 文档上的Firebase 动态链接解释了如何查看直接在 Firebase 控制台中显示的分析数据。关键步骤是遵循Firebase 设置说明,最重要的是:

// 在底部添加这个

应用插件:'com.google.gms.google-services'

Firebase 分析集成已从需要跟踪 ID 的旧版集成中进行了简化。现在只需设置 Firebase 并调用 getInvitation()。无需额外的代码或跟踪 ID。请记住,在控制台中查看结果最多需要 24 小时。但是,您可以看到立即发送的消息,这很好地表明它正在工作。只需按照分析日志事件文档中的说明启用详细日志记录。

  1. appinvites的 Firebase 和 android 开发者文档是相同的。

  2. 是的,您必须调用 getInvitation() 来获取分析跟踪,并按照上述说明进行设置。

  3. iOS 和 Android 等效应用程序应位于同一项目中。只需将它们移动到 Firebase 控制台中的单个项目即可。您可以从现有项目中删除一个并将其添加到另一个以创建一个组合项目。更改应立即反映。

于 2016-08-30T01:19:29.993 回答