通过Chrome的意向传递引用数据到谷歌播放

所以我有一个移动networking,试图打开我的Android应用程序,如果它不存在,它会回落到谷歌播放。

对于铬,我使用这个意图:

intent://some_data_sent_to_app#Intent;scheme=app_scheme;package=package_name;end 

它工作正常,现在我想发送一些引用string谷歌播放INSTALL_REFERRER在应用程序。

我试了下面的链接,它没有发送数据到谷歌播放的问题,但它不会尝试打开应用程序

intent://some_data_sent_to_app#Intent;scheme=app_scheme;package=package_name&referrer=referrer_string;end

我不知道什么是正确的方式来打开应用程序,并退回谷歌播放引用数据被传递?

Solutions Collecting From Web of "通过Chrome的意向传递引用数据到谷歌播放"

看起来可以通过传递S.market_referrer=referrer_string来完成

例如

 intent://some_data_sent_to_app#Intent;scheme=app_scheme;package=package_name;S.market_referrer=referrer_string;end 

我没有testing过这个,但是在这个铬回购中有一些检查,不知道它是否在当前版本的铬中可用。

https://codereview.chromium.org/2061493002

这是我与团队合作解决的一个已知问题。 过去有人build议你可以使用intent://some_data_sent_to_app#Intent;scheme=app_scheme;package=package_name&referrer=referrer_string;end但是这个逻辑从来没有特别的工作,因为Chrome浏览器(和Android浏览器)寻找一个包id是被parsing为package_name&referrer=referrer_string的string的直接副本。

使用新的scheme,您可以将参数作为额外的传递给应用程序,但是您必须按以下方式对URI进行编码:

 <a href="intent://whatever/#Intent;scheme=myapp;package=com.what.ever.myapp;S.myextra=mystring;end">Do Whatever</a> 

资源