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"));
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")
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 | |
| void | |
| 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 statis TagManager getInstance (Konteks konteks)
Dapatkan instance singleton class TagManager, yang membuatnya jika perlu.
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.