Présentation
Classe d'assistance permettant d'ouvrir des conteneurs.
Il s'agit d'un wrapper autour de la méthode openContainerById:callback: (TAGManager) destiné aux appelants et qui prend en charge les délais d'inactivité.
Voici un exemple montrant comment attendre jusqu'à 0,1 seconde que le conteneur soit chargé avant de rétablir le conteneur par défaut:
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 l'appelant souhaite être averti de manière asynchrone lorsque le conteneur est disponible, mais souhaite définir manuellement un délai d'expiration de 0,5 seconde, il doit sous-classer TAGContainerOpenerNotifier, appeler openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) avec un délai d'expiration défini sur 0.5 et ajouter l'implémentation à containerAvailable: (TAGContainerOpenerNotifier-p)
Fonctions de membre public statique | |
(id< TAGContainerFuture >) | + openContainerWithId:tagManager:openType:timeout: |
Attend jusqu'à timeout secondes pour qu'un conteneur soit chargé (non défini par défaut ou actualisé en fonction du openType spécifié) et renvoie un TAGContainerFuture . | |
(void) | + openContainerWithId:tagManager:openType:timeout:notifier: |
Attend jusqu'à timeout secondes pour qu'un conteneur soit chargé (non par défaut ou actualisé selon le openType spécifié) et appelle un système d'alerte lorsque le conteneur est disponible. | |
(NSTimeInterval). | + defaultTimeout |
Renvoie le délai avant expiration par défaut pour demander le conteneur. |
Documentation sur la fonction de membre
+ (id<TAGContainerFuture>) openContainerWithId: | (NSString *) | containerId | |
tagManager: | (TAGManager *) | tagManager | |
openType: | (TAGOpenType). | openType | |
timeout: | (NSTimeInterval *) | timeout (délai d'expiration du délai) | |
Attend jusqu'à timeout
secondes pour qu'un conteneur soit chargé (non défini par défaut ou actualisé en fonction du openType
spécifié) et renvoie un TAGContainerFuture
.
Si le type ouvert est kTAGOpenTypePreferNonDefault
, un conteneur autre que celui par défaut (enregistré ou récupéré depuis le réseau) est chargé et TAGContainerFuture
est débloqué dès que l'une des situations suivantes se produit:
- un conteneur enregistré est chargé.
- en l'absence de conteneur enregistré, un conteneur réseau est chargé ou une erreur réseau se produit.
- que le minuteur expire.
Si une erreur réseau se produit ou si le minuteur expire, get (TAGContainerFuture-p) peut renvoyer un conteneur par défaut.
Si le type ouvert est kTAGOpenTypePreferFresh
, un nouveau conteneur (enregistré ou récupéré sur le réseau) est chargé et TAGContainerFuture est débloqué dès que l'une des situations suivantes se produit:
- un nouveau conteneur enregistré est chargé.
- s'il n'existe aucun conteneur enregistré, ou si un conteneur enregistré est obsolète, un conteneur réseau est chargé ou une erreur réseau se produit.
- que le minuteur expire.
Si une erreur réseau se produit ou si le minuteur expire, get (TAGContainerFuture-p) peut contenir des valeurs par défaut ou un conteneur enregistré obsolète.
Si vous appelez l'une des méthodes openContainer une deuxième fois avec un containerId
donné, un TAGContainerFuture
est renvoyé, dont get (TAGContainerFuture-p) renvoie le même conteneur que le premier appel.
- Paramètres :
-
containerId ID du conteneur à charger. tagManager Le TAGManager permettant d'obtenir le conteneur pause Nombre maximal de secondes d'attente pour le chargement du conteneur à partir du magasin enregistré. Si aucun paramètre n'est défini, le délai defaultTimeout est utilisé. openType Choix du mode d'ouverture du conteneur.
- Renvoie :
- TAGContainerFuture qui attendra un maximum de
timeout
et renvoie le conteneur lorsqu'il sera disponible.
+ (void) openContainerWithId: | (NSString *) | containerId | |
tagManager: | (TAGManager *) | tagManager | |
openType: | (TAGOpenType). | openType | |
timeout: | (NSTimeInterval *) | délai avant expiration | |
système d'alerte: | (id< TAGContainerOpenerNotifier >) | signaleur | |
Attend jusqu'à timeout
secondes pour qu'un conteneur soit chargé (non par défaut ou actualisé selon le openType
spécifié) et appelle un système d'alerte lorsque le conteneur est disponible.
Si le type ouvert est kTAGOpenTypePreferNonDefault
, un conteneur autre que celui par défaut (enregistré ou récupéré à partir du réseau) est chargé et transmis à l'outil d'alerte. L'outil d'alerte est appelé dès que l'un des événements suivants se produit:
- un conteneur enregistré est chargé.
- en l'absence de conteneur enregistré, un conteneur réseau est chargé ou une erreur réseau se produit.
- que le minuteur expire.
Si une erreur réseau se produit ou si le minuteur expire, le conteneur transmis au système d'alerte est un conteneur par défaut.
Si le type ouvert est kTAGOpenTypePreferFresh
, un nouveau conteneur (enregistré ou récupéré à partir du réseau) est chargé et transmis à l'outil d'alerte. L'outil d'alerte est appelé dès que l'un des événements suivants se produit:
- un nouveau conteneur enregistré est chargé.
- s'il n'existe aucun conteneur enregistré, ou si un conteneur enregistré est obsolète, un conteneur réseau est chargé ou une erreur réseau se produit.
- que le minuteur expire.
Si une erreur réseau se produit ou si le minuteur expire, le conteneur transmis au système d'alerte peut contenir des valeurs par défaut ou un conteneur enregistré obsolète.
Si vous appelez l'une des méthodes openContainer une deuxième fois avec un containerId
donné, le même conteneur renvoyé par l'appel précédent est transmis à l'outil d'alerte dès qu'il sera disponible.
- Paramètres :
-
containerId ID du conteneur à charger. tagManager Le TAGManager utilisé pour obtenir le conteneur. openType Choix du mode d'ouverture du conteneur. pause Nombre maximal de secondes d'attente pour le chargement du conteneur à partir du magasin enregistré. Si aucun paramètre n'est défini, le délai defaultTimeout est utilisé. système d'alerte Système d'alerte facultatif qui est appelé lorsque le conteneur est disponible. Il est appelé avec le nouveau conteneur, s'il est disponible et chargé avant la fin du délai d'expiration. Sinon, il est appelé avec un conteneur non récent. Notez que l'outil d'alerte peut être appelé à partir d'un autre thread.
+ (NSTimeInterval) defaultTimeout |
Renvoie le délai avant expiration par défaut pour demander le conteneur.
- Renvoie :
- Délai avant expiration par défaut en secondes.