Überblick
Eine Hilfsklasse zum Öffnen von Containern.
Dies ist ein Wrapper um die Methode openContainerById:callback: (TAGManager) für Aufrufer, die Zeitüberschreitungen unterstützt.
Im folgenden Beispiel wird eine Wartezeit von bis zu 0,1 Sekunden auf das Laden des Containers gezeigt, bevor auf den Standardcontainer zurückgesetzt wird:
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, das Zeitlimit jedoch manuell auf 0,5 Sekunden festgelegt werden soll, sollte der Aufrufer eine Unterklasse von TAGContainerOpenerNotifier erstellen, den Aufruf an openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) mit einer Zeitüberschreitung auf 0.5 vornehmen und die Implementierung unter containerAvailable: (TAGContainer Notification) für die Verarbeitung der Containerbenachrichtigung hinzufügen.
Statische Funktionen für öffentliche Mitglieder | |
(ID< TAGContainerFuture >) | + openContainerWithId:tagManager:openType:timeout: |
Wartet bis zu timeout Sekunden, bis ein Container geladen wird (je nach festgelegtem openType nicht standardmäßig oder aktuell) und gibt ein TAGContainerFuture zurück. | |
(void) | + openContainerWithId:tagManager:openType:timeout:notifier: |
Wartet bis zu timeout Sekunden, bis ein Container geladen wird (je nach festgelegtem openType nicht standardmäßig oder aktuell) und ruft einen Notifier auf, wenn der Container verfügbar ist. | |
(NSTimeInterval) | + defaultTimeout |
Gibt das Standardzeitlimit für die Anfrage 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 (je nach festgelegtem openType
nicht standardmäßig oder aktuell) und gibt ein TAGContainerFuture
zurück.
Wenn der geöffnete Typ kTAGOpenTypePreferNonDefault
ist, wird ein nicht standardmäßiger (gespeicherter oder aus dem Netzwerk abgerufener) Container geladen und die Blockierung von TAGContainerFuture
wird aufgehoben, sobald einer der folgenden Fälle eintritt:
- ein gespeicherter Container geladen wird.
- Wenn kein gespeicherter Container vorhanden ist, wird ein Netzwerkcontainer geladen oder ein Netzwerkfehler tritt auf.
- der Timer abläuft.
Wenn ein Netzwerkfehler auftritt oder der Timer abläuft, wird mit get (TAGContainerFuture-p) möglicherweise ein Standardcontainer zurückgegeben.
Lautet der geöffnete Typ kTAGOpenTypePreferFresh
, wird ein neuer (gespeicherter oder aus dem Netzwerk abgerufener) Container geladen und die Blockierung von TAGContainerFuture wird aufgehoben, sobald einer der folgenden Fälle eintritt:
- wird ein neuer Container geladen.
- Wenn kein gespeicherter Container vorhanden ist oder der gespeicherte Container veraltet ist, wurde ein Netzwerkcontainer geladen oder ein Netzwerkfehler tritt auf.
- 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
-Objekt zurückgegeben, dessen get (TAGContainerFuture-p) denselben Container wie beim ersten Aufruf zurückgibt.
- Parameter:
-
containerId Die ID des zu ladenden Containers. tagManager TAGManager zum Abrufen des Containers Time-out Die maximale Wartezeit in Sekunden, bis der Container aus dem gespeicherten Speicher geladen wird. Bei „nil“ wird defaultTimeout verwendet. openType Die Auswahl, wie der Container geöffnet werden soll.
- Gibt zurück:
- Ein TAGContainerFuture, das bis zu
timeout
wartet und den Container zurückgibt, sobald er verfügbar ist.
+ (void) openContainerWithId: | (NSString *) | containerId | |
TagManager verwenden: | (TAGManager *) | tagManager | |
openType: | (TAGOpenType) | openType | |
Zeitüberschreitung: | (NSTimeInterval *) | Zeitüberschreitung | |
Notifier: | (ID< TAGContainerOpenerNotifier >) | notifier | |
Wartet bis zu timeout
Sekunden, bis ein Container geladen wird (je nach festgelegtem openType
nicht standardmäßig oder aktuell) und ruft einen Notifier auf, wenn der Container verfügbar ist.
Wenn der geöffnete Container 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 einer der folgenden Fälle eintritt:
- ein gespeicherter Container geladen wird.
- Wenn kein gespeicherter Container vorhanden ist, wird ein Netzwerkcontainer geladen oder ein Netzwerkfehler tritt 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 geöffnete Container kTAGOpenTypePreferFresh
ist, wird ein neuer (gespeicherter oder aus dem Netzwerk abgerufener) Container geladen und an den Notifier übergeben. Der Notifier wird aufgerufen, sobald einer der folgenden Fälle eintritt:
- wird ein neuer Container geladen.
- Wenn kein gespeicherter Container vorhanden ist oder der gespeicherte Container veraltet ist, wurde ein Netzwerkcontainer geladen oder ein Netzwerkfehler tritt auf.
- der Timer abläuft.
Wenn ein Netzwerkfehler auftritt oder der Timer abläuft, enthält der an den Notifier übergebene Container möglicherweise Standardeinstellungen oder einen veralteten gespeicherten Container.
Wenn Sie eine der openContainer-Methoden ein zweites Mal mit einem bestimmten containerId
aufrufen, wird der vom vorherigen Aufruf zurückgegebene Container an den Notifier übergeben, sobald er verfügbar ist.
- Parameter:
-
containerId Die ID des zu ladenden Containers. tagManager Der TAGManager, mit dem der Container abgerufen wird. openType Die Auswahl, wie der Container geöffnet werden soll. Time-out Die maximale Wartezeit in Sekunden, bis der Container aus dem gespeicherten Speicher geladen wird. Bei „nil“ wird defaultTimeout verwendet. Notifier Ein optionaler Notifier, der aufgerufen wird, wenn der Container verfügbar ist. Sie wird mit dem neuen Container aufgerufen, sofern verfügbar, und vor dem Zeitlimit geladen. Andernfalls wird mit einem nicht neuen Container aufgerufen. Beachten Sie, dass der Notifier möglicherweise von einem anderen Thread aufgerufen werden kann.
+ (NSTimeInterval) defaultTimeout |
Gibt das Standardzeitlimit für die Anfrage des Containers zurück.
- Gibt zurück:
- Das standardmäßige Zeitlimit in Sekunden.