Esta es la implementación para dispositivos móviles de Google Tag Manager (GTM). Ejemplo de uso:
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 clase Container proporciona métodos para recuperar valores según una clave.
Las rutinas getBoolean(String), getDouble(String)
getLong(String) y getString(String) muestran el valor actual.
para la clave de una macro de recopilación de valor,
según las reglas asociadas al contenedor.
Por ejemplo, si tu contenedor tiene una macro de recopilación de valores con una clave speed cuyo
el valor es 32, y la regla de habilitación es Language es “en”; y otra colección de valor
con una clave speed cuyo valor es 45, y la regla de habilitación es
Language no es "en" y realiza la siguiente llamada:
container.getLong("speed")
La capa de datos es un mapa que contiene información genérica sobre la aplicación.
La clase DataLayer proporciona métodos para enviar y recuperar datos de la capa de datos.
Si envías una clave event a la capa de datos, se generarán etiquetas que coincidan con este evento.
se dispare.
Se empaqueta una versión inicial del contenedor con la aplicación. Debe ser
se coloca como un elemento con el nombre tagmanager/containerId donde containerId es el mismo
el ID del contenedor que usarás en esta API. Cuando llamas a openContainer(String, Container.Callback), el contenedor
se devolverán con esas reglas o macros agrupadas.
Crearás el contenedor en la IU y usarás el botón Descargar para descargarlo.
Puedes modificar el contenedor en la IU y publicar una versión nueva. En ese caso, la próxima vez la aplicación para dispositivos móviles actualiza el contenedor desde la red (actualmente cada 12 horas) obtendrá la nueva versión. Cuando llama a una de las rutinas get..., el valor se calculará con las reglas más recientes.
El contenedor descargado se guarda de forma local. cuando llames a openContainer(String, Container.Callback), primero
cargará el contenedor predeterminado y cargará de forma asíncrona cualquier contenedor guardado. Si no hay ninguno
Si la encuentra o si tiene más de 12 horas de antigüedad, intentará recuperar una versión más reciente de la red.
Puedes encontrar el estado de esas cargas asíncronas pasando un
De Container.Callback a openContainer(String, Container.Callback).
Es posible que quieras bloquear hasta que haya un contenedor no predeterminado disponible
del contenedor nuevo más reciente está disponible. ContainerOpener es una clase de utilidad que puede ayudarte.
Cuando termines con un contenedor, llama a close().
Resumen de clases anidadas
| interfaz | TagManager.Logger | Una interfaz simple para el registro de errores/advertencia/información/depuración/verbose. | |
| enum | TagManager.RefreshMode | Modo para actualizar el contenedor. | |
Resumen de métodos públicos
| Contenedor |
getContainer(String containerId)
|
| Contexto | |
| DataLayer | |
| estático TagManager |
getInstance(contexto contexto)
|
| Logger | |
| TagManager.RefreshMode | |
| Contenedor | |
| void |
setLogger(Registrador registrador)
|
| void |
Métodos públicos
público Contenedor . getContainer (Cadena containerId)
Muestra el contenedor abierto asociado con containerId.
Muestra null si el contenedor aún no está abierto.
público Contexto getContext ()
Muestra el contexto guardado asociado con este objeto.
público estático TagManager . getInstance (Contexto contexto)
Obtén la instancia singleton de la clase TagManager y créala si es necesario.
público TagManager.RefreshMode . getRefreshMode ()
Muestra el modo de actualización que se usa para todos los contenedores.
público Contenedor . openContainer (String containerId, Container.Callback devolución de llamada)
Devuelve un contenedor. Se llamará a la devolución de llamada cuando sucedan varios eventos el contenedor. Como mínimo, openContainer intentará cargar una versión guardada del objeto contenedor. Si no hay una versión guardada o si la versión guardada está desactualizada, intenta para cargar desde la red.
Por lo general, el contenedor que se devuelve estará vacío, pero la carga se realizará en un subproceso, por lo que el contenedor devuelto puede actualizarse antes y después de devolverse, o que nunca se actualicen (si, por ejemplo, no se pierde la conexión a la red durante el ciclo de vida del contenedor).
Si llamas a openContainer por segunda vez para un containerId determinado, se generará una
se arrojará
una excepción.
Parámetros
| containerId | el ID del contenedor que se abrirá |
| callback | un objeto a cuyos métodos se llamará durante partes de la carga.
el proceso de administración de recursos. Ten en cuenta que se puede llamar a los métodos desde diferentes subprocesos. Además, pueden
se debe llamar antes de que se devuelva openContainer.
|
público anular setLogger (Registrador registrador)
Reemplaza el registrador existente que usa Tag Manager.
público anular setRefreshMode (TagManager.RefreshMode modo)
Establece el modo de actualización que se usa para todos los contenedores.