Android'de Mobil Uygulamalarda AFSMA (AFSMA) Uygulaması

Ön koşullar

Bu uygulama kılavuzunda aşağıdakiler hakkında bilgi sahibi olduğunuz varsayılmaktadır:

  • AFS Özel Arama Reklamları (CSA) uygulama protokolü
  • Android uygulaması geliştirme
  • Android için Google Mobile Ads SDK'sı (artık Google Play Hizmetleri'nin bir parçasıdır) bir Android Studio projesiyle ilişkilendiriliyor. Google Play Hizmetleri'nin 9.0.0 sürümü gereklidir.

Sınıflar

Uygulamanızda AFSMA reklamları (dinamik yükseklikte arama ağı reklamları olarak da bilinir) yayınlamak için aşağıdaki sınıfları uygulayın:

SearchAdView

  • Bu sınıf, Android ViewGroup sınıfından devralır ve AFSMA reklamlarını gösterir. SearchAdView, DynamicHeightSearchAdRequest içeren reklam isteğinde bulunur ve döndürülen reklamları oluşturur. SearchAdView, uygulamanın mevcut görüntüleme gruplarından herhangi birine eklenmelidir.
  • SearchAdView, SearchAdView öğesinin çalıştığı bağlamla (genellikle bir Activity) örneklenmelidir.
  • SearchAdView örneklendikten sonra AFSMA reklamları istemek için AdSize.SEARCH ile setAdSize() yöntemini çağırmanız gerekir. Diğer sıralama değerleri, Mobil Uygulamalarda AFS ile uyumlu olmayan reklamları ister.
  • Mülk kodunuzla bu nesnede setAdUnitId() yöntemini çağırın.

DynamicHeightSearchAdRequest.Builder

  • Bu sınıf, reklam isteği parametrelerini içerir. Bu, AFS masaüstü ve mobil web için JavaScript reklam isteği nesnelerindeki (sayfa seçenekleri, birim seçenekleri) parametreleri ayarlamaya benzer.
  • Parametreleri uygun belirleyicilerle ayarlayın (başka bir deyişle, sorgu parametresini ayarlamak için setQuery() yöntemini çağırın).

Örnek uygulama

Aşağıdaki örnekte, ViewGroup öğesinin alt görünümü olarak SearchAdView oluşturmak için Activity yönteminin kullanılması gösterilmektedir. AFSMA reklamlarını düzgün bir şekilde istemek için SearchAdView nesnesi, AdSize.SEARCH ile setAdSize() yöntemini çağırmalıdır.

//  MainActivity.java implementation
//  (MainActivity is a subclass of Activity)

// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);

// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!

// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");

// Add searchAdView to parent view group
...

Aynı Activity içinde, SearchAdView içinde oluşturulacak reklamın parametrelerini dikte eden bir DynamicHeightSearchAdRequest.Builder oluşturun. AFSMA reklamları, AFS Özel Arama Reklamları ile aynı şekilde yapılandırılır. Ayrıntılar için AFS Özel Arama Reklamları Referansı'na bakın.

// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
        new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);

// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");

// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);

DynamicHeightSearchAdRequest.Builder nesnesinde ek özellikler ayarlayarak diğer özelleştirme seçeneklerini kullanabilirsiniz.

Reklam isteği yapmak için SearchAdView nesnesinden DynamicHeightSearchAdRequest.Builder nesnesiyle loadAd() yöntemini çağırın:

searchAdView.loadAd(builder.build());

Gelişmiş seçenekler

Reklam isteği parametrelerinin çoğu DynamicHeightSearchAdRequest.Builder nesnesinde ayarlayıcı yöntemleriyle ayarlanabilir. DynamicHeightSearchAdRequest.Builder içinde setter yöntemi olmayan tüm parametreler, setAdvancedOptionValue() yöntemi ile anahtar/değer çiftleri kullanılarak ayarlanabilir. setAdvancedOptionValue() yöntemiyle ayarlanabilecek ayarların tam listesi için AFS Özel Arama Reklamları Referansı'na bakın.

Özelliğin doğru şekilde ayarlanabilmesi için anahtar parametresinin önüne "csa_" eklenmelidir.

// Advanced customization options (set using key-value pair)

// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");

// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");

Bir parametrenin setter yöntemini kullanır ve bunu setAdvancedOptionValue ile ayarlarsanız ikinci çağrı, ilk çağrıdaki değeri geçersiz kılar.

Hataları araştırma

SearchAdView (burada searchAdView), hataları araştırmanıza yardımcı olacak bir setAdListener() yöntemi içerir. Aynı Activity içinde:

searchAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Called when an ad is loaded
        super.onAdLoaded();
        Toast.makeText(MainActivity.this, "Ad Loaded",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
    }

    @Override
    public void onAdOpened() {
        // Called when an ad opens an overlay that covers the screen
        super.onAdOpened();
        Toast.makeText(MainActivity.this, "Ad Opened",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
    }

    @Override
    public void onAdLeftApplication() {
        // Called when an ad leaves the application
        // (to go to the browser for example)
        super.onAdLeftApplication();
        Toast.makeText(MainActivity.this, "Ad Left Application",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
    }

    @Override
    public void onAdFailedToLoad(int errorCode) {
        // Called when an ad request failed
        super.onAdFailedToLoad(errorCode);
        Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
                Toast.LENGTH_SHORT).show();
        Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
                errorCode);
    }
});

onAdFailedToLoad() geri çağırma yönteminde kullanılan sabitler, API referansında açıklanmıştır.

Google Play'in verilere ilişkin açıklama şartlarını karşılama

Mayıs 2021'de Google Play yeni Veri Güvenliği bölümünün kullanıma sunulacağını duyurdu. Bu bölüm, uygulamaların veri toplama, paylaşma ve güvenlik yöntemleriyle ilgili geliştiriciler tarafından sağlanan bir açıklamadan oluşacak.

Bu sayfa, AFS Yerel SDK'sını (Alışveriş için AdSense kullanımı için de geçerlidir) kullanımınızla ilgili bu veri açıklaması şartlarını yerine getirmenize yardımcı olabilir. Bu sayfada, SDK'larımızın son kullanıcı verilerini işleyip işlemediği ve nasıl işlediği hakkında bilgi bulabilirsiniz.

Size destek verirken olabildiğince şeffaf olmayı hedefliyoruz. Ancak uygulama geliştirici olarak uygulamanızın son kullanıcı verilerini toplama, paylaşma ve güvenlikle ilgili yaklaşımı hakkında Google Play Veri Güvenliği bölümü formuna nasıl yanıt vereceğinize karar vermek tamamen sizin sorumluluğunuzdadır.

Bu sayfadaki bilgiler nasıl kullanılır?

Bu sayfada, yalnızca SDK'nın en son sürümü tarafından toplanan son kullanıcı verileri listelenmektedir.

Verilerle ilgili açıklamayı tamamlamak için, toplanan verileri en iyi tanımlayan veri türünü belirlemenize yardımcı olması amacıyla Android'in veri türleri hakkındaki kılavuzunu kullanabilirsiniz. Verilerle ilgili açıklamada, söz konusu uygulamanızın toplanan verileri nasıl paylaştığını ve kullandığını da belirttiğinizden emin olun.

SDK'nın eriştiği ve topladığı veri türü

Paketler:

com.google.android.gms:play-services-afs-native

com.google.ads.afsn

Otomatik olarak toplanan veriler

AFS SDK'sı aşağıdaki verileri otomatik olarak toplar. Tüm veriler, reklam sunmak amacıyla cihazdan Google'a iletilir ve aktarım sırasında tüm veriler şifrelenir. Kullanıcının kişisel bilgileri, uygulamanız tarafından bir kullanıcı sorgusunda gönderilmediği sürece hiçbir zaman toplanmaz.

Veriler Bu veriler aşağıdaki amaçlarla toplanır...
IP adresi Özet:
  • Sahtekarlığı önleme, güvenlik ve kanunlara uygunluk
  • Reklam veya pazarlama
  • Yaklaşık konum elde edin
Ayrıntı:
IP adresi, sahtekarlık ve kötüye kullanımın izlenmesinin yanı sıra kullanıcının yaklaşık konumunu belirlemek için de kullanılır.

Daha sonra, sunulan reklamların yerel düzenlemelere uygun olmasını sağlamak ve kullanıcının yaklaşık coğrafi konumuyla alakalı reklamlar sunmak için yaklaşık konum kullanılır.

Uygulama etkinliği
  • Uygulamada yapılan sayfa görüntüleme ve dokunma işlemleri
  • Uygulama içi arama geçmişi
Özet:
  • Analizler
  • Sahtekarlığı önleme, güvenlik ve kanunlara uygunluk
  • Reklam veya pazarlama
  • Kişiselleştirme
Ayrıntı:
Uygulamanız, anahtar kelimeyle alakalı arama ağı reklamları döndürebilmemiz için kullanıcının sorgusunu bizimle paylaşır. Döndürülen reklamlarla birlikte görüntüleme sayısını ve etkileşimi (dokunmalar) ölçeriz.
Teşhisler Özet:
  • Analizler
Ayrıntı:
SDK, ürün iyileştirmelerinin uygulanması ve ölçülmesi için reklamların oluşturma gecikmesini ölçer. Ayrıca kilitlenme/hata raporları göndeririz ve yayıncılar tarafından işlevlerin nasıl kullanıldığını anlamak için gerektiğinde başka araçlar da ekleriz.
Cihaz veya diğer tanımlayıcılar Özet:
  • Sahtekarlığı önleme, güvenlik ve kanunlara uygunluk
  • Reklam veya pazarlama
Ayrıntı:
Cihaz kimliği, sahtekarlık ve kötüye kullanım izlemenin yanı sıra reklam performansı ölçümüne yardımcı olmak için kullanılır.