如何正确使用和跟踪应用程序邀请?

背景

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

这是有效的,但在Analytics(分析)网页中 ,我无法find显示应用邀请的统计信息的方法,即使他们说这是自动的( 此处 )。 可悲的是,即使我发现它看起来很老,他们使用不推荐使用的函数。

我试过了

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

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

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

我也发现了一些有关跟踪的stackoverflow问题(就像这里 ),但我所看到的是人们还没有成功跟踪。

问题

  1. 如video所示,跟踪邀请函以及工作效果如何,所需的最小代码是什么? Google Analytics页面本身应该configuration什么? 我目前不使用深度链接,所以我不想使用它。

  2. Google似乎将app-invitesfunction移到了“firebase”gradle存储库。 这是必须的吗? 有什么优势? 我们目前使用以前的(“com.google.android.gms:play-services-appinvite:…”)。 FireBase的仪表板似乎没有包含与Google Analytics一样多的分析用户界面。 更不用说应用邀请了。

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

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

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

    很好的问题。 我会尽我所能来回答一切。 请询问是否需要澄清。

    Google Analytics跟踪需要使用setGoogleAnalyticsTrackingId(String trackingId)设置您需要设置的跟踪ID,这在我的示例中没有看到。 然后将此跟踪ID提交给您logging分析跟踪事件的下游事件:

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

    所以,要回答你的具体问题,这里是:

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

    回答:

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

    //将其添加到底部

    应用插件:“com.google.gms.google-services”

    Firebase分析集成已从需要跟踪ID的旧式集成中精简。 现在只需要安装Firebase,并调用getInvitation()。 不需要额外的代码或追踪ID。 请记住,最多需要24小时才能在控制台中查看结果。 但是,您可以看到立即发送的消息,这很好地表明了它正在工作。 只需启用详细日志logging,如分析日志事件文档中所述 。

    1. Appinvites的Firebase和Android开发者文档是相同的。

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

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