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 emisores que admite tiempos de espera.

En el siguiente ejemplo, se muestra cómo esperar hasta 0.1 segundos para que se cargue el contenedor antes de revertir al contenedor 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 emisor quiere que se le notifique de forma asíncrona cuando el contenedor está disponible, pero quiere especificar manualmente el tiempo de espera en 0.5 segundos, el llamador debe crear una subclase de TAGContainerOpenerNotifier.Haz la llamada a openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) con el tiempo de espera establecido en 0.5 y agrega la implementación a containerAvailable notification: (TAGContainerOpenerNotifier-p disponible: (TAGContainerOpenerNotifier-p)

Funciones de miembro públicas estáticas

(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.
(void) + 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 las funciones de los miembros

+ (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 de apertura es kTAGOpenTypePreferNonDefault, se carga un contenedor no predeterminado (guardado o recuperado de la red) y TAGContainerFuture se desbloquea en cuanto ocurre alguna 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.
  • antes de que finalice el temporizador.

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

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

  • se carga un contenedor nuevo guardado.
  • Si no hay ningún contenedor guardado o este está inactivo, se carga un contenedor de red o se produce un error de red.
  • antes de que finalice el temporizador.

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 openContainer por segunda vez con un containerId determinado, se mostrará un 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 esperaLa cantidad máxima de segundos que se espera para cargar el contenedor desde el almacén guardado. Si es nulo, se usará defaultTimeout.
openTypeLa elección de cómo abrir el contenedor.
Devuelve:
Es un objeto 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 apertura 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 alguna 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.
  • antes de que finalice el temporizador.

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

Si el tipo de apertura 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 alguna de las siguientes situaciones:

  • se carga un contenedor nuevo guardado.
  • Si no hay ningún contenedor guardado o este está inactivo, se carga un contenedor de red o se produce un error de red.
  • antes de que finalice el temporizador.

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

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

Parámetros:
containerIdEl ID del contenedor que se cargará.
tagManagerEs el TAGManager que se usa para obtener el contenedor.
openTypeLa elección de cómo abrir el contenedor.
tiempo de esperaLa cantidad máxima de segundos que se espera 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 se cargará antes del tiempo de espera. De lo contrario, se llamará con un contenedor que no esté nuevo. Ten en cuenta que se puede llamar al notificador desde un subproceso diferente.
+ defaultTimeout (NSTimeInterval)

Muestra el tiempo de espera predeterminado para solicitar el contenedor.

Devuelve:
Es el tiempo de espera predeterminado en segundos.