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

时间:2016-06-08 13:26:17

标签: android firebase google-analytics google-app-invites

背景

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

这很有效,但在Analytics webpage中,我找不到显示app-invite统计信息的方法,即使他们说这是自动的(here)。可悲的是,即使我发现的东西看起来很旧,也会使用已弃用的功能。

我尝试了什么

我认为这可能不是很自动(因为教程还有一些额外的接收器部分代码,here),我们可能需要添加一些代码,如this docs所说:

  

当用户接受邀请并安装应用程序时,getInvitation(GoogleApiClient,Activity,boolean)将更新邀请状态以安装并使用getInvitationIntent()

从AppInviteInvitationResult访问的意图中返回邀请数据

查看Google的示例(here),我发现他们创建了2个活动。一个是主要活动,它调用“getInvitation”,另一个称为“DeepLinkActivity”,并处理深层链接(可能是额外数据,如优惠券)。

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

问题

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

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

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

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

所以,为了回答你的具体问题,请点击:

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

答案 1 :(得分:0)

答案:

  1. Firebase Dynamic Links on Android文档说明了如何查看Firebase控制台中直接显示的分析数据。关键步骤是遵循Firebase setup instructions,最重要的是:
  2.   

    //在底部添加

         

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

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

    中的说明启用详细日志记录
    1. Firebase和Android开发人员documentation for appinvites完全相同。

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

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