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:
-
containerId El ID del contenedor que se cargará. tagManager El TAGManager para obtener el contenedor. tiempo de espera La cantidad máxima de segundos que se espera 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.
- 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:
-
containerId El ID del contenedor que se cargará. tagManager Es el TAGManager que se usa para obtener el contenedor. openType La elección de cómo abrir el contenedor. tiempo de espera La cantidad máxima de segundos que se espera 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 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.