Referensi Class TAGManager


Ringkasan

Kelas yang merupakan penerapan seluler dari Google Tag Manager (GTM).

Contoh penggunaan:

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

Penampung adalah kumpulan makro, aturan, dan tag. ID penampung dibuat dalam aplikasi GTM (http://www.google.com/tagmanager), dan diberi ID penampung. ID penampung ini adalah yang digunakan dalam API ini.

Class TAGContainer menyediakan metode untuk mengambil nilai makro berdasarkan nama makro. Rutinitas booleanForKey: (TAGContainer), doubleForKey: (TAGContainer), int64ForKey: (TAGContainer), stringForKey: (TAGContainer) menampilkan nilai saat ini untuk nama makro kumpulan nilai, bergantung pada aturan yang terkait dengan makro tersebut dalam penampung.

Misalnya, jika penampung Anda memiliki makro pengumpulan nilai dengan kunci "speed" yang nilainya 32, dan aturan pengaktifannya adalah Bahasa "en"; dan makro pengumpulan nilai lainnya dengan kunci "speed" yang nilainya 45, dan aturan pengaktifannya adalah Language is not "en", maka melakukan panggilan berikut:

     [container longForKey:@"speed"]
 

akan mengembalikan 32 jika bahasa perangkat saat ini adalah bahasa Inggris, atau 45 jika tidak.

Lapisan data adalah peta yang menyimpan informasi generik tentang aplikasi. Class TAGDataLayer menyediakan metode untuk mendorong dan mengambil data dari lapisan data. Mendorong kunci event ke lapisan data akan menyebabkan tag yang cocok dengan peristiwa ini diaktifkan.

Versi awal container dipaketkan dengan aplikasi. File tersebut harus ditempatkan sebagai resource dalam paket dengan nama containerId dengan containerId sebagai ID penampung yang sama yang akan Anda gunakan dalam API ini. Saat Anda memanggil openContainerById:callback: (TAGManager), penampung akan ditampilkan dengan aturan/tag/makro yang dipaketkan tersebut. Anda akan membuat penampung di UI dan menggunakan tombol Download untuk mendownloadnya.

Anda dapat mengubah penampung di UI dan memublikasikan versi baru. Dalam hal ini, saat berikutnya aplikasi seluler memuat ulang penampung dari jaringan (saat ini setiap 12 jam), penampung akan mendapatkan versi baru tersebut. Saat Anda memanggil salah satu rutinitas get..., nilai akan dihitung menggunakan aturan terbaru.

Penampung yang didownload disimpan secara lokal. Saat Anda memanggil openContainerById:callback: (TAGManager), penampung default akan dimuat terlebih dahulu, lalu akan memuat penampung tersimpan secara asinkron. Jika tidak ada yang ditemukan atau jika data lebih lama dari 12 jam, jaringan akan mencoba mengambil versi yang lebih baru dari jaringan. Anda dapat menemukan status pemuatan asinkron tersebut dengan meneruskan TAGContainerCallback ke openContainerById:callback: (TAGManager).

Terkadang Anda mungkin ingin memblokir hingga penampung non-default tersedia, atau hingga penampung baru tersedia. Anda dapat melakukannya dengan menggunakan callback di openContainerById:callback: (TAGManager) atau menggunakan TAGContainerOpener.

Setelah penampung selesai, panggil close (TAGContainer).

Fungsi Anggota Publik

(TAGContainer *)- openContainerById:callback:
 Menampilkan penampung.
(TAGContainer *)- getContainerById:
 Menampilkan penampung yang terkait dengan containerId yang diberikan; menampilkan nil jika penampung belum terbuka.
(BOOL) - previewWithUrl:
 Melihat pratinjau aplikasi dengan URL input.
(void) - pengiriman
 Mengirimkan traffic jaringan yang tertunda yang dihasilkan oleh tag (piksel arbitrer, beacon analisis, dll).
(void) - dispatchWithCompletionHandler:
 Mengirim traffic jaringan yang tertunda berikutnya dalam antrean, memanggil completionHandler saat permintaan telah dikirim (menampilkan kTAGDispatchGood) atau terjadi error (menampilkan kTAGDispatchError).

Fungsi Anggota Publik Statis

(TAGManager *)+ instance
 Mendapatkan instance singleton class TAGManager, yang membuatnya jika perlu.

Properti

id< TAGLogger >logger
 Logger yang akan digunakan untuk SDK Google Tag Manager.
TAGRefreshModerefreshMode
 Mode muat ulang yang digunakan untuk Google Tag Manager SDK.
TAGDataLayerdataLayer
 Panggil metode push: (TAGDataLayer) untuk mengirim peristiwa dan data lainnya.
NSTimeIntervaldispatchInterval
 Jika nilai ini positif, informasi pelacakan akan otomatis dikirim setiap detik dispatchInterval.

Dokumentasi Fungsi Anggota

- (TAGContainer *) openContainerById: (NSString *) containerId
: (id< TAGContainerCallback >) callback

Menampilkan penampung.

Biasanya penampung yang ditampilkan akan kosong, namun pemuatan akan terjadi secara asinkron, sehingga penampung yang ditampilkan dapat dimuat ulang sebelum ditampilkan, setelah ditampilkan, atau mungkin tidak akan pernah dimuat ulang jika, misalnya, tidak ada koneksi jaringan selama masa aktif penampung.

Callback akan dipanggil saat berbagai hal terjadi untuk penampung. Setidaknya, openContainerById:callback: akan mencoba memuat versi penampung yang tersimpan. Jika tidak ada versi yang tersimpan, atau jika versi yang tersimpan sudah usang, upaya akan dilakukan untuk memuat dari jaringan.

Jika openContainerById:callback: dipanggil untuk kedua kalinya untuk containerId tertentu, nil akan ditampilkan kecuali jika penampung yang dibuka sebelumnya telah ditutup.

Parameter:
containerIdID penampung yang akan dibuka.
callbackObjek yang berbagai metodenya akan dipanggil selama proses pemuatan. Perhatikan, metode dapat dipanggil dari thread berbeda. Selain itu, kolom tersebut mungkin dipanggil sebelum openContainerById:callback: ditampilkan.
Hasil:
Penampung yang dibuka.
- (TAGContainer *) getContainerById: (NSString *) containerId

Menampilkan penampung yang terkait dengan containerId yang diberikan; menampilkan nil jika penampung belum terbuka.

- (BOOL) previewWithUrl: (NSURL *) url

Melihat pratinjau aplikasi dengan URL input.

URL yang valid harus diawali dengan:

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

dengan <app_name> adalah nama aplikasi.

Parameter:
urlURL pratinjau.
Hasil:
YA jika URL adalah URL pratinjau tagmanager yang valid.

Mendapatkan instance singleton class TAGManager, yang membuatnya jika perlu.

Hasil:
Instance singleton TAGManager.
- (void) pengiriman

Mengirimkan traffic jaringan yang tertunda yang dihasilkan oleh tag (piksel arbitrer, beacon analisis, dll).

- (void) dispatchWithCompletionHandler: (TAGDispatchResult) completionHandler

Mengirim traffic jaringan yang tertunda berikutnya dalam antrean, memanggil completionHandler saat permintaan telah dikirim (menampilkan kTAGDispatchGood) atau terjadi error (menampilkan kTAGDispatchError).

Jika tidak ada koneksi jaringan atau tidak ada data untuk dikirim, kTAGDispatchNoData akan ditampilkan.

Memanggil metode ini dengan nil completionHandler sama dengan memanggil pengiriman.

Metode ini dapat digunakan untuk pengambilan data latar belakang di iOS 7.0 atau yang lebih baru.

Sebaiknya panggil ini saat aplikasi keluar untuk memulai pengiriman informasi pelacakan yang belum dikirim.


Dokumentasi Properti

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

Logger yang akan digunakan untuk SDK Google Tag Manager.

Secara default, Google Tag Manager mencatat pesan error/peringatan dan mengabaikan pesan info/debug/verbose. Anda dapat menggunakan pencatat log yang disesuaikan dengan menyetel properti ini.

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

Mode muat ulang yang digunakan untuk Google Tag Manager SDK.

Menetapkannya ke kTAGRefreshModeDefaultContainer memungkinkan metode refresh hanya menggunakan penampung default untuk tujuan pengembangan. Defaultnya adalah kTAGRefreshModeStandard.

- (TAGDataLayer*) dataLayer [read, assign]

Panggil metode push: (TAGDataLayer) untuk mengirim peristiwa dan data lainnya.

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

Jika nilai ini positif, informasi pelacakan akan otomatis dikirim setiap detik dispatchInterval.

Jika tidak, informasi pelacakan harus dikirim secara manual dengan menghubungi petugas operator.

Secara default, parameter ini ditetapkan ke `120`, yang menunjukkan bahwa informasi pelacakan akan otomatis dikirimkan setiap 120 detik.