You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移至Google Play Install Referrer Library后,如何未上架测试?

不用上架Google Play测试Install Referrer Library的方法

嘿,这个问题我太有共鸣了!之前从旧的INSTALL_REFERRER广播迁移到新库时,也纠结了好久怎么不用上架就能测试。其实Google提供了几种实用的方式,不用把应用推到Play商店就能验证你的referrer逻辑:

方法一:adb安装时直接传递referrer参数

这是最直接的方式,安装应用时就把测试用的referrer数据传进去,安装完成后你的InstallReferrerClient就能正常获取到这些参数。

命令格式如下:

adb install -r --referrer="utm_source=adb_test&utm_medium=adb_install&utm_campaign=2024_test" /path/to/your/app.apk
  • -r 参数表示覆盖安装已有的应用
  • --referrer 后面跟着你的测试参数,格式和正常的UTM参数一致

安装完成后,启动你的应用,调用InstallReferrerClient的getInstallReferrer()方法,就能拿到你设置的测试referrer了。

方法二:模拟Play服务的referrer响应(调试模式)

如果你不想重新安装应用,可以利用InstallReferrerClient的调试参数来模拟返回结果,不过这个需要在代码里做临时的调试配置:

在初始化InstallReferrerClient的时候,添加测试参数(记得只在Debug模式下使用,正式发布前要移除):

// Java示例
InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(context).build();

if (BuildConfig.DEBUG) {
    // 添加模拟的referrer参数
    referrerClient.addTestParameter("referrer", "utm_source=debug_mode&utm_medium=debug&utm_campaign=debug_test");
}

referrerClient.startConnection(new InstallReferrerStateListener() {
    @Override
    public void onInstallReferrerSetupFinished(int responseCode) {
        if (responseCode == InstallReferrerClient.InstallReferrerResponse.OK) {
            try {
                ReferrerDetails details = referrerClient.getInstallReferrer();
                String referrer = details.getInstallReferrer();
                // 处理你的referrer逻辑
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public void onInstallReferrerServiceDisconnected() {
        // 重新连接逻辑
    }
});

这个方法的前提是你的测试设备上安装的Google Play服务版本足够新(至少11.6.0以上),支持这个调试参数。

方法三:兼容旧广播的测试方式(临时过渡用)

如果你还保留着旧的BroadcastReceiver用于兼容,也可以继续用原来的adb广播命令测试,新的InstallReferrerLibrary也能捕获到这个广播的referrer数据:

adb shell am broadcast -a com.google.android.finsky.ACTION_REFERRER \
    -n com.your.package.name/com.your.receiver.YourInstallReferrerReceiver \
    --es "referrer" "utm_source=old_broadcast_test&utm_medium=broadcast&utm_campaign=transition_test"

不过这个方法更适合过渡阶段,建议还是用前两种专门针对新库的测试方式。

需要注意的是,所有测试都需要确保设备上安装了最新版的Google Play服务,否则InstallReferrerClient可能无法正常工作。

内容的提问来源于stack exchange,提问作者Bart Kerfeld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:37:08