4 votes

Comment ajouter EXTRA_REFERRER au constructeur de CustomTabsIntent dans l'onglet personnalisé de Chrome pour Android ?

J'utilise les onglets personnalisés de Chrome pour Android, récemment lancés, au lieu d'utiliser des webviews. Voici le lien vers leur documentation

Voici le code qui montre comment l'utiliser.

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

La question est que je veux ajouter Intent.EXTRA_REFERRER à cela. ci-dessous est le paragraphe copié de leur blog dans leurs propres mots .

Il est généralement très important pour les sites web de suivre où provient. Assurez-vous de leur faire savoir que vous leur envoyez des utilisateurs en définissant le référent lors du lancement de votre onglet personnalisé.

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

Je n'ai pas réussi à comprendre l'intention créée pour lancer des onglets personnalisés Où ajouter cette ligne ? Si quelqu'un a rencontré ce problème, aidez-moi s'il vous plaît.

11voto

andreban Points 1900

Vous pouvez mettre l'extra sur l'Intent qui est à l'intérieur du CustomTabsIntent créé par le builder comme le suivant :

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

Explication : Sous le capot, un onglet personnalisé est ouvert à l'aide de la commande ordinaire Intention avec un ensemble d'extras qui configurent la personnalisation de l'interface utilisateur. Il est possible d'en savoir plus sur son fonctionnement à l'adresse suivante Section API de bas niveau des docs. Quand CustomTabsIntent.Builder#build() est appelé, il crée un CustomTabsIntent, avec un Intent correctement configuré à l'intérieur. Cette intention est toujours exposée par l'API et c'est ce que nous utilisons pour ajouter l'élément EXTRA_REFERRER .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X