App推广GooglePlay广告投放效果追踪
前言
通常为了提高App的下载安装量我们会在各个渠道投放广告,可是投放了广告之后,我们该如何得知各个渠道的一个投放效果呢?今天就跟大家讲讲如何获取到推广来源的信息进行统计
生成推广链接
首先我们知道,如果我们要在GooglePlay投放广告,那么就会提供给用户一个点击广告的入口和跳转GooglePlay的下载地址,而这里我们可以通过《Google Play 网址构建工具》生成前往GooglePlay的下载地址,这里需要工程师提供应用ID(包名),其他参数由运营同学按照自己的需求设定,例如设置参数广告的来源、媒介以及关键词等等…
https://play.google.com/store/apps/details?id=com.example.application &referrer=utm_source%3Dgoogle %26utm_medium%3Dcpc %26utm_term%3Drunning%252Bshoes %26utm_content%3Dlogolink %26utm_campaign%3Dspring_sale
当用户通过访问这个下载地址就会跳转到Play商店,等用户进行安装完成App之后,在启动App的时候程式就可以顺理成章的拿到这些参数,然后统计到安装的来源以及区分下载渠道了。
实现统计来源
利用 Google Play 广告系列衡量功能,我们可以了解是哪些广告系列和流量来源将用户引荐到 Google Play 商店下载您的应用。Google建议所有开发者都实现 Google Play 商店广告系列衡量功能。
当我们的应用在 Google Play 商店中被下载时,Play 商店应用会在我们的应用安装期间向其广播一条 INSTALL_REFERRER Intent。如果将用户引荐到您应用的 Google Play 商店页面的链接中有 referrer 参数,此 Intent 就会包含这个参数的值。
1.使用 Android 版 Google Analytics(分析)SDK v4 来衡量广告系列和流量来源
通过使用 SDK 中提供的 BroadcastReceiver内置接收器实现 Google Play 商店广告系列衡量功能,需要将 Google Analytics(分析)接收器添加到 AndroidManifest.xml 文件,相关代码:
<application> <!-- Used for Google Play Store Campaign Measurement--> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> <service android:name="com.google.android.gms.analytics.CampaignTrackingService" android:enabled="true" android:exported="false" /> </application>
2.使用自定义广播接收器来衡量广告系列和流量来源(已弃用)
当用户在Play商店安装应用成功之后,我们的App第一次启动会收到一条“com.android.vending.INSTALL_REFERRER”广播,我们可以通过该广播接收到应用的referrer值,相关代码:
自定义广播接收参数
public class InstallReferrerBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = "" + intent.getAction(); if (action.equals("com.android.vending.INSTALL_REFERRER")) { Bundle extras = intent.getExtras(); if (extras != null) { String referrer = extras.containsKey("referrer") ? extras.getString("referrer") : ""; // 格式:utm_source=&utm_medium=&utm_term=&utm_content= } } } }
在AndroidManifest.xml里面注册广播
<!-- 自定义安装广播监听 --> <receiver
android:name=".receiver.InstallReferrerBroadcastReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>
3.使用Play Install Referrer API来衡量广告系列和流量来源
Google在2017年推出了Play Install Referrer API,该API为应用程序提供了一种可靠而强大的机制,可以直接从Play商店检索推荐信息。与旧的install_referrer意向广播相比,这是一大进步,因此许多开发人员立即进行了切换。现在,由于已被新的API取代,Google决定在2020年3月1日弃用install_referrer意图广播机制。在此日期之后,新版本的Play商店将在应用安装后不再广播install_referrer意图。
Install Referrer API还提供了更好的性能,在我们的应用程序和Play商店之间使用安全的通信渠道,并提供了针对欺骗和归因欺诈的更强大的解决方案。如何使用Install Referrer API?相关代码:
将以下行添加到应用的 build.gradle 文件的依赖项部分:
dependencies { ... implementation 'com.android.installreferrer:installreferrer:2.1' }
连接到 Google Play,获取安装引荐来源
private InstallReferrerClient mReferrerClient; private void initInstallReferrer() { mReferrerClient = InstallReferrerClient.newBuilder(this).build(); mReferrerClient.startConnection(new InstallReferrerStateListener() { @Override public void onInstallReferrerSetupFinished(int responseCode) { switch (responseCode) { case InstallReferrerClient.InstallReferrerResponse.OK: // Connection established.(连接已建立) try { /**
* utm_source: 广告系列来源,用于确定具体的搜索引擎、简报或其他来源
* utm_medium: 广告系列媒介,用于确定电子邮件或采用每次点击费用 (CPC) 的广告等媒介
* utm_term: 广告系列字词,用于付费搜索,为广告提供关键字
* utm_content: 广告系列内容,用于 A/B 测试和内容定位广告,以区分指向相同网址的不同广告或链接
* utm_campaign: 广告系列名称,用于关键字分析,以标识具体的产品推广活动或战略广告系列
* gclid: Google Ads 自动标记参数,用于衡量广告。此值会动态生成,请勿修改
*/ ReferrerDetails response = mReferrerClient.getInstallReferrer(); // 已安装软件包的引荐来源网址 String installReferrer = response.getInstallReferrer(); // 引荐来源网址点击事件发生时的时间戳(以秒为单位) long referrerClickTimestampSeconds = response.getReferrerClickTimestampSeconds(); // 安装开始时的时间戳(以秒为单位) long installBeginTimestampSeconds = response.getInstallBeginTimestampSeconds(); // 用于检查用户在过去 7 天内是否曾与应用的免安装体验互动 boolean instantExperienceLaunched = response.getGooglePlayInstantParam(); } catch (RemoteException e) { e.printStackTrace(); } break; case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED: // API not available on the current Play Store app. (当前Play商店应用中不提供API) break; case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE: // Connection couldn't be established. (无法建立连接) break; } // 断开服务连接,获取引荐来源信息后,请对 InstallReferrerClient 实例调用 endConnection() 方法来断开连接。断开连接将有助于避免出现泄露和性能问题。 mReferrerClient.endConnection(); } @Override public void onInstallReferrerServiceDisconnected() { // Try to restart the connection on the next request to (尝试在下一个请求重新启动连接) // Google Play by calling the startConnection() method. (通过调用startConnection方法) } }); }
结语
通过Google Play 广告系列归因,可以帮助我们清楚的知道是哪些广告系列、网站和其他应用将用户引荐到 Google Play 商店下载我们的应用,这会让我们更清楚的知道各个渠道的广告投放效果,这也是App安装来源追踪技术在渠道推广中的意义和价值所在。
本文地址:https://blog.csdn.net/u011038298/article/details/108142296