如何使用chrome上的新方案将数据传递到Android Market?

use*_*027 8 android referrer broadcastreceiver android-intent

所以我注意到,根据这里,你可以在网站上放一个链接,让用户点击它.如果用户安装了该应用,则会启动应用.如果未安装该应用,Google Play商店将会启动并搜索特定套餐,这是一个很棒的功能!! 但从我的理解,这将失去传递引用字符串到播放商店的能力.

根据这里,你可以有类似的链接market://details?id=your.package.name&referrer=YourReferrerString.如果广播接收器在应用程序中设置,您就可以赶上引用字符串,但我怎么能达到同样的目标,如果我使用的是从第一个方法在这里

是我能找到的关于Chrome上新(?)功能的唯一主题,但它似乎没有回答我的问题.

谢谢!!

ake*_*ent 3

事实证明非常简单。Chrome 的默认引荐来源网址是“com.android.chrome”。通过将 package 之后放入您的 Intent:// URI 中来覆盖此设置&referrer=,例如:

var g_intent = "intent://" + code + 
  "/#Intent;scheme=yourscheme;package=com.your.app&referrer=code%3D" + 
  code + ";launchFlags=268435456;end";
Run Code Online (Sandbox Code Playgroud)

这里有一个要点,它更全面地解释了解决方案的 javascript 部分,并且如果 Intent:// 方案不起作用,也可以回退到正常的市场链接: https: //gist.github.com/akent/dec1b4b7383436b4623e

在你的 Java 代码中:

public static class InstallReferrerReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String referrer = intent.getStringExtra("referrer");
        // Do things with your referrer here
    }
}
Run Code Online (Sandbox Code Playgroud)

在 AndroidManifest.xml 中:

    <receiver android:name=".YourActivity$InstallReferrerReceiver" android:exported="true">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)