如何正确使用和跟踪App-invites?

背景

Google允许执行应用邀请并跟踪他们改善应用安装的效果:

问题

我做了一个简单的应用程序邀请,似乎人们使用它,使用此代码:

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); 

这可行,但在Google Analytics网页中 ,我找不到显示app-invite统计信息的方法,即使他们说这是自动的( 此处 )。 可悲的是,即使我发现的东西看起来很旧,他们使用已弃用的function。

我试过的

我想也许它不是很自动(因为教程在接收器部分也有一些额外的代码, 这里 ),我们可能需要添加一些代码,正如这个文档所说:

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

看看谷歌的样本( 这里 ),我注意到他们创建了2个活动。 一个是主要活动,它调用“getInvitation”,另一个称为“DeepLinkActivity”,并处理深层链接(可能是额外数据,如优惠券)。

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

问题

  1. 如video所示,跟踪邀请及其工作情况所需的最少代码是什么? 应在Analytics页面中配置什么? 我目前不使用深层链接,所以我不想使用它。

  2. Google似乎将app-invitesfunction移至“firebase”gradle存储库。 这是必须的吗? 有什么好处? 我们目前使用以前的(“com.google.android.gms:play-services-appinvite:…”)。 FireBase的信息中心似乎没有像Google Analytics一样包含分析用户界面。 更不用说app-invites了。

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

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

  5. G +有app-invites吗? 如果是这样,它是否也有分析?

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

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

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

那么,要回答您的具体问题,请点击此处:

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

回答:

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

//在底部加上这个

申请插件:’com.google.gms.google-services’

Firebase分析集成已从需要跟踪ID的旧版集成中简化。 现在只需设置Firebase并需要调用getInvitation()。 无需其他代码或跟踪ID。 请记住,在控制台中查看结果最多需要24小时。 但是,您可以看到立即发送的消息,这是一个很好的迹象表明它正在工作。 只需启用详细日志记录,如Analytics Log Events文档中所述 。

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

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

  3. iOS和Android等价应用应该在同一个项目中。 只需将它们移动到Firebase控制台中的单个项目即可。 您可以从其现有项目中删除一个,并将其添加到另一个项目中以组合项目。 应立即反映变化。