【问题标题】:Google play store is changing the referrer data to "com.android.chrome"?Google Play 商店正在将推荐人数据更改为“com.android.chrome”?
【发布时间】:2017-02-06 09:06:21
【问题描述】:

我是推荐人概念的新手。

我编写了一个代码,其目的是让 google playstore 在安装后将引用数据作为广播发送到我的应用程序,我会相应地捕获并处理这些数据。问题是我要求谷歌回火的数据与谷歌实际发送给我的数据不同。

我使用以下代码创建链接:

final String url = "intent://details?id=com.myapp&url="a dummy url"&referrer="+referrer+"#Intent;scheme=market;action=android.intent.action.VIEW;package=com.myapp;S.referrer="+referrer+";end";

这里的referrer = base64编码字符串>

注意:
最初的虚拟 URL 对我没有任何用处。我的兴趣是回退到谷歌来安装应用程序。这里的假设是我没有在设备上安装应用程序,因此这应该可以工作。回退发生正确,我从安装应用程序的位置定向到 Google PlayStore,然后将推荐人数据广播到我的应用程序。我捕获了引荐来源数据并在生产构建中显示它。

我希望在 toast 数据中看到的内容:base64 编码 >
我所看到的:“com.android.chrome”

为什么会这样?

【问题讨论】:

    标签: android google-chrome android-intent install-referrer


    【解决方案1】:

    花费太多时间之后。我能够弄清楚发生了什么。如果没有给定的引荐来源网址,则 chrome 会附加其自己的引荐来源网址,其值为“com.android.chrome”。 我附加引荐来源网址的方式是错误的,因此选择了 chrome 的默认引荐来源网址。 更正在最后一部分

    改一下

    ...;package=com.myapp;S.referrer="+referrer+";end";

    ...;package=com.myapp&referrer="+referrer+";end";

    希望这对其他人有所帮助。我一整天都在这上面度过。

    【讨论】:

    • 对我来说,这会导致 Play 商店应用打开并显示白屏。查看设备监视器,我看到这条记录:03-14 16:45:30.931: I/ActivityManager(1289): START u0 {act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=market://details?id=com.some.app.name&referrer=extra1&referrer=com.android.chrome flg=0x10000000 pkg=com.android.vending cmp=com.android.vending/com.google.android.finsky.activities.LaunchUrlHandlerActivity} from uid 10034 pid 19319 on display 0 你可以看到它在这种情况下将referrer 添加到 URI 中两次。
    • 给未来冒险者的说明:将&referer 添加到包中具有争议的历史,记录在许多 Chromium 错误报告中。解决方案是将额外的 S.market_referrer 添加到 2016 年 9 月上线的 intent:// URI。这里是 "fixed" comment
    猜你喜欢
    • 2016-10-30
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 2013-06-04
    • 2016-04-18
    相关资源
    最近更新 更多