Pengelola Tag

kelas publik TagManager

Ini adalah penerapan seluler Google Tag Manager (GTM). Contoh penggunaan:

 Container container = TagManager.getInstance(context).openContainer(myContainerId);
 String value = container.getString("myKey");

 DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
 dataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", "Main Page"));
Penampung adalah kumpulan makro, tag, dan aturan. Kolom ini dibuat dalam aplikasi GTM, dan diberi ID penampung. ID penampung ini adalah yang digunakan dalam API ini.

Class Container menyediakan metode untuk mengambil nilai yang diberikan kunci. Rutinitas getBoolean(String), getDouble(String), getLong(String), getString(String) menampilkan nilai saat ini untuk kunci makro kumpulan nilai, bergantung pada aturan yang terkait dengan penampung tersebut.

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

 container.getLong("speed")
akan menampilkan 32 jika bahasa perangkat saat ini adalah bahasa Inggris, atau 45 jika sebaliknya.

Lapisan data adalah peta yang menyimpan informasi generik tentang aplikasi. Class DataLayer 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. Aset ini harus ditempatkan sebagai aset dengan nama tagmanager/containerId, dengan containerId adalah ID penampung yang sama yang akan Anda gunakan dalam API ini. Saat Anda memanggil openContainer(String, Container.Callback), penampung akan ditampilkan dengan aturan/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..., nilainya akan dihitung menggunakan aturan terbaru.

Penampung yang didownload disimpan secara lokal; saat Anda memanggil openContainer(String, Container.Callback), penampung ini akan memuat penampung default terlebih dahulu, lalu akan memuat penampung tersimpan secara asinkron. Jika tidak ada yang ditemukan, atau jika versi lebih lama dari 12 jam, aplikasi akan mencoba mengambil versi yang lebih baru dari jaringan. Anda dapat menemukan status pemuatan asinkron tersebut dengan meneruskan Container.Callback ke openContainer(String, Container.Callback).

Terkadang, Anda mungkin ingin memblokir hingga penampung non-default tersedia, atau hingga penampung baru tersedia. ContainerOpener adalah class utilitas yang dapat membantu.

Setelah Anda selesai dengan penampung, panggil close().

Ringkasan Class Bertingkat

antarmuka TagManager.Logger Antarmuka sederhana untuk error/peringatan/info/debug/logging panjang. 
enum TagManager.RefreshMode Mode memuat ulang penampung. 

Ringkasan Metode Publik

Container
getContainer(String containerId)
Konteks
DataLayer
statis TagManager
getInstance(Konteks konteks)
Logger
TagManager.RefreshMode
Container
openContainer(String containerId, Container.Callback callback)
void
setLogger(Logger logger)
void

Metode Publik

public Container getContainer (String containerId)

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

public Konteks getContext ()

Menampilkan konteks tersimpan yang terkait dengan objek ini.

publik DataLayer getDataLayer ()

Menampilkan objek lapisan data yang digunakan oleh Tag Manager.

publik static TagManager getInstance (Konteks konteks)

Dapatkan instance singleton class TagManager, dengan membuatnya jika perlu.

publik Logger getLogger ()

Menampilkan pencatat yang sedang digunakan oleh Tag Manager.

publik TagManager.RefreshMode getRefreshMode ()

Menampilkan mode refresh yang digunakan untuk semua penampung.

public Container openContainer (String containerId, Container.Callback callback)

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

Biasanya, penampung yang ditampilkan akan kosong, tetapi pemuatan akan terjadi di thread terpisah, 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).

Jika Anda memanggil openContainer untuk kedua kalinya untuk containerId tertentu, pengecualian akan ditampilkan.

Parameter
containerId ID penampung untuk membuka
callback objek yang berbagai metodenya akan dipanggil selama bagian-bagian proses pemuatan. Perhatikan, metode dapat dipanggil dari thread berbeda. Selain itu, metode tersebut dapat dipanggil sebelum openContainer ditampilkan.

public void setLogger (Logger logger)

Mengganti pencatat log yang ada yang digunakan oleh Tag Manager.

public void setRefreshMode (TagManager.RefreshMode mode)

Menetapkan mode muat ulang yang digunakan untuk semua penampung.