Ringkasan
Class yang merupakan penerapan seluler 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 ID 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 "kecepatan" utama yang nilainya 32, dan aturan pengaktifannya adalah Language adalah "en"; dan makro pengumpulan nilai lainnya dengan kunci "kecepatan" yang nilainya adalah 45, dan aturan pengaktifannya adalah Language bukan merupakan "en", kemudian 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 umum tentang aplikasi. Class TAGDataLayer menyediakan metode untuk mendorong dan mengambil data dari lapisan data. Mengirim kunci event
ke lapisan data akan mengaktifkan tag yang cocok dengan peristiwa ini.
Versi awal penampung dipaketkan bersama aplikasi. Ini harus ditempatkan sebagai resource dalam paket dengan nama containerId
dengan containerId
adalah ID penampung yang sama dengan 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), versi baru tersebut akan didapatkan. Saat Anda memanggil salah satu rutinitas get..., nilainya akan dihitung menggunakan aturan terbaru.
Penampung yang didownload disimpan secara lokal. Saat Anda memanggil openContainerById:callback: (TAGManager), tindakan ini akan memuat penampung default terlebih dahulu, lalu akan memuat penampung tersimpan secara asinkron. Jika tidak ada yang ditemukan atau jika sudah lebih dari 12 jam, sistem 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 selesai dengan penampung, panggil close (TAGContainer).
Fungsi Anggota Publik | |
(TAGContainer *) | - openContainerById:callback: |
Menampilkan penampung. | |
(TAGContainer *) | - getContainerById: |
Menampilkan container yang terkait dengan containerId yang ditentukan; mengembalikan nil jika penampung belum terbuka. | |
(BOOL) | - previewWithUrl: |
Melihat pratinjau aplikasi dengan URL input. | |
(kosong) | - pengiriman |
Mengirimkan traffic jaringan tertunda yang dihasilkan oleh tag (piksel arbitrer, beacon analisis, dll.). | |
(kosong) | - dispatchWithCompletionHandler: |
Mengirimkan traffic jaringan tertunda berikutnya dalam antrean, memanggil completionHandler saat permintaan telah dikirim (menampilkan kTAGDispatchGood) atau terjadi error (mengembalikan kTAGDispatchError). | |
Fungsi Anggota Publik Statis | |
(TAGManager *) | + instance |
Mendapatkan instance singleton class TAGManager, yang membuatnya jika diperlukan. | |
Properti | |
id< TAGLogger > | logger |
Logger yang akan digunakan untuk SDK Google Tag Manager. | |
TAGRefreshMode | refreshMode |
Mode muat ulang yang digunakan untuk SDK Google Tag Manager. | |
TAGDataLayer * | dataLayer |
Panggil metode push: (TAGDataLayer) untuk mengirim peristiwa dan data lainnya. | |
NSTimeInterval | dispatchInterval |
Jika nilai ini positif, informasi pelacakan akan otomatis dikirim setiap detik dispatchInterval. |
Dokumentasi Fungsi Anggota
- (TAGContainer *) openContainerById: | (NSString *) | containerId | |
telepon balik: | (id< TAGContainerCallback >) | callback | |
Menampilkan penampung.
Biasanya penampung yang ditampilkan akan kosong, tetapi pemuatan akan terjadi secara asinkron sehingga penampung yang ditampilkan dapat dimuat ulang sebelum ditampilkan, setelah ditampilkan, atau mungkin tidak 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, akan dilakukan upaya pemuatan dari jaringan.
Jika openContainerById:callback: dipanggil untuk kedua kalinya untuk containerId
yang ditentukan, nil
akan ditampilkan kecuali jika penampung yang dibuka sebelumnya telah ditutup.
- Parameter:
-
ID penampung ID penampung yang akan dibuka. callback Objek yang berbagai metodenya akan dipanggil selama proses pemuatan. Perhatikan bahwa metode dapat dipanggil dari thread yang berbeda. Selain itu, kolom tersebut dapat dipanggil sebelum openContainerById:callback: ditampilkan.
- Hasil:
- Penampung yang terbuka.
- (TAGContainer *) getContainerById: | (NSString *) | containerId |
Menampilkan container yang terkait dengan containerId
yang ditentukan; mengembalikan nil
jika penampung belum terbuka.
- (BOOL) previewWithUrl: | (NSURL *) | url |
Melihat pratinjau aplikasi dengan URL input.
URL yang valid harus diawali dengan hal berikut:
tagmanager.c.<app_name>://preview/p?id=
dengan <app_name> adalah nama aplikasi.
- Parameter:
-
url URL pratinjau.
- Hasil:
- YA jika URL adalah URL pratinjau tagmanager yang valid.
+ (TAGManager *) instance |
Mendapatkan instance singleton class TAGManager, yang membuatnya jika perlu.
- Hasil:
- Instance singleton TAGManager.
- (membatalkan) pengiriman |
Mengirimkan traffic jaringan tertunda yang dihasilkan oleh tag (piksel arbitrer, beacon analisis, dll.).
- (void) dispatchWithCompletionHandler: | (TAGDispatchResult) | completionHandler |
Mengirimkan traffic jaringan tertunda berikutnya dalam antrean, memanggil completionHandler saat permintaan telah dikirim (menampilkan kTAGDispatchGood) atau terjadi error (mengembalikan kTAGDispatchError).
Jika tidak ada koneksi jaringan atau tidak ada data untuk dikirim, kTAGDispatchNoData akan ditampilkan.
Memanggil metode ini dengan nil completionHandler sama dengan memanggil dispatch.
Metode ini dapat digunakan untuk pengambilan data latar belakang di iOS 7.0 atau yang lebih baru.
Sebaiknya panggil metode ini saat aplikasi ditutup untuk memulai pengiriman informasi pelacakan yang belum dikirim.
Dokumentasi Properti
Logger yang akan digunakan untuk SDK Google Tag Manager.
Secara default, Google Tag Manager mencatat pesan error/peringatan ke dalam log dan mengabaikan pesan info/debug/verbose. Anda dapat menggunakan pencatat log kustom Anda sendiri dengan menyetel properti ini.
- (TAGRefreshMode) refreshMode [read, write, assign] |
Mode muat ulang yang digunakan untuk SDK Google Tag Manager.
Menetapkan ini ke kTAGRefreshModeDefaultContainer memungkinkan metode pemuatan ulang 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 operator.
Secara default, ini diatur ke `120`, yang menunjukkan informasi pelacakan akan dikirim secara otomatis setiap 120 detik.