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"));
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")
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 | |
| vide | |
| 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.