Bu kılavuzda, Android için Google Etiket Yöneticisi SDK'sı kullanılarak yaygın Universal Analytics etiketlerinin nasıl uygulanacağı açıklanmaktadır.
Yaygın Universal Analytics (UA) Etiket Yapılandırmaları
Google Etiket Yöneticisi ile uygulamanızda Universal Analytics'i uygulamak, Google Analytics uygulamanızda anında değişiklik yapabilmenizi sağlar. Bu değişiklikler, uygulama ikili programınızı yeniden oluşturup pazar sitelerine yeniden göndermenizi gerektirmez.
Bu kılavuzda, Universal Analytics etiketlerini ve Android için Google Etiket Yöneticisi SDK'sını kullanarak aşağıdaki görevleri nasıl gerçekleştirebileceğiniz gösterilmektedir:
- Uygulama Görüntülemelerini Gönderme (Ekran Görüntülenme Sayısı)
- Etkinlik Gönderme
- E-Ticaret İşlemlerini Gönderme
Uygulama Görüntülemelerini Gönderme (Ekran Görüntülenme Sayısı)
Bir uygulamada yeni bir ekran açıldığında Google Analytics'e bir uygulama görünümü (ekran görüntüleme) göndermek için:
- Ekran Adı Makrosu Oluşturma
- OpenScreenEvent Kuralı oluşturma
- UA Uygulama Görüntüleme (Ekran Görüntüleme) Etiketi Oluşturma
- Etkinlik ve Ekran Adını Veri Katmanına Aktarmak için Kodu Güncelleme
1. Ekran Adı Makrosu Oluşturun
Aşağıdaki yapılandırma değerlerini kullanarak yeni bir Ekran Adı makrosu oluşturun:
Makro Adı : screen name
Makro Türü : Data Layer Variable
Veri Katmanı Değişken Adı : screenName
2. OpenScreenEvent Kuralı Oluşturma
Aşağıdaki yapılandırma değerlerini kullanarak yeni UA uygulama görüntüleme (ekran görüntüleme) etiketini tetiklemek için kullanılacak yeni bir kural oluşturun:
Kural Adı : OpenScreenEvent
Koşul: {{ event }}
eşittir openScreen
3. Uygulama Görüntüleme (Ekran Görüntüleme) UA Etiketi Oluşturma
Aşağıdaki yapılandırma değerlerini kullanarak yeni bir UA etiketi oluşturun:
Etiket Adı : Screen Open
İzleme Kimliği : Mülk Kimliğiniz
Etiket Türü : Universal Analytics (beta)
İzleme Türü : AppView
Temel Yapılandırma - Uygulama Adı : {{ app name }}
Temel Yapılandırma - Uygulama Sürümü : {{ app version }}
Temel Yapılandırma - Ekran Adı : {{ screen name }}}
4. Etkinliği ve Ekran Adını Veri Katmanına Aktaracak Kodu Güncelleyin
Aşağıdaki örnekte gösterildiği gibi, openScreen
etkinliği ile veri katmanına bir screenName
değeri aktarmak için uygulamaya bir kod ekleyin:
// Push an 'openScreen' event to the data layer. import com.google.tagmanager.DataLayer; import com.google.tagmanager.TagManager; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { private static final String SCREEN_NAME = "Home Screen"; private DataLayer mDataLayer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(); } @Override public void onStart() { super.onStart(); mDataLayer = TagManager.getInstance(this).getDataLayer(); // This call assumes the container has already been opened, otherwise events // pushed to the DataLayer will not fire tags in that container. mDataLayer.push(DataLayer.mapOf("event", "openScreen", // Event, Name of Open Screen Event. "screenName", SCREEN_NAME)); // Name of screen name field, Screen name value. } }
Etkinlik Gönderme
Bir kullanıcı, kullanıcı arayüzü kontrolleriyle veya uygulamanızdaki içerikle etkileşimde bulunduğunda Google Analytics'e etkinlik göndermek için:
- (İsteğe bağlı) Etkinlik Makroları Oluşturma
- Etkinlik Kuralı oluşturma
- UA etkinlik etiketi oluşturma
- Etkinlik ve Etkinlik Makro Değerlerini Veri Katmanına Aktarmak için Kodu Güncelleme
Aşağıdaki adımlarda, kullanıcı video oynatma başlattığında tetiklenen bir etkinlik için bunun nasıl çalışacağı gösterilmektedir.
1. (İsteğe bağlı) Etkinlik Makroları Oluşturma
Etkinlik; kategori, işlem, etiket veya değer alanları için herhangi bir veri katmanı değişkeni kullanacaksa öncelikle arayüzde bu makroları yapılandırmanız gerekir. Bu örnekte video oynatma etkinlik etiketi, oynatılan videonun adını sağlayan bir veri katmanı değişkenine dayanır.
Bu video adını uygulamak için aşağıdaki yapılandırma değerleriyle yeni bir Makro oluştururuz:
Makro Adı : video name
Makro Türü: Data Layer Variable
Veri Katmanı Değişken Adı : videoName
2. Etkinlik Kuralı Oluşturma
Etkinlik etiketinin veri katmanına aktarıldığında tetiklenmesini sağlayacak bir kural oluşturun. Video oynatma örneğinde bu yeni kural aşağıdaki yapılandırma değerlerine sahip olur:
Kural Adı : VideoPlayEvent
Koşullar : {{ event }}
eşittir videoPlay
UA etkinlik etiketi oluşturma
Önceki adımda oluşturulan kural true
olarak değerlendirildiğinde tetiklenecek bir UA Etkinlik Etiketi oluşturun. Video oynatma örneğinde bu etiket aşağıdaki gibi görünür:
Etiket Adı : Video Play Event
İzleme Kimliği : Mülk Kimliğiniz
Etiket Türü : Universal Analytics (beta)
İzleme Türü : Event
Etkinlik İzleme Parametreleri - Kategori : Video
Etkinlik İzleme Parametreleri - İşlem : Play
Etkinlik İzleme Parametreleri - Etiket : {{ video name }}
Temel Yapılandırma - Uygulama Adı : {{ app name }}
Temel Ekran Yapılandırması - Uygulama Sürümü : {{ app version }}
{{ screen name }}
Etkinliği Veri Katmanına Aktaracak Kodu Güncelleme
Son olarak, kullanıcı etkileşimi tamamladığında hem etkinlik değerini hem de etiketin gerektirdiği veri katmanı değişkenlerini veri katmanına aktarmak için kodunuzu güncelleyin. Video oynatma örneğinde bu kod aşağıdaki gibi görünür:
// Push a 'videoPlay' event to the data layer. import com.google.tagmanager.DataLayer; import com.google.tagmanager.TagManager; public class VideoPlayer { // Called when a user initiates a video playback. public void onPlay(Video v) { DataLayer dataLayer = TagManager.getInstance(this).getDataLayer(); // This call assumes the container has already been opened, otherwise events // pushed to the DataLayer will not fire tags in that container. dataLayer.push(DataLayer.mapOf("event", "videoPlay", // Event, Name of Open Screen Event. "videoName", v.getName()); // Additional data layer variables used by the event tag. play(v); } // Rest of implementation; }
E-Ticaret İşlemlerini Gönderme
Kullanıcı uygulama içi satın alma işlemini tamamladığında bir işlemi ve ilişkili tüm öğeleri Google Analytics'e göndermek için:
- İşlem Kuralı Oluşturma
- UA işlem etiketi oluşturma
- Etkinlik ve İşlem / Öğe Verilerini DataKatman'a Aktarmak için Kodu Güncelleme
1. İşlem Kuralı Oluşturma
Ardından, aşağıdaki yapılandırma değerleriyle yeni bir kural oluşturun:
Kural Adı : TransactionCompleted
Koşullar : {{ event }}
eşittir transaction
2. UA işlem etiketi oluşturma
Aşağıdaki değerleri kullanarak bir UA işlem etiketi oluşturun:
Etiket Adı : Transaction Completed
İzleme Kimliği : Mülk Kimliğiniz
Etiket Türü : Universal Analytics (beta)
İzleme Türü : Transaction
Temel Yapılandırma - Uygulama Adı : {{ app name }}
Temel Yapılandırma - Uygulama Sürümü : {{ app version }}
Temel Yapılandırma - Ekran Adı : {{ screen name }}
3. Etkinlik ve İşlem / Öğe Verilerini DataKatman'a Aktarmak için Kodu Güncelleme
Son olarak, işlem etkinliğinin yanı sıra ilişkili işlem ve öğe verilerini de veri katmanına aktarmak için kodunuzu güncelleyin. İşlemler ve öğe verileri için Desteklenen Veri Katmanı Değişken Adlarını kullanmanız gerektiğini unutmayın:
// Called when a user completes a transaction. public void onPurchaseCompleted(Purchase p) { DataLayer dataLayer = TagManager.getInstance(this).getDataLayer(); // Put maps of item data into an array that will be pushed to the data layer. ArrayList<Map<String, String>> purchasedItems = new ArrayList<Map<String, String>>(); for (Item i : p.items) { HashMap<String, String> currentItem = new HashMap<String, String>(); currentItem.put("name", i.getProductName()); currentItem.put("sku", i.getProductSku()); currentItem.put("category", i.getProductCategory()); currentItem.put("price", i.getProductPrice()); currentItem.put("currency", "USD"); currentItem.put("quantity", i.getProductQty()); purchasedItems.add(currentItem); } // This call assumes the container has already been opened, otherwise events // pushed to the DataLayer will not fire tags in that container. dataLayer.push(DataLayer.mapOf("event", "transaction", // Event, Name of Transaction Event. "transactionId", p.getTransId(), // Additional fields required by the tag. "transactionTotal", p.getTotal(), "transactionAffiliation", "In-app Store", "transactionTax", p.getTax(), "transactionShipping", p.getShippingCost(), "transactionCurrency", "USD", "transactionProducts", purchasedItems)); // Since the data layer is persistent, you should reset fields to null after // you are done pushing the transaction. dataLayer.push(DataLayer.mapOf("transactionId", null, "transactionTotal", null, "transactionAffiliation", null, "transactionTax", null, "transactionShipping", null, "transactionCurrency", null, "transactionProducts", null)); }
Desteklenen E-ticaret Veri Katmanı Değişkenleri
UA işlem etiketleri, aşağıdaki veri katmanı değişkenlerini destekler:
İşlem Değişkenleri
Değişken Adı | Açıklama | Tür | Gerekli |
---|---|---|---|
transactionId |
Benzersiz işlem tanımlayıcı | dize | Evet |
transactionAffiliation |
İş ortağı veya mağaza | dize | Hayır |
transactionTotal |
İşlem toplamı | dize | Hayır |
transactionTax |
İşlemin vergi tutarı | dize | Hayır |
transactionShipping |
İşlemin gönderim maliyeti | dize | Hayır |
transactionCurrency |
İşlemin para birimi | dize | Hayır |
transactionProducts |
İşlem sırasında satın alınan öğelerin listesi | öğe değişkenlerini içeren bir harita dizisidir. | Hayır |
Öğe Değişkenleri
Değişken Adı | Açıklama | Tür | Gerekli |
---|---|---|---|
name |
Ürün adı | dize | Evet |
sku |
Ürün SKU'su | dize | Hayır |
category |
Ürün kategorisi | dize | Hayır |
price |
Ürün fiyatı | dize | Hayır |
currency |
price para birimi türü |
dize | Hayır |
quantity |
Öğe miktarı | dize | Hayır |
Yükleme Yönlendiren İlişkilendirmesi
Aşağıdaki hizmet ve alıcı AndroidManifest.xml
dosyanıza kaydedildiğinde, yükleme yönlendiren verileri tüm Google Analytics isabetlerine veya Google Ads yeniden pazarlama pikseli isteklerine otomatik olarak dahil edilir:
<!-- Used for install referrer tracking --> <service android:name="com.google.tagmanager.InstallReferrerService" /> <receiver android:name="com.google.tagmanager.InstallReferrerReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>