TAGContainerOpener-Klassenreferenz

TAGContainerOpener-Klassenreferenz

Übersicht

Eine Hilfsklasse zum Öffnen von Containern.

Dies ist ein Wrapper um die Methode openContainerById:callback: (TAGManager) für Aufrufer, die Unterstützung für Zeitlimits bietet.

Im Folgenden sehen Sie ein Beispiel, das zeigt, wie bis zu 0,1 Sekunden auf das Laden des Containers gewartet wird, bevor er zum Standardcontainer zurückkehrt:

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

Wenn der Aufrufer asynchron benachrichtigt werden möchte, wenn der Container verfügbar ist, aber das Zeitlimit manuell auf 0,5 Sekunden festlegen möchte, sollte der Aufrufer TAGContainerOpenerNotifier als abgeleitete Klasse erstellen, openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) aufrufen und das Zeitlimit auf 0.5 setzen.Fügen Sie dann die Implementierung zu container: (TAGContainerOpenerNotifier zur Verarbeitung der Benachrichtigung "container: (TAG)OpenerNotifier" hinzu.

Statische öffentliche Mitgliederfunktionen

(id< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 Wartet bis zu timeout Sekunden, bis ein Container geladen wird (nicht standardmäßig oder aktuell, abhängig vom angegebenen openType) und gibt TAGContainerFuture zurück.
(nicht zutreffend)+ openContainerWithId:tagManager:openType:timeout:notifier:
 Wartet bis zu timeout Sekunden, bis ein Container geladen wird (nicht standardmäßig oder je nach angegebenem openType) und ruft einen Notifier auf, wenn der Container verfügbar ist.
(NSTimeInterval)+ defaultTimeout
 Gibt das Standardzeitlimit für das Anfordern des Containers zurück.

Dokumentation zu Mitgliederfunktionen

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
TagManager verwenden: (TAGManager *) tagManager
openType: (TAGOpenType) openType
Zeitüberschreitung: (NSTimeInterval *) Zeitüberschreitung

Wartet bis zu timeout Sekunden, bis ein Container geladen wird (nicht standardmäßig oder aktuell, abhängig vom angegebenen openType) und gibt TAGContainerFuture zurück.

Wenn der offene Typ kTAGOpenTypePreferNonDefault ist, wird ein nicht standardmäßiger Container (gespeichert oder aus dem Netzwerk abgerufen) geladen und die Blockierung von TAGContainerFuture wird aufgehoben, sobald eines der folgenden Ereignisse eintritt:

  • wird ein gespeicherter Container geladen.
  • Wenn kein gespeicherter Container vorhanden ist, wird ein Netzwerkcontainer geladen oder tritt ein Netzwerkfehler auf.
  • der Timer abläuft.

Wenn ein Netzwerkfehler auftritt oder der Timer abläuft, gibt get (TAGContainerFuture-p) möglicherweise einen Standardcontainer zurück.

Wenn der offene Typ kTAGOpenTypePreferFresh ist, wird ein neuer (gespeicherter oder aus dem Netzwerk abgerufener) Container geladen und die Blockierung von TAGContainerFuture wird aufgehoben, sobald eines der folgenden Ereignisse eintritt:

  • wird ein neuer gespeicherter Container geladen.
  • Wenn kein gespeicherter Container vorhanden ist oder ein gespeicherter Container veraltet ist, ein Netzwerkcontainer geladen wird oder ein Netzwerkfehler auftritt.
  • der Timer abläuft.

Wenn ein Netzwerkfehler auftritt oder der Timer abläuft, enthält get (TAGContainerFuture-p) möglicherweise Standardwerte oder einen veralteten gespeicherten Container.

Wenn Sie eine der openContainer-Methoden ein zweites Mal mit einem bestimmten containerId aufrufen, wird ein TAGContainerFuture zurückgegeben, dessen get (TAGContainerFuture-p) den gleichen Container wie beim ersten Aufruf zurückgibt.

Parameter:
containerIdDie ID des zu ladenden Containers.
tagManagerDen TAGManager zum Abrufen des Containers
ZeitüberschreitungDie maximale Wartezeit in Sekunden, bis der Container aus dem gespeicherten Speicher geladen wird. Wenn der Wert null ist, wird defaultTimeout verwendet.
openTypeDie Auswahl, wie der Container geöffnet werden soll.
Gibt zurück:
Eine TAGContainerFuture, die bis zu timeout wartet und den Container zurückgibt, wenn er verfügbar ist.
+ (void) openContainerWithId: (NSString *) containerId
TagManager verwenden: (TAGManager *) tagManager
openType: (TAGOpenType) openType
Zeitüberschreitung: (NSTimeInterval *) Zeitüberschreitung
Notifier: (id< TAGContainerOpenerNotifier >) benachrichtiger

Wartet bis zu timeout Sekunden, bis ein Container geladen wird (nicht standardmäßig oder je nach angegebenem openType) und ruft einen Notifier auf, wenn der Container verfügbar ist.

Wenn der offene Typ kTAGOpenTypePreferNonDefault ist, wird ein nicht standardmäßiger Container (gespeichert oder aus dem Netzwerk abgerufen) geladen und an den Notifier übergeben. Der Notifier wird aufgerufen, sobald eines der folgenden Ereignisse eintritt:

  • wird ein gespeicherter Container geladen.
  • Wenn kein gespeicherter Container vorhanden ist, wird ein Netzwerkcontainer geladen oder tritt ein Netzwerkfehler auf.
  • der Timer abläuft.

Wenn ein Netzwerkfehler auftritt oder der Timer abläuft, ist der an den Notifier übergebene Container ein Standardcontainer.

Wenn der offene Typ kTAGOpenTypePreferFresh ist, wird ein neuer (gespeicherter oder aus dem Netzwerk abgerufener) Container geladen und an den Notifier übergeben. Der Notifier wird aufgerufen, sobald eines der folgenden Ereignisse eintritt:

  • wird ein neuer gespeicherter Container geladen.
  • Wenn kein gespeicherter Container vorhanden ist oder ein gespeicherter Container veraltet ist, ein Netzwerkcontainer geladen wird oder ein Netzwerkfehler auftritt.
  • der Timer abläuft.

Wenn ein Netzwerkfehler auftritt oder der Timer abläuft, enthält der an den Notifier übergebene Container möglicherweise Standardwerte oder einen veralteten gespeicherten Container.

Wenn Sie eine der openContainer-Methoden ein zweites Mal mit einem bestimmten containerId aufrufen, wird derselbe Container, der vom vorherigen Aufruf zurückgegeben wurde, an den Notifier übergeben, sobald er verfügbar ist.

Parameter:
containerIdDie ID des zu ladenden Containers.
tagManagerDer TAGManager, der zum Abrufen des Containers verwendet wird.
openTypeDie Auswahl, wie der Container geöffnet werden soll.
ZeitüberschreitungDie maximale Wartezeit in Sekunden, bis der Container aus dem gespeicherten Speicher geladen wird. Wenn der Wert null ist, wird defaultTimeout verwendet.
NotifierEinen optionalen Notifier, der aufgerufen wird, wenn der Container verfügbar ist. Er wird mit dem neuen Container aufgerufen, falls verfügbar, und vor dem Zeitlimit geladen. Andernfalls wird sie mit einem nicht aktuellen Container aufgerufen. Beachten Sie, dass der Notifier von einem anderen Thread aus aufgerufen werden kann.
+ (NSTimeInterval) defaultTimeout

Gibt das Standardzeitlimit für das Anfordern des Containers zurück.

Gibt zurück:
Das standardmäßige Zeitlimit in Sekunden.