如何使用 chrome 上的新方案将数据传递到 android Market?
Posted
技术标签:
【中文标题】如何使用 chrome 上的新方案将数据传递到 android Market?【英文标题】:how can I pass data to android Market using the new scheme on chrome? 【发布时间】:2013-08-09 12:45:05 【问题描述】:所以我注意到根据here,您可以在网站上放置一个链接并让用户点击它。如果用户安装了应用程序,应用程序将被启动。如果未安装该应用程序,Google Play Store 将启动并搜索特定包,这是一个很棒的功能!!但据我了解,这将失去通过推荐字符串播放商店的能力。
根据here,可以有market://details?id=your.package.name&referrer=YourReferrerString
之类的链接。如果在应用程序中设置了广播接收器,您将能够捕获引荐来源字符串,但是如果我使用来自here 的第一种方法,我怎样才能达到相同的目标?
here 是我能找到的唯一一个讨论 Chrome 上的新 (?) 功能的帖子,但它似乎没有回答我的问题。
谢谢!!
【问题讨论】:
据我所知,referrer 功能现在几乎完全被破坏了(3.1 后)。 真的吗?从何时起?通过此链接market://details?id=your.package.name&referrer=YourReferrerString
,我仍然可以使用之前的引荐来源网址功能
我想引入 Chrome 的新意图可能还没有完成。文档不敢多说……
这取决于您使用的 Google Play 版本,我不能说我最近尝试过,但最后我检查它不起作用,最近我没有听到任何相反的消息.如果它适合你,那么我的信息可能已经过时了。
感谢提供信息的人!经过几天的尝试,我认为新的 Chrome 方案还没有完成....
【参考方案1】:
结果很简单。 Chrome 的默认引荐来源网址是“com.android.chrome”。通过将 &referrer=
放在您的 intent:// URI 中的 package 之后来覆盖它,例如:
var g_intent = "intent://" + code +
"/#Intent;scheme=yourscheme;package=com.your.app&referrer=code%3D" +
code + ";launchFlags=268435456;end";
这里有一个要点,它更全面地解释了解决方案的 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
在 AndroidManifest.xml 中:
<receiver android:name=".YourActivity$InstallReferrerReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
【讨论】:
我在使用这个解决方案时遇到了一些问题。该应用程序并不总是通过引荐来源获得额外的意图。最后,我最终使用了 Branch Deeplink SDK,它对深度链接功能进行了此操作 "Chrome 的默认引荐来源网址是 'com.android.chrome" 非常感谢。另一个问题是,如果意图方案不起作用并且应用程序被重定向到市场,那么推荐人也会被携带吗?以上是关于如何使用 chrome 上的新方案将数据传递到 android Market?的主要内容,如果未能解决你的问题,请参考以下文章
如何在布局类似于fork的UIViewControllers之间导航和传递数据?
提示登录后如何将 $_POST 数据传递到 youtube 上传脚本
如何使用 Chrome 的新 `console.log()` 输出?