Android Firebase Dynamic Links:模拟Play Store通过深度链接安装并追踪来源的测试方案咨询
我之前在测试Firebase动态链接的首次安装追踪时,也碰到过和你一样的困惑——Android确实不像iOS那样能轻松模拟App Store安装后的场景,但摸索出几个实用的测试方案,能帮你完整验证数据传递的细节:
可行的Android动态链接安装场景测试方案
1. 用Firebase Test Lab模拟真实Play Store流程
Firebase Test Lab可以完美复现用户从点击动态链接、跳转Play Store、安装到打开应用的全流程,而且能帮你捕获启动时的Intent数据:
- 把你的应用上传到Test Lab,选择对应的测试设备和Android版本;
- 在测试配置里设置启动触发条件为动态链接,或者直接指定自定义意图为你的动态链接地址;
- 测试完成后,下载设备日志,搜索
Intent.getData()相关的输出,就能看到Play Store“打开”按钮传递给应用的完整URI,包括所有参数。
2. 用adb命令模拟Play Store启动Intent
Play Store点击“打开”本质是发送一个带有动态链接参数的VIEW意图,你可以用adb手动模拟这个场景:
- 先确保应用已安装(可以用
adb install安装你的APK包); - 运行以下命令模拟启动意图:
adb shell am start -W -a android.intent.action.VIEW -d "https://myapp.page.link/qr/?id=123456" com.your.app.package - 启动应用后,在代码里通过
getIntent().getData()获取URI并打印日志,就能验证参数是否正确传递。这个方法和真实场景几乎一致,唯一要注意的是如果你的逻辑依赖Play Store的安装来源记录,需要结合下面的Referrer API一起测试。
3. 结合App Install Referrer API验证安装来源
如果需要确认安装来源确实来自目标动态链接,可以用Google Play的App Install Referrer API:
- 先通过Play Store内部测试渠道安装应用(必须是从Play Store安装的,才能获取到有效referrer);
- 应用启动时调用API获取安装来源信息,代码示例如下:
AppInstallReferrerClient referrerClient = AppInstallReferrerClient.newBuilder(this).build(); referrerClient.startConnection(new AppInstallReferrerStateListener() { @Override public void onInstallReferrerSetupFinished(int responseCode) { if (responseCode == InstallReferrerResponse.OK) { try { ReferrerDetails details = referrerClient.getInstallReferrer(); String referrerUri = details.getInstallReferrer(); Log.d("DynamicLinkTest", "安装来源URI: " + referrerUri); // 解析referrerUri,验证动态链接的id参数是否为123456 } catch (RemoteException e) { e.printStackTrace(); } } } @Override public void onInstallReferrerServiceDisconnected() { // 异常处理:重新连接服务 } }); - 日志里的
referrerUri会包含动态链接的参数,能帮你确认安装来源的正确性。
4. 开启Firebase动态链接调试模式
Firebase动态链接的调试模式会输出更详细的流程日志,方便你排查问题:
- 在Firebase控制台生成动态链接时,开启调试模式;
- 用这个调试链接测试:未安装应用时跳转Play Store,安装后打开应用;
- 在Logcat里搜索
FirebaseDynamicLinks关键词,就能找到动态链接参数传递的全流程日志,包括启动时接收的URI详情。
这些方案基本能覆盖你需要验证的场景,从模拟真实流程到手动触发意图,再到验证安装来源,都能帮你确认数据传递是否符合预期。
内容的提问来源于stack exchange,提问作者Mert Kılıç
相关产品推荐
相关产品推荐

