TagManager

classe publique TagManager

Il s'agit de l'implémentation mobile de Google Tag Manager. Exemple d'utilisation:

 Container container = TagManager.getInstance(context).openContainer(myContainerId);
 String value = container.getString("myKey");

 DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
 dataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", "Main Page"));
Un conteneur est un ensemble de macros, de balises et de règles. Il est créé dans application GTM, et se voient attribuer un ID de conteneur. Cet ID de conteneur est celui utilisé dans cette API.

La classe Container fournit des méthodes permettant de récupérer les valeurs en fonction d'une clé. Les routines getBoolean(String), getDouble(String) getLong(String) et getString(String) renvoient la valeur la valeur de la clé d'une macro de collection de valeurs, en fonction des règles associées au conteneur.

Par exemple, si votre conteneur comporte une macro de collection de valeurs avec une clé speed dont la valeur est 32, et la règle d'activation est Language est "en" ; et une autre collection de valeurs associée à une clé speed dont la valeur est 45, et la règle d'activation est Language n'est pas "en", alors effectuez l'appel suivant:

 container.getLong("speed")
renvoie 32 si la langue actuelle de l'appareil est l'anglais, ou 45 dans le cas contraire.

La couche de données est une carte qui contient des informations génériques sur l'application. La classe DataLayer fournit des méthodes pour transférer et récupérer des données de la couche de données. Si vous transmettez une clé event à la couche de données, les balises correspondant à cet événement seront générées pour déclencher l'alarme.

Une version initiale du conteneur est fournie avec l'application. Il doit s'agir placé en tant qu'élément avec le nom tagmanager/containerId, où containerId est identique que vous utiliserez dans cette API. Lorsque vous appelez openContainer(String, Container.Callback), le conteneur sont renvoyées avec ces règles/macros groupées. Vous allez créer le conteneur dans l'interface utilisateur et utiliser le bouton "Télécharger" pour le télécharger.

Vous pouvez modifier le conteneur dans l'interface utilisateur et publier une nouvelle version. Dans ce cas, la prochaine fois l'application mobile actualise le conteneur à partir du réseau (toutes les 12 heures actuellement) ; il obtiendra cette nouvelle version. Lorsque vous l'une des routines get..., la valeur sera calculée à l'aide des règles les plus récentes.

Le conteneur téléchargé est enregistré localement. lorsque vous appelez openContainer(String, Container.Callback), le service chargera le conteneur par défaut, puis chargera de manière asynchrone tout conteneur enregistré. Si aucune n'est ou s'il date de plus de 12 heures, il tentera d'extraire une version plus récente du réseau. Vous pouvez connaître l'état de ces chargements asynchrones en transmettant une De Container.Callback à openContainer(String, Container.Callback).

Dans certains cas, vous pouvez choisir de bloquer les conteneurs jusqu'à ce qu'un conteneur autre que celui par défaut soit disponible, ou jusqu'à ce qu'un un nouveau conteneur récent est disponible. ContainerOpener est une classe utilitaire qui peut vous aider.

Lorsque vous en avez terminé avec un conteneur, appelez close().

Récapitulatif des classes imbriquées

interface TagManager.Logger Une interface simple pour la journalisation des erreurs/avertissement/info/débogage/verbose
énum TagManager.RefreshMode Mode d'actualisation du conteneur.

Récapitulatif des méthodes publiques

Conteneur
getContainer(chaîne containerId)
Contexte
DataLayer
statique TagManager
getInstance(Contexte contexte)
Logger
TagManager.RefreshMode
Conteneur
openContainer(chaîne containerId, Container.Callback rappel)
vide
setLogger(Logger logger)
vide

Méthodes publiques

<ph type="x-smartling-placeholder"></ph> public Conteneur getContainer (Chaîne containerId)

Renvoie le conteneur ouvert associé à containerId. renvoie null si le conteneur n'est pas déjà ouvert.

<ph type="x-smartling-placeholder"></ph> public Contexte getContext ()

Renvoie le contexte enregistré associé à cet objet.

<ph type="x-smartling-placeholder"></ph> public DataLayer getDataLayer ()

Renvoie l'objet de couche de données utilisé par Tag Manager.

<ph type="x-smartling-placeholder"></ph> public statique TagManager getInstance (Contexte Contexte)

Récupérez l'instance du singleton de la classe TagManager en la créant si nécessaire.

<ph type="x-smartling-placeholder"></ph> public Enregistreur getLogger ()

Renvoie l'enregistreur utilisé par Tag Manager.

<ph type="x-smartling-placeholder"></ph> public TagManager.RefreshMode getRefreshMode ()

Affiche le mode d'actualisation utilisé pour tous les conteneurs.

<ph type="x-smartling-placeholder"></ph> public Conteneur openContainer (Chaîne containerId, Container.Callback rappel)

Affiche un conteneur. Le rappel sera appelé en fonction de différentes situations le conteneur. OpenContainer tente au minimum de charger une version enregistrée de la conteneur. Si aucune version n'est enregistrée ou si celle-ci est obsolète, seront chargés à partir du réseau.

Généralement, le conteneur renvoyé est vide, mais le chargement s'effectue dans un emplacement distinct thread. Le conteneur renvoyé peut donc être actualisé avant d'être renvoyé, puis après avoir été renvoyé. ou ne peuvent jamais être actualisés (par exemple, en l'absence de connexion réseau du conteneur).

Si vous appelez openContainer une deuxième fois pour un containerId donné, une une exception sera générée.

Paramètres
containerId l'identifiant du conteneur à ouvrir
rappel Un objet dont les différentes méthodes seront appelées pendant certaines parties du chargement processus. Notez que les méthodes peuvent être appelées à partir de threads différents. En outre, ils peuvent être appelé avant le retour de openContainer.

<ph type="x-smartling-placeholder"></ph> public vide setLogger (Enregistreur enregistreur)

Remplace l'enregistreur existant utilisé par Tag Manager.

<ph type="x-smartling-placeholder"></ph> public vide setRefreshMode (mode TagManager.RefreshMode )

Définit le mode d'actualisation utilisé pour tous les conteneurs.