Measurement Protocol kullanarak uygulama olaylarını GA4'e gönderin

1. Giriş

Son Güncelleme: 2021-06-08

Ne inşa edeceksin

Bu codelab'de, Measurement Protocol'u kullanarak harici etkinlikleri GA4'e nasıl göndereceğinizi öğreneceksiniz.

Bu kod laboratuvarı, halihazırda Firebase için Google Analytics uygulanmış bir Uygulamanız olduğunu varsayar. Firebase için Google Analytics ile nasıl entegre edileceğini öğrenmek istiyorsanız, lütfen önce bu codelab'e bakın. Firebase ile nasıl uygulama geliştireceğinizi öğrenmek istiyorsanız, lütfen Firebase Android Codelab-Build Dostu Sohbet bölümüne bakın.

ne öğreneceksin

  • İlk MP aramanızı yapmak için adımlar
  • Çağrı için gerekli parametreleri anlayın
  • Test aramanızı gönderin ve doğrulayın
  • Çağrı yapmak için Python'da örnek bir betik oluşturun

Neye ihtiyacın olacak

  • Android veya iOS Uygulamanız
  • Değişiklik yapmak için herhangi bir IDE
  • GA4 Hesabı
  • İsteğe bağlı - Python geliştirme ortamı (veya Colab )

2. Zorunlu alanları toplayın

GA4'te API Sırrı Oluşturma

GA4'e gidin ve Yönetici > Veri Akışları > akışınızı seçin > Ölçüm Protokolü > Oluştur'a giderek yeni API sırrınızı oluşturun

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

Herhangi bir takma ad verebilirsiniz ve aramanızda kullanabileceğiniz gizli değer görüntülenecektir.

GA4'e nasıl erişeceğinizden emin değilseniz, Firebase Projenizi ziyaret edebilir, Proje Ayarları > Entegrasyonlar > Google Analytics'i kontrol edebilir ve "Yönet"i tıklayabilirsiniz. Google Analytics bağlantısı görünür olmalıdır ve doğrudan buradan da gezinebilirsiniz.

f0feed0557420678.png

app_instance_id toplayın

app_instance_id'nizi toplamak için aşağıdaki yöntemlerden herhangi birini kullanabilirsiniz.

  1. BigQuery Export'u Kullanma
  2. Uygulama Kaynak Kodunuzda Yerel Olarak Alma

Bunların her ikisi de aşağıda ayrıntılı olarak açıklanmaktadır.

  1. BigQuery Export'u Kullanma

BigQuery export özelliğini etkinleştirdiyseniz, aşağıdaki adımları izleyebilirsiniz.

  • Firebase'de oturum açın
  • Proje Ayarları > Entegrasyonlar > BigQuery'ye gidin
  • Veri kümesinin yanındaki "BigQuery'de Görüntüle"yi tıklayın

Not : Veri kümesi yalnızca geçiş yaklaşık 24-48 saat etkinleştirildikten sonra kullanılabilir

1dc4e93dee33316f.png

  • BigQuery'de tabloda user_pseudo_id olup olmadığını kontrol edebilirsiniz. Bu, görüşmenizde kullanabileceğiniz app_instance_id'dir

aa6d384e380a11e8.png

  1. Uygulama Kaynak Kodunuzda Yerel Olarak Alma

Uygulamanız Java kullanılarak oluşturulduysa, app_instance_id'yi almak için buna benzer bir şey kullanabilirsiniz.

 FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
            if (task.isSuccessful()) {
                String user_pseudo_id = task.getResult();
            }
        }
    });

Kotlin için aşağıdakileri deneyebilirsiniz

Thread {
   Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
       Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
       /*
       Store the value to your server or do something with the retrieved id
        */
   }
}.start()

Bir iOS Uygulamanız varsa, aşağıdakileri Swift'de kullanabilirsiniz

let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/

Alt yapınıza bağlı olarak daha fazla bağlantı aşağıdadır

3. Aramayı Oluşturma

GA4'teki Etkinlik Oluşturucu'yu kullanarak örnek bir çağrı oluşturabilirsiniz. (Bu, oturum açmanızı ve çerezleri etkinleştirmenizi gerektirir). Geçişin "firebase" olarak ayarlandığından emin olun

15440faa9ca6a1f1.png

Aşağıdaki alanları doldurmanız gerekecek

  • api_secret - Daha önce GA4'te oluşturuldu
  • firebase_app_id - Bunu almak için Yönetici > Veri Akışları > akışınızı seçin seçeneğine gidebilirsiniz. Aşağıdaki gibi görüntülenmelidir

