Riferimento alla classe TAGContainerOpener

Riferimento classe TAGContainerOpener

Panoramica

Una classe helper per l'apertura dei container.

Si tratta di un wrapper per il metodo openContainerById:callback: (TAGManager) per i chiamanti che fornisce supporto per i timeout.

Di seguito è riportato un esempio in cui occorre attendere fino a 0,1 secondi per il caricamento del container prima di ripristinare il container predefinito:

     NSTimeInterval timeout = 0.1;
     TagManager *tagManager = [TagManager instance];
     TAGContainerFuture *future =
         [TAGContainerOpener openContainerWithId:@"GTM-XXXX"
                                      tagManager:tagManager
                                        openType:kTAGOpenTypePreferNonDefault
                                         timeout:&timeout];
     TAGContainer *container = [future get];
 

Se il chiamante vuole ricevere una notifica asincrona quando il container è disponibile, ma vuole specificare manualmente il timeout su 0,5 secondi, deve definire la sottoclasse TAGContainerOpenerNotifier, effettuare la chiamata a openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) con timeout impostato su 0.5 e aggiungere l'implementazione a containerAvailable for container-OpenerNotifier.

Funzioni membro pubbliche statiche

(id< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 Attende fino a timeout secondi per il caricamento di un container (non predefinito o aggiornato in base al valore openType specificato) e restituisce un TAGContainerFuture.
(nullo)+ openContainerWithId:tagManager:openType:timeout:notifier:
 Attende fino a timeout secondi per il caricamento di un container (non predefinito o aggiornato in base al valore openType specificato) e chiama un notificatore quando il contenitore è disponibile.
(NSTimeInterval)+ defaultTimeout
 Restituisce il timeout predefinito per la richiesta del container.

Documentazione sulle funzioni dei membri

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
tipo di apertura: (TAGOpenType) openType
timeout: (NSTimeInterval *) timeout

Attende fino a timeout secondi per il caricamento di un container (non predefinito o aggiornato in base al valore openType specificato) e restituisce un TAGContainerFuture.

Se il tipo aperto è kTAGOpenTypePreferNonDefault, viene caricato un container non predefinito (salvato o recuperato dalla rete) e TAGContainerFuture viene sbloccato non appena si verifica una delle seguenti condizioni:

  • viene caricato un container salvato.
  • Se non è stato salvato alcun container, viene caricato un container di rete o si verifica un errore di rete.
  • il timer scade.

Se si verifica un errore di rete o il timer scade, get (TAGContainerFuture-p) potrebbe restituire un contenitore predefinito.

Se il tipo aperto è kTAGOpenTypePreferFresh, viene caricato un contenitore nuovo (salvato o recuperato dalla rete) e TAGContainerFuture viene sbloccato non appena si verifica una delle seguenti condizioni:

  • viene caricato un nuovo container salvato.
  • se non è presente alcun container salvato o se il container salvato è inattivo, se viene caricato un container di rete o si verifica un errore di rete.
  • il timer scade.

Se si verifica un errore di rete o il timer scade, get (TAGContainerFuture-p) potrebbe contenere un container predefinito o salvato inattivo.

Se chiami uno dei metodi openContainer una seconda volta con un determinato containerId, verrà restituito un TAGContainerFuture il cui get (TAGContainerFuture-p) restituirà lo stesso container della prima chiamata.

Parametri:
containerIdL'ID del container da caricare.
tagManagerIl TAGManager per recuperare il container.
timeoutIl numero massimo di secondi di attesa prima di caricare il container dal datastore salvato. Se il valore è null, verrà utilizzato defaultTimeout.
openTypeLa scelta di come aprire il container.
Resi:
Un TAGContainerFuture che attenderà fino a timeout e restituirà il contenitore quando sarà disponibile.
+ (void) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
tipo di apertura: (TAGOpenType) openType
timeout: (NSTimeInterval *) timeout
notifier: (id< TAGContainerOpenerNotifier >) notifica

Attende fino a timeout secondi per il caricamento di un container (non predefinito o aggiornato in base al valore openType specificato) e chiama un notificatore quando il contenitore è disponibile.

Se il tipo aperto è kTAGOpenTypePreferNonDefault, un container non predefinito (salvato o recuperato dalla rete) viene caricato e trasmesso al notificatore. L'avviso viene chiamato non appena si verifica una delle seguenti condizioni:

  • viene caricato un container salvato.
  • Se non è stato salvato alcun container, viene caricato un container di rete o si verifica un errore di rete.
  • il timer scade.

Se si verifica un errore di rete o il timer scade, il container trasmesso al notificatore è un container predefinito.

Se il tipo aperto è kTAGOpenTypePreferFresh, un container nuovo (salvato o recuperato dalla rete) viene caricato e trasmesso al notificatore. L'avviso viene chiamato non appena si verifica una delle seguenti condizioni:

  • viene caricato un nuovo container salvato.
  • se non è presente alcun container salvato o se il container salvato è inattivo, se viene caricato un container di rete o si verifica un errore di rete.
  • il timer scade.

Se si verifica un errore di rete o il timer scade, il container trasmesso al notificatore potrebbe contenere valori predefiniti o un container salvato inattivo.

Se chiami uno dei metodi openContainer una seconda volta con un determinato containerId, lo stesso container restituito dalla chiamata precedente verrà passato al notifier non appena sarà disponibile.

Parametri:
containerIdL'ID del container da caricare.
tagManagerIl TAGManager utilizzato per recuperare il container.
openTypeLa scelta di come aprire il container.
timeoutIl numero massimo di secondi di attesa prima di caricare il container dal datastore salvato. Se il valore è null, verrà utilizzato defaultTimeout.
notificatoreUn notificatore facoltativo che verrà chiamato quando il contenitore sarà disponibile. Verrà chiamata con il container nuovo, se disponibile, e caricato prima del timeout. altrimenti verrà chiamato con un container non nuovo. Tieni presente che il notificatore potrebbe essere chiamato da un thread diverso.
+ (NSTimeInterval) defaultTimeout

Restituisce il timeout predefinito per la richiesta del container.

Resi:
Il timeout predefinito in secondi.