Odniesienie do klasy TAGManager


Opis

Klasa reprezentująca mobilną implementację Menedżera tagów Google.

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. Tworzysz go w aplikacji Menedżera tagów Google (http://www.google.com/tagmanager) i przypisujesz identyfikator kontenera. Ten identyfikator kontenera jest używany w tym interfejsie API.

Klasa TAGContainer udostępnia metody pobierania wartości makr z określoną nazwą 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.

Jeśli np. kontener ma makro zbierania wartości z kluczem „speed”, o wartości 32, a regułą włączającą jest „Język”, a drugie makro zbierania wartości ma wartość „szybkość” o wartości 45, a regułą włączającą jest język inny niż „en”, a następnie wykonuje to wywołanie:

     [container longForKey:@"speed"]
 

zwróci wartość 32, jeśli językiem ustawionym na urządzeniu jest angielski, lub 45 w innym przypadku.

Warstwa danych to mapa zawierająca ogólne informacje 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.

Początkowa wersja kontenera jest dołączana do aplikacji. Powinien on zostać umieszczony 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 funkcję openContainerById:callback: (TAGManager), kontener zostanie zwrócony z tymi połączonymi regułami, tagami i makrami. Utwórz kontener w interfejsie i użyjesz przycisku Pobierz, aby go pobrać.

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

Pobrany kontener zostanie zapisany lokalnie. Wywołanie metody openContainerById:callback: (TAGManager) spowoduje, że najpierw wczyta się domyślny kontener, a potem asynchronicznie dowolny zapisany kontener. Jeśli nie zostanie znaleziony żaden problem lub plik jest starsza niż 12 godzin, zostanie podjęta próba pobrania z sieci nowszej wersji. Stan załadowań asynchronicznych możesz sprawdzić, przekazując parametr TAGContainerCallback do metody openContainerById:callback: (TAGManager).

Czasami możesz chcieć zablokować kontener, dopóki nie będzie dostępny kontener inny niż domyślny lub nowy, świeży kontener. Możesz to zrobić, używając wywołań zwrotnych w metodzie openContainerById:callback: (TAGManager) lub tagu TAGContainerOpener.

Gdy skończysz korzystać z kontenera, wywołaj metodę close (TAGContainer).

Publiczne funkcje członków

(TAGContainer *)openContainerById:callback:
 Zwraca kontener.
(TAGContainer *)getContainerById:
 Zwraca kontener powiązany z podanym elementem containerId. Zwraca wartość nil, jeśli kontener nie jest jeszcze otwarty.
(BOOL) previewWithUrl:
 Wyświetla podgląd aplikacji za pomocą wejściowego adresu URL.
(void) dispatch
 Wysyłają cały oczekujący ruch sieciowy wygenerowany przez tagi (dowolne piksele, analityczne sygnały typu beacon itp.).
(void) dispatchWithExactHandler:
 Wysyła następny oczekujący ruch sieciowy w kolejce, wywołując opcję completeHandler, gdy żądanie zostało wysłane (zwraca kTAGDispatchGood) lub wystąpił błąd (zwraca kTAGDispatchError).

Statyczne publiczne funkcje członkowskie

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

Usługi

id< TAGLogger >logger
 Rejestrator używany na potrzeby pakietu SDK Menedżera tagów Google.
TAGRefreshModerefreshMode
 Tryb odświeżania używany w pakiecie SDK Menedżera tagów Google.
TAGDataLayerdataLayer
 Wywołaj metodę push: (TAGDataLayer), aby przekazać zdarzenia i inne dane.
NSTimeInterval,dispatchInterval
 Jeśli wartość jest dodatnia, informacje o śledzeniu będą automatycznie wysyłane co dispatchInterval sekund.

Dokumentacja funkcji członka grupy

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

Zwraca kontener.

Zwykle zwrócony kontener jest pusty, ale wczytywanie odbywa się asynchronicznie. Oznacza to, że zwrócony kontener może zostać odświeżony przed jego zwróceniem lub po zwróceniu. Może też nie zostać odświeżony, jeśli np. w trakcie działania kontenera nie ma połączenia sieciowego.

Wywołanie zwrotne będzie wywoływane w miarę realizacji różnych zdarzeń w kontenerze. Metoda openContainerById:callback: będzie próbowała wczytać zapisaną wersję kontenera jako minimum. Jeśli nie ma zapisanej wersji lub zapisana wersja jest nieaktualna, spróbuje załadować sieć z sieci.

Jeśli zdarzenie openContainerById:callback: zostanie wywołane po raz drugi w przypadku danego elementu containerId, zostanie zwrócona wartość nil, chyba że poprzedni otwarty kontener został już zamknięty.

Parametry:
containerIdIdentyfikator kontenera, który ma zostać otwarty.
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. Można je też wywołać przed zwrotem openContainerById:callback:.
Zwraca:
Otwarty kontener.
– (TAGContainer *) getContainerById: (NSString *) containerId

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

– (BOOL) previewWithUrl: (NSURL *) adres URL

Wyświetla podgląd aplikacji za pomocą wejściowego adresu URL.

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

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

gdzie <nazwa_aplikacji> to nazwa aplikacji.

Parametry:
url (adres URL)Adres URL podglądu.
Zwraca:
TAK, jeśli adres URL jest prawidłowym adresem URL podglądu tagmanager.

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

Zwraca:
Pojedyncze wystąpienie obiektu TAGManager.
- (nieważny) dispatch

Wysyłają cały oczekujący ruch sieciowy wygenerowany przez tagi (dowolne piksele, analityczne sygnały typu beacon itp.).

– (void) dispatchWithkowyHandler: (TAGDispatchResult) completionHandler

Wysyła następny oczekujący ruch sieciowy w kolejce, wywołując opcję completeHandler, gdy żądanie zostało wysłane (zwraca kTAGDispatchGood) lub wystąpił błąd (zwraca kTAGDispatchError).

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

Wywołanie tej metody z użyciem wartości nil completeHandler jest równoważne z wywołaniem metody dispatch.

Ta metoda może służyć do pobierania danych w tle na urządzeniach z iOS 7.0 i nowszymi wersjami.

Najlepiej jest wywoływać tę funkcję przy zamykaniu aplikacji, aby rozpocząć przesyłanie wszelkich nieprzesłanych informacji o śledzeniu.


Dokumentacja właściwości

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

Rejestrator używany na potrzeby pakietu SDK Menedżera tagów Google.

Domyślnie Menedżer tagów Google rejestruje komunikaty o błędach/ostrzeżenia i ignoruje komunikaty informacyjne, debugowanie i szczegółowe. Możesz użyć własnego niestandardowego rejestratora, konfigurując tę właściwość.

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

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

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

– (TAGDataLayer*) dataLayer [read, assign]

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

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

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

W przeciwnym razie informacje o śledzeniu trzeba przesłać ręcznie, kontaktując się z dyspozytorem.

Domyślnie ustawiona jest wartość „120”, co oznacza, że informacje o śledzeniu będą wysyłane automatycznie co 120 sekund.