Référence de la classe TAGContainerOpener

Documentation de référence sur la classe TAGContainerOpener

Présentation

Une classe d'assistance pour ouvrir des conteneurs.

Il s'agit d'un wrapper autour de la méthode openContainerById:callback: (TAGManager) pour les appelants, qui prend en charge les délais avant expiration.

Voici un exemple montrant que le chargement du conteneur peut prendre jusqu'à 0,1 seconde avant de revenir au 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 spécifier manuellement le délai avant expiration sur 0,5 seconde, il doit sous-classer TAGContainerOpenerNotifier, appeler openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) avec un délai avant expiration défini sur 0.5, puis ajouter l'implémentation à containerAvailable: (TAGContainerOpenerNotifier-p).

Fonctions de membre public statiques

(id< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 Attend jusqu'à timeout secondes pour qu'un conteneur soit chargé (autre que par défaut ou actualisé en fonction de la valeur openType spécifiée) et renvoie un TAGContainerFuture.
(inutile)+ openContainerWithId:tagManager:openType:timeout:notifier:
 Attend jusqu'à timeout secondes pour qu'un conteneur soit chargé (autre que par défaut ou actualisé en fonction de la valeur openType spécifiée) et appelle un système d'alerte lorsque le conteneur est disponible.
(NSTimeInterval)+ defaultTimeout
 Renvoie le délai avant expiration par défaut pour la requête du conteneur.

Documentation sur les fonctions membres

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
tagManager: (TAGManager *) tagManager
openType: (TAGOpenType). openType
timeout: (NSTimeInterval *) délai avant expiration

Attend jusqu'à timeout secondes pour qu'un conteneur soit chargé (autre que par défaut ou actualisé en fonction de la valeur openType spécifiée) et renvoie un TAGContainerFuture.

Si le type d'ouverture est kTAGOpenTypePreferNonDefault, un conteneur autre que celui par défaut (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:

  • lorsqu'un conteneur enregistré est chargé.
  • s'il n'y a pas de conteneur enregistré, si un conteneur réseau est chargé ou si une erreur réseau se produit.
  • 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 d'ouverture 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:

  • lorsqu'un nouveau conteneur enregistré est chargé.
  • s'il n'y a pas de conteneur enregistré ou si un conteneur enregistré est obsolète, si un conteneur réseau est chargé ou si une erreur réseau se produit.
  • 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é, une TAGContainerFuture sera renvoyée. get (TAGContainerFuture-p) renverra le même conteneur que le premier appel.

Paramètres :
containerIdIdentifiant du conteneur à charger.
tagManagerLe gestionnaire TAGManager pour obtenir le conteneur
délai avant expirationNombre maximal de secondes d'attente avant le chargement du conteneur à partir du store enregistré. Si la valeur n'est nulle, la valeur defaultTimeout est utilisée.
openTypeChoix de la manière d'ouvrir le conteneur.
Renvoie :
TAGContainerFuture qui attend jusqu'à timeout et renvoie le conteneur lorsqu'il est disponible.
+ (void) openContainerWithId: (NSString *) containerId
tagManager: (TAGManager *) tagManager
openType: (TAGOpenType). openType
timeout: (NSTimeInterval *) délai avant expiration
système d'alerte: (id< TAGContainerOpenerNotifier >) alerte

Attend jusqu'à timeout secondes pour qu'un conteneur soit chargé (nouveau ou non par défaut en fonction de la valeur openType spécifiée) et appelle un système d'alerte lorsque le conteneur est disponible.

Si le type d'ouverture est kTAGOpenTypePreferNonDefault, un conteneur autre que celui par défaut (enregistré ou récupéré sur le réseau) est chargé et transmis au système d'alerte. Le système d'alerte est appelé dès que l'un des événements suivants se produit:

  • lorsqu'un conteneur enregistré est chargé.
  • s'il n'y a pas de conteneur enregistré, si un conteneur réseau est chargé ou si une erreur réseau se produit.
  • le minuteur expire.

Si une erreur réseau se produit ou si le minuteur expire, le conteneur transmis au système d'alerte est considéré comme un conteneur par défaut.

Si le type d'ouverture est kTAGOpenTypePreferFresh, un nouveau conteneur (enregistré ou récupéré sur le réseau) est chargé et transmis au système d'alerte. Le système d'alerte est appelé dès que l'un des événements suivants se produit:

  • lorsqu'un nouveau conteneur enregistré est chargé.
  • s'il n'y a pas de conteneur enregistré ou si un conteneur enregistré est obsolète, si un conteneur réseau est chargé ou si une erreur réseau se produit.
  • 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 sera transmis au système d'alerte dès qu'il sera disponible.

Paramètres :
containerIdIdentifiant du conteneur à charger.
tagManagerLe gestionnaire TAGManager utilisé pour obtenir le conteneur
openTypeChoix de la manière d'ouvrir le conteneur.
délai avant expirationNombre maximal de secondes d'attente avant le chargement du conteneur à partir du store enregistré. Si la valeur n'est nulle, la valeur defaultTimeout est utilisée.
système d'alerteSystème d'alerte facultatif qui sera appelé lorsque le conteneur sera disponible. Il sera appelé avec le nouveau conteneur, s'il est disponible et chargé avant le délai avant expiration. sinon il sera appelé avec un conteneur non neuf. Notez que le système d'alerte peut être appelé à partir d'un autre thread.
+ (NSTimeInterval) defaultTimeout

Renvoie le délai avant expiration par défaut pour la requête du conteneur.

Renvoie :
Délai avant expiration par défaut en secondes.