Как добавить EXTRA_REFERRER в построитель CustomTabsIntent на пользовательской вкладке Chrome для Android

Я использую недавно запущенные вкладки Chrome Custom для Android вместо использования веб-просмотров. Это ссылка на их документацию

Вот код, который показывает, как его использовать.

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()));

Мне не удалось выяснить какое-либо намерение, созданное для запуска пользовательских вкладок. Куда добавить эту строку?? Если кто-то сталкивался с этим, помогите пожалуйста.


person Palak Darji    schedule 21.06.2016    source источник


Ответы (1)


вы можете поместить дополнительное намерение, которое находится внутри CustomTabsIntent, созданного построителем, например, следующим образом:

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 с набором дополнительных элементов, которые настраивают пользовательский интерфейс. Подробнее о том, как это работает, можно узнать в разделе Низкий уровень API документы Когда вызывается CustomTabsIntent.Builder#build(), он создает CustomTabsIntent с правильно настроенным намерением внутри него. Это намерение по-прежнему раскрывается API, и именно его мы используем для добавления EXTRA_REFERRER. .

person andreban    schedule 21.06.2016