Référence de la classe TAGContainerOpener

Référence de la classe TAGContainerOpener

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 :
containerIdID du conteneur à charger.
tagManagerLe TAGManager permettant d'obtenir le conteneur
pauseNombre 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é.
openTypeChoix 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 :
containerIdID du conteneur à charger.
tagManagerLe TAGManager utilisé pour obtenir le conteneur.
openTypeChoix du mode d'ouverture du conteneur.
pauseNombre 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'alerteSystè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.