IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> android 集成Play Install Referrer -> 正文阅读

[移动开发]android 集成Play Install Referrer

android 集成Play Install Referrer

旧版

在之前集成Google广告归因是采用广播的形式,定义一个匹配INSTALL_REFERRER的广播接收器:

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

或者自己定义一个也是可以的。
旧版其中逻辑就是,Google Play提供了这么一个广播机制,利用归因网址创建器生成网址—google-play-url-builder。生成一个地址后,打开链接会到google-play对于的app下载页面(也可以通过网页的play商店推送至app),在用户下载后发送一条携带归因参数的广播到app,完成信息的采集。

相关介绍

归因网址创建器介绍:
在这里插入图片描述
例如,生成的网址:
https://play.google.com/store/apps/details?id={你的包名}&referrer=utm_source%3Dtaobao%26utm_medium%3Dbanner%26utm_term%3Drunning%26utm_content%3Ddebug%26anid%3Dadmob

广告参数介绍:
在这里插入图片描述

新版-Play Install Referrer

由于广播的不可靠性和不安全性,其他app可以偷偷摸摸主动发送INSTALL_REFERRER广播去抢归因,完全就说欺诈行为。才有新版的Play Install Referrer。
新版的逻辑是用户点击推广链接到应用市场安装APP,应用市场就会获取推广参数传递,APP安装后,首次打开的时APP就会主动通过应用市场的API去查询获取渠道信息,然后上传。之间的通信是采用AIDL语言来实现的,可靠又安全。

集成也很简单:
app下的build.gradle下配置:

implementation "com.android.installreferrer:installreferrer:2.2"

在启动的时候去监听:

 private lateinit var referrerClient: InstallReferrerClient
    private fun installReferrer(){
        referrerClient = InstallReferrerClient.newBuilder(this).build()
        referrerClient.startConnection(object : InstallReferrerStateListener {

            override fun onInstallReferrerSetupFinished(responseCode: Int) {
                when (responseCode) {
                    InstallReferrerClient.InstallReferrerResponse.OK -> {
                        // Connection established.
                        val response = referrerClient.installReferrer
                        ZusLog.myLog("referrerClient url: ${response.installReferrer}")
                        ZusLog.myLog("referrerClient click: ${response.referrerClickTimestampSeconds.toString()}")
                        ZusLog.myLog("referrerClient click-server: ${response.referrerClickTimestampServerSeconds}")
                        ZusLog.myLog("referrerClient install: ${response.installBeginTimestampSeconds.toString()}")
                        ZusLog.myLog("referrerClient install-server: ${response.installBeginTimestampServerSeconds}")

                        ZusLog.myLog("referrerClient version: ${response.installVersion}")

                        referrerClient.endConnection()
                    }
                    InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
                        // API not available on the current Play Store app.
                    }
                    InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
                        // Connection couldn't be established.
                    }
                }
            }

            override fun onInstallReferrerServiceDisconnected() {

            }
        })
    }

然后调用完成即可关闭了。我这里仅打印log,一般是要埋点的。

测试结果:

url: utm_source=taobao&utm_medium=banner&utm_term=running&utm_content=debug&anid=admob
 click: 1627635033
 click-server: 1627635034
 install: 1627635036
 install-server: 1627635036
 version: 7.12.0

再卸载后,直接adb安装,测试结果:

url: utm_source=google-play&utm_medium=organic
click: 0
click-server: 0
install: 1627635036
install-server: 1627635036
version: 7.12.0 

其实我adb安装的包,版本为7.13.0,google商店的线上包为7.12.0,所以这个版本信息还是以Google-play 的版本号为主。

覆盖安装测试:安装时间还是第一次安装的时间。
卸载后安装后还是重google play 打开 安装时间还是上次。
卸载后,重新打开新的链接安装,安装时间为当前。

如何测试?

由于链接是到google商店的,而上面对应的可能是没有Play Install Referrer代码,这里提供两种方法:1,打测试人员的包测试。2,链接到google商店后,点击安装进行下载,同时在用adb安装含Play Install Referrer代码的包,再取消google上面的下载就行了。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:45:30  更:2021-07-31 16:46:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 0:24:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码