背景
谷歌允许执行应用程序邀请,并跟踪他们在多大程度上改进了您的应用程序安装:
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);
这是有效的,但在分析网页中,我找不到显示应用程序邀请统计数据的方法,尽管他们说这是自动的(此处)。遗憾的是,即使是我发现的似乎也很旧,它们使用了不推荐使用的函数。
我尝试过的
我认为这可能不是完全自动的(因为教程中也有一些接收器部分的额外代码,这里),我们可能需要添加一些代码,正如这个文档所说:
当用户接受邀请并安装应用程序时,getInvitation(GoogleApiClient,Activity,boolean)会将邀请状态更新为已安装,并使用getInvitationIntent()从AppInvitationInvitationResult访问意向返回邀请数据
查看谷歌的示例(此处),我注意到他们创建了2个活动。一个是主活动,它确实有一个对"getInvitation"的调用,另一个被称为"DeepLinkActivity",它处理深度链接(可能是用于额外数据,如优惠券)。
我还发现了一些关于跟踪的stackOverflow问题(比如这里),但我所看到的只是人们还没有成功跟踪。
问题
如视频所示,跟踪邀请所需的最低代码是什么?它们的工作效果如何?分析页面本身应该配置什么?我目前不使用深度链接,所以我不想使用它。
谷歌似乎将应用程序邀请功能转移到了"firebase"渐变存储库。这是必备品吗?优点是什么?我们目前使用以前的("com.google.android.gms:play services-appinvite:…")。FireBase的仪表板似乎不像Google analytics那样包含那么多用于分析的UI。更不用说应用程序邀请了。
如果#1的答案是我需要使用"getInvitationIntent",那么它必须在应用程序的主要活动上吗?它必须在活动中吗(可能是broadcastReceiver?)?
似乎也可以邀请到IOS(如此处和这里所示,使用"setOtherPlatformsTargetApplication")。这是正确的吗?它是如何工作的?当IOS用户点击链接时会发生什么?"clientId"参数中应该放入什么?从哪里获取?
G+有应用程序邀请吗?如果是,它是否也有分析功能?
好问题。我会尽力回答所有问题。请询问是否需要澄清。
分析跟踪需要一个跟踪Id,您需要使用setGoogleAnalyticsTrackingId(字符串跟踪Id)设置该Id,我在您的示例中没有看到。然后,此跟踪Id被交给下游事件,这些事件为您记录分析跟踪事件:
- 发送邀请时(包括电子邮件和短信)
- 当受邀用户通过单击邀请链接或按钮接受邀请时
- 当开发人员调用getInvitation()时
- 当开发人员调用convertInvitation()时
因此,要回答您的具体问题,请点击此处:
- 只需如上所述将您的跟踪ID添加到生成器中,就会报告所有跟踪事件。不需要深度链接,这在邀请中是可选的
- 是的,appinvitesAPI被复制到firebase,同时保留了原来的。现在他们完全一样。未来的改进将在firebase中进行,所以有时间时迁移
- getInvitationIntent()是根据getInvitation()回调中返回的结果调用的,因此回调应该在活动中。此外,由于您只希望在启动后立即收到邀请,因此您实际上只需要签入主活动和任何将从深度链接上触发的意向过滤器中启动的活动。听起来你没有使用深度链接,所以只使用主要活动。通常,您应该从所有可能直接从邀请中启动的活动中调用getInvitation(),这是您确定应用程序是否从邀请中推出的方法
- 是的,邀请可以双向跨平台,iOS->android和android->iOS。您需要在console.developers.google.com中的同一项目中定义两个应用程序,这对于关联它们是必要的。如果项目中有多个iOS应用程序,则需要调用该api来消除与android应用程序配对的iOS应用程序的歧义。ClientID参数是在控制台中使用凭据部分的下拉菜单创建OAuth客户端Id时生成的
- 没有任何单独的G+邀请
答案:
- Android文档上的Firebase动态链接解释了如何查看Firebase控制台中直接显示的分析数据。关键步骤是遵循Firebase设置说明,最重要的是:
//将此添加到底部
应用插件:"com.google.gms.googleservices">
Firebase分析集成已从需要跟踪Id的传统集成中进行了精简。现在,使用Firebase,只需要设置和调用getInvitation()。不需要额外的代码或跟踪ID。请记住,在控制台中查看结果最多需要24小时。然而,您可以看到消息被立即发送,这是一个很好的迹象,表明它正在工作。只需启用详细日志记录,如Analytics Log Events文档中所述。
-
应用程序的Firebase和android开发人员文档是相同的。
-
是的,您必须调用getInvitation()来获取分析跟踪,并按照上面描述的方式进行设置。
-
iOS和Android等效应用程序应该在同一个项目中。只需将它们移动到Firebase控制台中的单个项目即可。您只需从现有项目中删除一个项目,然后将其添加到另一个项目中,即可形成一个组合项目。这种变化应该立即反映出来。