如何在Android的Chrome自定义标签中将EXTRA_REFERRER添加到CustomTabsIntent构建器

时间:2016-06-21 06:43:45

标签: android chrome-custom-tabs android-customtabs

我正在使用新推出的Chrome自定义标签,而不是使用网页浏览。 This is the link to their documentation

以下是显示如何使用它的代码。

String url = ¨https://paul.kinlan.me/¨;
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));

问题是我想为此添加Intent.EXTRA_REFERRER。下面是用他们自己的话从他们的博客复制的段落..

  

对于网站来说,跟踪其流量通常非常重要   是来自。确保让他们知道您正在向他们发送用户   通过在启动自定义标签时设置引荐来源

intent.putExtra(Intent.EXTRA_REFERRER, 
             Uri.parse(Intent.URI_ANDROID_APP_SCHEME + "//" + context.getPackageName()));

我未能弄清楚为启动自定义标签而创建的任何意图..在哪里添加此行?如果有人遇到这个,请帮助。

1 个答案:

答案 0 :(得分:10)

您可以将额外内容放在构建器创建的CustomTabsIntent内的Intent上,如下所示:

String url = ¨https://paul.kinlan.me/¨;
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.intent.putExtra(Intent.EXTRA_REFERRER,
        Uri.parse("android-app://" + context.getPackageName()));
customTabsIntent.launchUrl(this, Uri.parse(url));

说明:在幕后,使用常规的Intent打开自定义标签,其中包含一组配置UI自定义的附加功能。可以在Low Level API section文档中查看更多有关它如何工作的信息。调用CustomTabsIntent.Builder#build()时,它会创建一个CustomTabsIntent,并在其中包含正确配置的Intent。这个意图仍然由API公开,这是我们用来添加EXTRA_REFERRER的内容。