Odniesienie do klasy TAGManager

Odniesienie do klasy w usłudze TAGManager

Omówienie

Klasa, która jest implementacją Menedżera tagów Google na urządzenia mobilne.

Przykładowe zastosowanie:

      TAGContainer *container =
          [[TAGManager instance] openContainerById:myContainerId];
      NSString *value = [container stringForKey:@"myKey"];
      TAGDataLayer *dataLayer =
          [[TAGManager instance] dataLayer];
      [dataLayer push:@{@"event": @"openScreen",
                        @"screenName": @"Main Page"}];

Kontener to zbiór makr, reguł i tagów. Jest on tworzony w aplikacji Menedżera tagów Google (http://www.google.com/tagmanager) i do niego przypisywany jest identyfikator kontenera. Ten identyfikator kontenera jest używany w tym interfejsie API.

Klasa TAGContainer udostępnia metody pobierania wartości makr według nazwy makra. Procedury booleanForKey: (TAGContainer), doubleForKey: (TAGContainer), int64ForKey: (TAGContainer), stringForKey: (TAGContainer) zwracają bieżącą wartość nazwy makra zbierania wartości w zależności od reguł powiązanych z tym makrem w kontenerze.

Na przykład: jeśli Twój kontener zawiera makro zbierania wartości z kluczem „szybkość”, ma wartość 32, a regułą włączania jest język „en”. i kolejne makro do zbierania wartości z kluczem „szybkość”. ma wartość 45, a regułą włączania jest „Język” inny niż „en”, a następnie wywołuje to wywołanie:

     [container longForKey:@"speed"]
 

zwróci wartość 32, jeśli obecny język urządzenia to angielski, lub 45 (inaczej).

Warstwa danych to mapa z ogólnymi informacjami o aplikacji. Klasa TAGDataLayer udostępnia metody przekazywania danych z warstwy danych i ich pobierania. Przekazywanie klucza event do warstwy danych spowoduje uruchomienie tagów pasujących do tego zdarzenia.

Z aplikacją jest dołączana początkowa wersja kontenera. Należy go umieścić jako zasób w pakiecie o nazwie containerId, gdzie containerId to ten sam identyfikator kontenera, którego będziesz używać w tym interfejsie API. Gdy wywołasz metodę openContainerById:callback: (TAGManager), kontener zostanie zwrócony z tymi pakietami reguł, tagów i makr. Utworzysz kontener w interfejsie i klikniesz przycisk Pobierz, aby go pobrać.

Możesz zmodyfikować kontener w interfejsie użytkownika i opublikować nową wersję. W takim przypadku, gdy następnym razem aplikacja mobilna odświeży kontener z sieci (obecnie co 12 godzin), pobierze nową wersję. Gdy wywołujesz jedną z procedur get..., wartość zostanie obliczona przy użyciu najnowszych reguł.

Pobrany kontener zostanie zapisany lokalnie. Gdy wywołasz metodę openContainerById:callback: (TAGManager), wczyta się najpierw kontener domyślny, a potem asynchronicznie dowolny zapisany kontener. Jeśli nie zostanie znaleziony lub jest starszy niż 12 godzin, spróbuje pobrać z sieci nowszą wersję. Stan tych wczytań asynchronicznych możesz sprawdzić, przekazując parametr TAGContainerCallback do parametru openContainerById:callback: (Menedżer tagów).

Czasem możesz chcieć blokować reklamy do czasu, aż będzie dostępny kontener inny niż domyślny lub świeży kontener, który został udostępniony. Aby to zrobić, użyj wywołań zwrotnych w elemencie openContainerById:callback: (Menedżer tagów) lub użyj funkcji TAGContainerOpener.

Gdy skończysz pracę z kontenerem, wywołaj close (TAGContainer).

Publiczne funkcje członków

(TAGContainer *)openContainerById:callback:
 Zwraca kontener.
(TAGContainer *)getContainerById:
 Zwraca kontener powiązany z funkcją containerId. zwraca wartość nil, jeśli kontener nie jest jeszcze otwarty.
(wartość logiczna)previewWithUrl:
 Wyświetla podgląd aplikacji z wejściowym adresem URL.
(Nieważna)dispatch
 Wysyła cały oczekujący ruch w sieci wygenerowany przez tagi (dowolne piksele, obrazy typu analytics beacon itp.).
(Nieważna)dispatchWithCompletionHandler:
 Wysyła następny oczekujący ruch sieciowy w kolejce, wywołując completeHandler, gdy żądanie zostało wysłane (zwraca kTAGDispatchGood) lub wystąpił błąd (zwraca kTAGDispatchError).

Statyczne funkcje publiczne

(TAGManager *)+ instance
 Pobiera pojedynczą instancję klasy TAGManager i w razie potrzeby ją tworzy.

Właściwości

id< TAGLogger >rejestrator
 Rejestrator, który ma być używany z pakietem SDK Menedżera tagów Google.
TAGRefreshModerefreshMode
 Tryb odświeżania używany w pakiecie SDK Menedżera tagów Google.
TAGDataLayer *dataLayer
 Wywołaj metodę push: (TAGDataLayer), aby przekazywać zdarzenia i inne dane.
NSTimeIntervaldispatchInterval
 Jeśli ta wartość jest dodatnia, informacje o śledzeniu będą automatycznie wysyłane co sekundę w przypadku dispatchInterval.

Dokumentacja funkcji członków

– (TAGContainer *) openContainerById: (NSString *) containerId
wywołanie zwrotne: (id< TAGContainerCallback >) oddzwanianie

Zwraca kontener.

Zwykle zwracany kontener jest pusty, ale wczytywanie odbywa się asynchronicznie, więc zwrócony kontener może zostać odświeżony przed jego zwróceniem lub po jego zwróceniu albo może nigdy nie zostać odświeżony, jeśli np. nie ma połączenia sieciowego.

Wywołanie zwrotne będzie wywoływane w różnych sytuacjach dotyczących kontenera. Co najmniej openContainerById:callback: spróbuje wczytać zapisaną wersję kontenera. Jeśli nie ma zapisanej wersji lub zapisana wersja jest nieaktualna, zostanie podjęta próba załadowania z sieci.

Jeśli funkcja openContainerById:callback: zostanie wywołana po raz drugi dla danego containerId, zostanie zwrócona nil, chyba że poprzedni otwarty kontener został już zamknięty.

Parametry:
containerIdIdentyfikator kontenera do otworzenia.
wywołanie zwrotneObiekt, którego różne metody będą wywoływane podczas procesu wczytywania. Pamiętaj, że metody mogą być wywoływane z różnych wątków. Poza tym mogą być wywoływane przed zwrotem openContainerById:callback:.
Zwroty:
Otwarty kontener.
– (TAGContainer *) getContainerById: (NSString *) containerId

Zwraca kontener powiązany z funkcją containerId. zwraca wartość nil, jeśli kontener nie jest jeszcze otwarty.

- (BOOL) previewWithUrl: (NSURL *) url

Wyświetla podgląd aplikacji z wejściowym adresem URL.

Prawidłowy adres URL musi zaczynać się od:

 tagmanager.c.<app_name>://preview/p?id=

gdzie <app_name> to nazwa aplikacji.

Parametry:
URLAdres URL podglądu.
Zwroty:
TAK, jeśli URL jest prawidłowym adresem URL podglądu tagmanager.

Pobiera pojedynczą instancję klasy TAGManager i w razie potrzeby ją tworzy.

Zwroty:
Pojedyncze wystąpienie elementu TAGManager.
– (void) dispatch

Wysyła cały oczekujący ruch w sieci wygenerowany przez tagi (dowolne piksele, obrazy typu analytics beacon itp.).

- (void) dispatchWithCompletionHandler: (TAGDispatchResult) completionHandler

Wysyła następny oczekujący ruch sieciowy w kolejce, wywołując completeHandler po wysłaniu żądania (zwracanie kTAGDispatchGood) lub po wystąpieniu błędu (zwrócenie kTAGDispatchError).

Jeśli nie ma połączenia sieciowego lub nie ma danych do wysłania, zwracana jest funkcja kTAGDispatchNoData.

Wywołanie tej metody z nil completeHandler działa tak samo jak wywołanie metody dispatch.

Tej metody można używać do pobierania danych w tle na urządzeniach z iOS w wersji 7.0 lub nowszej.

Warto zadzwonić pod ten adres przy zamykaniu zgłoszenia, by rozpocząć przesyłanie nieprzesłanych informacji o śledzeniu.


Dokumentacja usługi

- (id<TAGLogger>) logger [read, write, assign]

Rejestrator, który ma być używany z pakietem SDK Menedżera tagów Google.

Domyślnie Menedżer tagów Google rejestruje komunikaty o błędach i ostrzeżeniach oraz ignoruje komunikaty informacyjne, debugujące i wyczerpujące. Możesz ustawić tę właściwość, by korzystać z własnego niestandardowego dziennika.

– (TAGRefreshMode) refreshMode [read, write, assign]

Tryb odświeżania używany w pakiecie SDK Menedżera tagów Google.

Ustawienie wartości kTAGRefreshModeDefaultContainer umożliwia metodzie odświeżania używanie do celów programistycznych tylko kontenera domyślnego. Wartość domyślna to kTAGRefreshModeStandard.

– (TAGDataLayer*) dataLayer [read, assign]

Wywołaj metodę push: (TAGDataLayer), aby przekazywać zdarzenia i inne dane.

– (NSTimeInterval) dispatchInterval [read, write, assign]

Jeśli ta wartość jest dodatnia, informacje o śledzeniu będą automatycznie wysyłane co sekundę w przypadku dispatchInterval.

W przeciwnym razie informacje o śledzeniu należy przesyłać ręcznie przez wywołanie dyspozytora.

Wartość domyślna to „120”, co oznacza, że informacje o śledzeniu będą wysyłane automatycznie co 120 sekund.