2015-04-02 32 views
5

用户已经通过推荐链接安装了应用程序并安装了该应用程序。如何从用户点击推介链接的意图获得“推荐人”,并从Play Store打开预安装的应用程序

当用户再次单击相同的引用链接时,它将导航到带有打开选项的PlayStore。该文件Google Analytics Campaignreferring traffic sources or marketing campaigns may be attributed to user activity in subsequent sessions一般广告活动&流量来源归因

当用户开始选择从Play商店中打开选项的应用程序,我试图捕捉意图按照如下文档引荐,

Intent intent = this.getIntent(); 
Uri uri = intent.getData(); 

uri本身是null。如何知道用户是否第一次从PlayStore打开应用程序。

+0

嘿ajay。你的问题解决了吗 – Mohit 2015-10-23 12:13:19

+0

play store在安装的时候广播了一个intent [com.android.vending.INSTALL_REFERRER]所以如果你尝试捕捉任何信息在'发射'意图中,它不会是相同的。使用adb来模拟广播。请按照此进行测试 https://developers.google.com/analytics/solutions/testing-play-campaigns – 2017-02-12 16:28:31

回答

3

您需要为“com.android.vending.INSTALL_REFERRER”注册广播接收器。 Play商店将在安装应用程序后将广告系列数据广播到接收器一次并提供引用者额外的意图。如果你想从主要活动中获得接收者,它不会在那里。

Analytics为接收方和附属服务提供实施。以下添加到您的ApplicationManifest.xml注册所提供的接收器和服务:

<service android:name="com.google.android.gms.analytics.CampaignTrackingService" /> 
<receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" 
      android:exported="true"> 
    <intent-filter> 
    <action android:name="com.android.vending.INSTALL_REFERRER" /> 
    </intent-filter> 
</receiver> 

可以使用ADB工具模拟广播:

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n your.app.package.name/com.google.android.gms.analytics.CampaignTrackingReceiver --es referrer "'utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign'" 

注意周围的URL双“”双引号需要quoiting才能正确转义Android的外壳网址

+0

我已经提出了您的建议更改,但在第一次用户安装应用程序后,我收到了接收者回调,但用户第二次点击推荐链接并打开应用程序,文档提到我会从意图获取信息。但是,没有这样的信息可用。无论如何感谢提供这样好的实施。 – 2015-04-02 18:28:44

+0

我相信install_referrer意图只在应用程序安装时发送一次。如果应用程序已安装,Google Play商店不会再次播放install_referrer。它的意思是通知应用程序的安装。您正在寻找深层链接:https://developers.google.com/analytics/solutions/mobile-campaign-deep-link – djabi 2015-04-06 23:56:40

+0

谢谢djabi。我正在研究深度链接,并很快恢复。 – 2015-04-07 07:03:26

相关问题