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:
-
containerId El ID del contenedor que se cargará. tagManager El TAGManager para obtener el contenedor tiempo de espera agotado La cantidad máxima de segundos que se debe esperar para cargar el contenedor desde el almacén guardado. Si es nulo, se usará defaultTimeout. openType La elección de cómo abrir el contenedor.
- Muestra:
- Un TAGContainerFuture que esperará hasta
timeouty 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:
-
containerId El ID del contenedor que se cargará. tagManager El TAGManager que se usa para obtener el contenedor openType La elección de cómo abrir el contenedor. tiempo de espera agotado La cantidad máxima de segundos que se debe esperar para cargar el contenedor desde el almacén guardado. Si es nulo, se usará defaultTimeout. notificador Un 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.