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. ID ini dibuat di dalam aplikasi GTM, dan diberi ID penampung. ID penampung ini adalah ID 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.

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

 container.getLong("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 DataLayer menyediakan metode untuk mendorong dan mengambil data dari lapisan data. Mengirim kunci event ke lapisan data akan menyebabkan tag yang cocok dengan peristiwa ini untuk memicu.

Versi awal penampung dipaketkan bersama aplikasi. Seharusnya ditempatkan sebagai aset dengan nama tagmanager/containerId dengan containerId sama ID penampung 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. Jika demikian, lain kali aplikasi seluler memperbarui penampung dari jaringan (saat ini setiap 12 jam), versi baru yang akan muncul. Jika 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), tindakan ini akan dilakukan memuat penampung default, lalu akan memuat penampung tersimpan secara asinkron. Jika tidak ada yang ditemukan, atau jika sudah lebih dari 12 jam, komputer akan mencoba mengambil versi yang lebih baru dari jaringan. Anda dapat menemukan status pemuatan asinkron tersebut dengan meneruskan Container.Callback hingga openContainer(String, Container.Callback).

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

Setelah selesai dengan penampung, panggil close().

Ringkasan Class Bertingkat

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

Ringkasan Metode Publik

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

Metode Publik

publik Penampung getContainer (String containerId)

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

publik Konteks getContext ()

Menampilkan konteks tersimpan yang terkait dengan objek ini.

publik DataLayer getDataLayer ()

Menampilkan objek lapisan data yang digunakan oleh Tag Manager.

publik statis TagManager getInstance (Konteks konteks)

Dapatkan instance singleton class TagManager, yang membuatnya jika perlu.

publik Pencatat Log getLogger ()

Menampilkan pencatat log yang sedang digunakan oleh Tag Manager.

publik TagManager.RefreshMode getRefreshMode ()

Menampilkan mode muat ulang yang digunakan untuk semua penampung.

publik Penampung openContainer (String containerId, Container.Callback callback)

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

Biasanya, container yang ditampilkan akan kosong, tetapi pemuatan akan terjadi pada , sehingga kontainer yang dikembalikan dapat direfresh sebelum dikembalikan, setelah dikembalikan, atau mungkin tidak pernah diperbarui (misalnya, jika tidak ada koneksi jaringan selama masa aktif dari container).

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

Parameter
ID penampung ID penampung yang akan dibuka
callback objek yang berbagai metodenya akan dipanggil selama bagian pemuatan {i>checkout<i}. Perhatikan bahwa metode dapat dipanggil dari thread yang berbeda. Selain itu, mereka mungkin dipanggil sebelum openContainer ditampilkan.

publik kosong setLogger (Logger logger)

Menggantikan pencatat log yang ada yang digunakan oleh Tag Manager.

publik kosong setRefreshMode (TagManager.RefreshMode )

Menetapkan mode refresh yang digunakan untuk semua penampung.