71174b16f86ff03e.png

  • app_instance_id - Bu değeri zaten aldınız
  • user_id zorunlu değildir. şimdilik boş bırakabilirsin
  • Kategori - bunu açılır listeden "Özel" olarak değiştirin ve istediğiniz herhangi bir etkinlik adını girin ( otomatik olarak toplanan etkinlikleri kullanmayın). Burada "test_from_codelab" kullanıyoruz

cf580a708bb0a8a2.png

İsteğe bağlı olarak, aşağıdaki düğmelere tıklayarak etkinlik parametrelerini ve/veya kullanıcı özelliklerini sağlamayı da seçebilirsiniz.

da59bb982f6f906a.png

Her şeyi doldurduktan sonra, "Olay Doğrula" düğmesiyle birlikte buna benzer bir şey görmelisiniz.

39676ab485d17dc0.png

Buna ulaştığınızda, turuncu renkle vurgulanan düğme "DOĞRU OLAYI" üzerine tıklayın. Etkinliğin geçerli olduğunu belirten aşağıdaki mesajı görüntülemeli ve şimdi "GA'YA GÖNDER" düğmesini göreceksiniz. Bu noktada, etkinlik geçersiz çıkarsa, araç size tam olarak sorunun olduğu alanı söyleyecektir ve bunu düzeltip yeniden deneyebilirsiniz.

1d63d1e067c46294.png

Artık düğmeyi tıklayabilirsiniz ve GA4'e bir test etkinliği göndermesi gerekir.

4. GA4'te olayları doğrulama

Etkinliği gönderdikten sonra GA4 hesabınıza gidebilir ve Gerçek Zamanlı'yı kontrol edebilirsiniz. Olayın gerçekleştiğini görmelisin

7b9e9a0f74b64757.png

Olayların gerçek zamanlı görünümden gerçek olay raporlama sekmesine yayılması yaklaşık 24 saat sürebilir, bu nedenle bunu normal olay raporlamasında hemen görmezseniz endişelenmenize gerek yok!

5. Bir Python Komut Dosyası Oluşturma

Artık test ettiğinize göre, Python'da (veya istediğiniz herhangi bir dilde) bu aramayı yapabilecek benzer bir mimari oluşturmak için API çağrısını ve olay yükünü inceleyebilirsiniz. Daha sonra bunu istediğiniz sıklıkta planlayabilir ve çalıştırabilirsiniz. Bu kısım için Python'u destekleyen herhangi bir IDE'yi kullanabilir veya cihazınızda herhangi bir kurulum gerektirmeyen bir Google Colab not defteri kullanabilirsiniz.

GA4 Event Builder'a geri dönerek, bitiş noktasının aşağıdaki gibi olduğunu göreceksiniz.

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

Olay yükü aşağıdaki gibiydi

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

Bunun gibi bir şey kullanarak bunu python'a çevirebilirsiniz.

import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
  "app_instance_id": XXXX,
  "non_personalized_ads": False,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)

Bunu doğru değerlerle yürüttüğünüzde, benzer şekilde olayın GA4'te gerçek zamanlı olarak yansıdığını görmelisiniz.

6. Tebrikler

Tebrikler, GA4'te Ölçüm Protokolünü başarıyla kullandınız. Artık Google Analytics'e daha anlamlı veriler göndermek ve pazarlama ve iş analitiğinizi geliştirmek için güçlü çözüm mimarileri oluşturabilirsiniz. Bundan en iyi şekilde yararlanmak için Google Ads'e bağlanmanızı ve bu etkinlikleri dönüşüm olarak içe aktarmanızı da öneririz. Bununla ilgili ayrıntılı talimatlar için bu kod laboratuvarındaki 6. adıma başvurabilirsiniz. Google Ads, dönüşüm izleme amacıyla yalnızca son 60 gün içinde Firebase SDK'sından toplanan IDFA veya cihaz kimlikleriyle ilişkili verileri gösterir. Bunun hala bir alfa API olduğunu unutmayın ve tam lansmandan önce ele alınması gereken burada listelenen sınırlamaları uyguladığınızdan emin olun.

öğrendin

  • MP çağrıları yapmak için doğru değişkenler nasıl toplanır?
  • Test olayları nasıl gönderilir ve doğrulanır?
  • MP çağrıları göndermek için bir komut dosyası nasıl oluşturulur