Referencia de la clase TAGContainerOpener

Referencia de la clase TAGContainerOpener

Descripción general

Una clase auxiliar para abrir contenedores.

Este es un wrapper del método openContainerById:callback: (TAGManager) para los emisores que admite tiempos de espera.

A continuación, se muestra un ejemplo en el que se muestra el tiempo de espera de hasta 0.1 segundos para que se cargue el contenedor antes de volver al predeterminado:

     NSTimeInterval timeout = 0.1;
     TagManager *tagManager = [TagManager instance];
     TAGContainerFuture *future =
         [TAGContainerOpener openContainerWithId:@"GTM-XXXX"
                                      tagManager:tagManager
                                        openType:kTAGOpenTypePreferNonDefault
                                         timeout:&timeout];
     TAGContainer *container = [future get];
 

Si el llamador desea recibir una notificación asíncrona cuando el contenedor esté disponible, pero desea especificar manualmente el tiempo de espera en 0.5 segundos, el llamador debe crear la subclase TAGContainerOpenerNotifier, realizar la llamada a openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) con el tiempo de espera establecido en 0.5 y agregar la implementación a containerAvailable: (TAGContainerOpenerNotifier-pp)

Funciones estáticas de miembros públicos

(id< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 Espera hasta timeout segundos para que se cargue un contenedor (no predeterminado o actualizado, según el openType especificado) y muestra un TAGContainerFuture.
(vacío)+ openContainerWithId:tagManager:openType:timeout:notifier:
 Espera hasta timeout segundos para que se cargue un contenedor (no predeterminado o actualizado, según el openType especificado) y llama a un notificador cuando el contenedor está disponible.
(NSTimeInterval)+ defaultTimeout
 Muestra el tiempo de espera predeterminado para solicitar el contenedor.

Documentación de la función de miembro

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
openType: (TAGOpenType). openType
timeout: (NSTimeInterval *) tiempo de espera

Espera hasta timeout segundos para que se cargue un contenedor (no predeterminado o actualizado, según el openType especificado) y muestra un TAGContainerFuture.

Si el tipo abierto es kTAGOpenTypePreferNonDefault, se cargará un contenedor no predeterminado (guardado o recuperado de la red) y se desbloqueará TAGContainerFuture en cuanto ocurra una de las siguientes situaciones:

  • se carga un contenedor guardado.
  • Si no hay un contenedor guardado, se carga un contenedor de red o se produce un error de red.
  • se agota el tiempo de exposición.

Si se produce un error de red o el temporizador vence, get (TAGContainerFuture-p) puede mostrar un contenedor predeterminado.

Si el tipo de abierto es kTAGOpenTypePreferFresh, se carga un contenedor nuevo (guardado o recuperado de la red) y se desbloquea TAGContainerFuture en cuanto ocurre una de las siguientes situaciones:

  • se carga un contenedor nuevo guardado.
  • Si no hay un contenedor guardado o está inactivo, se carga un contenedor de red o se produce un error de red.
  • se agota el tiempo de exposición.

Si se produce un error de red o el temporizador vence, get (TAGContainerFuture-p) puede contener valores predeterminados o un contenedor guardado inactivo.

Si llamas a uno de los métodos de openContainer por segunda vez con una containerId determinada, se mostrará una TAGContainerFuture cuyo get (TAGContainerFuture-p) mostrará el mismo contenedor que la primera llamada.

Parámetros:
containerIdEl ID del contenedor que se cargará.
tagManagerEl TAGManager para obtener el contenedor
tiempo de espera agotadoLa cantidad máxima de segundos que se debe esperar para cargar el contenedor desde el almacén guardado. Si es nulo, se usará defaultTimeout.
openTypeLa elección de cómo abrir el contenedor.
Muestra:
Un TAGContainerFuture que esperará hasta timeout y mostrará el contenedor cuando esté disponible.
+ (void) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
openType: (TAGOpenType). openType
timeout: (NSTimeInterval *) tiempo de espera
notificador: (id< TAGContainerOpenerNotifier >) notificador

Espera hasta timeout segundos para que se cargue un contenedor (no predeterminado o actualizado, según el openType especificado) y llama a un notificador cuando el contenedor está disponible.

Si el tipo de abierto es kTAGOpenTypePreferNonDefault, se carga un contenedor no predeterminado (guardado o recuperado de la red) y se pasa al notificador. Se llama al notificador en cuanto ocurre una de las siguientes acciones:

  • se carga un contenedor guardado.
  • Si no hay un contenedor guardado, se carga un contenedor de red o se produce un error de red.
  • se agota el tiempo de exposición.

Si se produce un error de red o se vence el temporizador, el contenedor que se pasa al notificador es un contenedor predeterminado.

Si el tipo abierto es kTAGOpenTypePreferFresh, se carga un contenedor nuevo (guardado o recuperado de la red) y se pasa al notificador. Se llama al notificador en cuanto ocurre una de las siguientes acciones:

  • se carga un contenedor nuevo guardado.
  • Si no hay un contenedor guardado o está inactivo, se carga un contenedor de red o se produce un error de red.
  • se agota el tiempo de exposición.

Si se produce un error de red o el temporizador vence, el contenedor que se pasó al notificador puede contener valores predeterminados o un contenedor guardado inactivo.

Si llamas a uno de los métodos de openContainer por segunda vez con una containerId determinada, el mismo contenedor que se mostró en la llamada anterior se pasará al notificador en cuanto esté disponible.

Parámetros:
containerIdEl ID del contenedor que se cargará.
tagManagerEl TAGManager que se usa para obtener el contenedor
openTypeLa elección de cómo abrir el contenedor.
tiempo de espera agotadoLa cantidad máxima de segundos que se debe esperar para cargar el contenedor desde el almacén guardado. Si es nulo, se usará defaultTimeout.
notificadorUn notificador opcional al que se llamará cuando el contenedor esté disponible. Se llamará con el contenedor nuevo, si está disponible y si se cargó antes del tiempo de espera. de lo contrario, se llamará con un contenedor que no está actualizado. Ten en cuenta que se puede llamar al notificador desde otro subproceso.
+ (NSTimeInterval) defaultTimeout

Muestra el tiempo de espera predeterminado para solicitar el contenedor.

Muestra:
El tiempo de espera predeterminado, expresado en segundos.