Etiket Yöneticisi

herkese açık sınıf TagManager

Bu, Google Etiket Yöneticisi'nin (GTM) mobil uygulamasıdır. Örnek kullanım:

 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"));
Kapsayıcı; makrolar, etiketler ve kurallardan oluşan bir koleksiyondur. GTM uygulaması içinde oluşturulur ve bu boyuta bir kapsayıcı kimliği atanır. Bu kapsayıcı kimliği, bu API'de kullanılan kimliktir.

Container sınıfı, bir anahtarın sağladığı değerleri almayla ilgili yöntemler sunar. getBoolean(String), getDouble(String), getLong(String), getString(String) rutinleri, kapsayıcıyla ilişkili kurallara bağlı olarak bir değer koleksiyonu makrosunun anahtarı için geçerli değeri döndürür.

Örneğin, kapsayıcınızda değeri 32 olan ve etkinleştirme kuralı Language "en" olan bir değer toplama makrosu varsa ve değeri 45 olan ve etkinleştirme kuralı "en" olmayan speed anahtarına sahip başka bir değer toplama makrosu varsa şu çağrı yapılır:

 container.getLong("speed")
cihazın geçerli dili İngilizceyse 32, aksi halde 45 sonucunu döndürür.speedLanguage

Veri katmanı, uygulama hakkında genel bilgileri içeren bir haritadır. DataLayer sınıfı, veri katmanından veri aktarma ve alma yöntemleri sunar. Veri katmanına bir event anahtarı aktarmak, bu etkinlikle eşleşen etiketlerin tetiklenmesine neden olur.

Kapsayıcının ilk sürümü, uygulamayla birlikte gelir. tagmanager/containerId adlı bir öğe olarak yerleştirilmelidir. Burada containerId, bu API'de kullanacağınız kapsayıcı kimliğidir. openContainer(String, Container.Callback) çağırdığınızda kapsayıcı, paketlenmiş kurallar/makrolarla birlikte döndürülür. Kullanıcı arayüzünde kapsayıcıyı oluşturur ve İndir düğmesini kullanarak indirin.

Kullanıcı arayüzünde kapsayıcıyı değiştirebilir ve yeni bir sürüm yayınlayabilirsiniz. Bu durumda, mobil uygulama kapsayıcıyı ağdan tekrar yenilediğinde (şu anda 12 saatte bir) bu yeni sürümü alır. "get..." rutinlerinden birini çağırdığınızda değer, en son kurallar kullanılarak hesaplanır.

İndirilen kapsayıcı yerel olarak kaydedilir. openContainer(String, Container.Callback) çağrısı yaptığınızda, önce varsayılan kapsayıcı yüklenir. Daha sonra ise kaydedilmiş herhangi bir kapsayıcı, eşzamansız olarak yüklenir. Hiçbir şey bulunmazsa veya 12 saatten daha eskiyse ağdan daha yeni bir sürüm almaya çalışır. openContainer(String, Container.Callback) öğesine Container.Callback geçirerek bu eşzamansız yüklemelerin durumunu öğrenebilirsiniz.

Bazen, varsayılan olmayan bir kapsayıcı kullanıma sunulana veya yeni bir kapsayıcı kullanıma sunulana kadar engelleme yapmak isteyebilirsiniz. ContainerOpener size yardımcı olabilecek bir yardımcı sınıftır.

Bir kapsayıcıyla işiniz bittiğinde close() numaralı telefonu arayın.

İç İçe geçmiş Sınıf Özeti

arayüz TagManager.Logger Hata/uyarı/bilgi/hata ayıklama/ayrıntılı günlük kaydı için basit bir arayüz. 
enum TagManager.RefreshMode Kapsayıcıyı yenileme modu. 

Herkese Açık Yöntem Özeti

Kapsayıcı
getContainer(Dize containerId)
İçerik
DataLayer
statik TagManager
getInstance(Bağlam bağlam)
Logger
TagManager.RefreshMode
Kapsayıcı
openContainer(Dize containerId, Container.Callback geri çağırma)
void
setLogger(Logger logger)
void

Herkese Açık Yöntemler

herkese açık Container getContainer (Dize containerId)

containerId ile ilişkili açık kapsayıcıyı döndürür. Kapsayıcı zaten açık değilse null değerini döndürür.

genel Bağlam getContext ()

Bu nesneyle ilişkili kayıtlı bağlamı döndürür.

herkese açık DataLayer getDataLayer ()

Etiket yöneticisi tarafından kullanılan veri katmanı nesnesini döndürür.

herkese açık statik TagManager getInstance (Bağlam bağlam)

Gerekirse TagManager sınıfının tekli örneğini alın.

herkese açık Logger getLogger ()

Etiket Yöneticisi tarafından kullanılmakta olan günlük kaydediciyi döndürür.

herkese açık TagManager.RefreshMode getRefreshMode ()

Tüm kapsayıcılar için kullanılan yenileme modunu döndürür.

herkese açık Container openContainer (String containerId, Container.Callback callback)

Bir kapsayıcı döndürür. Geri çağırma, kapsayıcıyla ilgili çeşitli işlemler sırasında çağrılır. OpenContainer en azından, kapsayıcının kaydedilmiş bir sürümünü yüklemeye çalışır. Kayıtlı sürüm yoksa veya kayıtlı sürüm güncel değilse ağdan yüklenmeye çalışılır.

Döndürülen kapsayıcı genellikle boş olur ancak yükleme ayrı bir iş parçacığında gerçekleşir. Bu nedenle, döndürülen kapsayıcı döndürülmeden önce veya döndürüldükten sonra yenilenebilir ya da hiçbir zaman yenilenmeyebilir (örneğin, kapsayıcının kullanım ömrü boyunca ağ bağlantısı yoksa).

Belirli bir containerId için openContainer öğesini ikinci kez çağırırsanız bir istisna uygulanır.

Parametreler
containerId açılacak kapsayıcının kimliği
geri çağırma Yükleme işleminin bazı bölümlerinde çeşitli yöntemleri çağrılacak bir nesne. Yöntemlerin farklı iş parçacıklarından çağrılabileceğini unutmayın. Ayrıca, openContainer geri dönmeden önce çağrılabilir.

herkese açık void setLogger (Logger logger)

Etiket Yöneticisi tarafından kullanılan mevcut günlük kaydedicinin yerine geçer.

herkese açık void setRefreshMode (TagManager.RefreshMode modu)

Tüm kapsayıcılar için kullanılan yenileme modunu ayarlar.