Penerapan AFS untuk Aplikasi Seluler (AFSMA) untuk Android

Prasyarat

Panduan penerapan ini mengasumsikan bahwa Anda sudah memahami hal berikut:

Class

Untuk menayangkan iklan AFSMA (juga dikenal sebagai iklan penelusuran tinggi dinamis) di aplikasi Anda, implementasikan class berikut:

SearchAdView

  • Class ini mewarisi dari class ViewGroup Android dan menampilkan iklan AFSMA. SearchAdView membuat permintaan untuk iklan dengan DynamicHeightSearchAdRequest, lalu merender iklan yang ditampilkan. SearchAdView harus ditambahkan ke salah satu kelompok tampilan aplikasi yang ada.
  • SearchAdView harus dibuat instance-nya dengan konteks tempat SearchAdView berjalan, biasanya Activity.
  • Setelah instance SearchAdView dibuat, Anda harus memanggil metode setAdSize() dengan AdSize.SEARCH untuk meminta iklan AFSMA. Nilai enum lainnya akan meminta iklan yang tidak kompatibel dengan AFS untuk Aplikasi Seluler.
  • Panggil metode setAdUnitId() pada objek ini dengan kode properti Anda.

DynamicHeightSearchAdRequest.Builder

  • Class ini merangkum parameter permintaan iklan. Hal ini setara dengan menetapkan parameter di objek permintaan iklan JavaScript (opsi halaman, opsi unit) untuk AFS di desktop dan web seluler.
  • Tetapkan parameter dengan penyetel yang sesuai (dengan kata lain, panggil setQuery() untuk menetapkan parameter kueri).

Contoh implementasi

Contoh di bawah menunjukkan penggunaan Activity untuk membuat SearchAdView sebagai subtampilan dari ViewGroup. Untuk meminta iklan AFSMA dengan benar, SearchAdView harus memanggil metode setAdSize() dengan AdSize.SEARCH.

//  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
...

Dalam Activity yang sama, buat DynamicHeightSearchAdRequest.Builder yang menentukan parameter iklan yang akan dirender di SearchAdView. Iklan AFSMA dikonfigurasikan dengan cara yang sama seperti Iklan Penelusuran Khusus AFS; melihat Iklan Penelusuran Khusus AFS Referensi untuk mengetahui detailnya.

// 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);

Opsi penyesuaian lain dimungkinkan dengan menetapkan properti tambahan pada DynamicHeightSearchAdRequest.Builder .

Untuk membuat permintaan iklan, panggil metode loadAd() dengan Objek DynamicHeightSearchAdRequest.Builder dari objek SearchAdView:

searchAdView.loadAd(builder.build());

Opsi lanjutan

Sebagian besar parameter permintaan iklan dapat ditetapkan melalui metode penyetel pada objek DynamicHeightSearchAdRequest.Builder. Setiap parameter yang tidak memiliki metode penyetel di DynamicHeightSearchAdRequest.Builder dapat ditetapkan menggunakan key-value pair dengan setAdvancedOptionValue() . Lihat Iklan Penelusuran Khusus AFS Referensi untuk daftar lengkap setelan yang dapat disetel dengan Metode setAdvancedOptionValue().

Parameter kunci harus diawali dengan "csa_" agar properti dapat diatur dengan benar.

// 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");

Jika Anda menggunakan metode penyetel parameter dan menyetelnya menggunakan setAdvancedOptionValue, panggilan kedua akan menggantikan nilai dari panggilan pertama.

Menyelidiki error

SearchAdView (searchAdView di sini) berisi metode setAdListener() untuk membantu Anda menyelidiki kesalahan. Dalam Activity yang sama:

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);
    }
});

Konstanta yang digunakan dalam metode callback onAdFailedToLoad() dijelaskan dalam API referensi.

Persiapan untuk persyaratan pengungkapan data Google Play

Pada bulan Mei 2021, Google Play mengumumkan bagian Keamanan Data baru, yang merupakan pengungkapan praktik pengumpulan, pembagian, dan keamanan data aplikasi yang disediakan oleh developer.

Halaman ini dapat membantu Anda memenuhi persyaratan pengungkapan data ini sehubungan dengan penggunaan Anda atas AFS Native SDK (juga berlaku untuk penggunaan AdSense untuk Shopping). Di halaman ini, Anda dapat menemukan informasi tentang apakah SDK kami menangani data pengguna akhir dan bagaimana caranya.

Kami berupaya untuk bersikap setransparan mungkin dalam mendukung Anda; Namun, sebagai developer aplikasi, Anda sepenuhnya bertanggung jawab untuk memutuskan cara merespons formulir bagian Keamanan Data Google Play terkait praktik pengumpulan, pembagian, dan keamanan data pengguna akhir.

Cara menggunakan informasi di halaman ini

Halaman ini hanya mencantumkan data pengguna akhir yang dikumpulkan oleh SDK versi terbaru.

Untuk menyelesaikan pengungkapan data, Anda dapat menggunakan panduan tentang jenis data Android untuk membantu menentukan jenis data yang paling tepat dalam mendeskripsikan data yang dikumpulkan. Dalam pengungkapan data, pastikan Anda juga memperhitungkan cara aplikasi tertentu membagikan dan menggunakan data yang dikumpulkan.

Jenis data yang diakses dan dikumpulkan SDK

Paket:

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

com.google.ads.afsn

Data yang dikumpulkan secara otomatis

AFS SDK mengumpulkan data berikut secara otomatis. Semua data dikirim keluar dari perangkat ke Google untuk tujuan menayangkan iklan, dan semua data dienkripsi saat dalam pengiriman. Informasi pribadi pengguna tidak akan pernah dikumpulkan, kecuali jika dikirimkan dalam kueri pengguna oleh aplikasi Anda.

Data Data ini dikumpulkan untuk tujuan berikut...
IP address Ringkasan:
  • Pencegahan penipuan, keamanan, dan kepatuhan
  • Iklan atau pemasaran
  • Mendapatkan perkiraan lokasi
Detail:
Alamat IP digunakan dalam pemantauan penipuan dan penyalahgunaan, serta digunakan untuk mendapatkan perkiraan lokasi pengguna.

Perkiraan lokasi kemudian digunakan untuk memastikan iklan yang ditayangkan dapat mematuhi peraturan setempat, dan untuk menyediakan iklan yang relevan dengan perkiraan lokasi geografis pengguna.

Aktivitas aplikasi
  • Kunjungan halaman dan jumlah ketukan dalam aplikasi
  • Histori penelusuran dalam aplikasi
Ringkasan:
  • Analytics
  • Pencegahan penipuan, keamanan, dan kepatuhan
  • Iklan atau pemasaran
  • Personalisasi
Detail:
Aplikasi Anda memberi kami kueri pengguna agar kami dapat menampilkan Iklan Penelusuran yang relevan dengan kata kunci. Kami mengukur penayangan dan interaksi (ketukan) dengan iklan yang dikembalikan.
Diagnostik Ringkasan:
  • Analytics
Detail:
SDK mengukur latensi rendering untuk iklan agar peningkatan produk dapat diterapkan dan diukur. Kami juga mengirimkan laporan error/error dan terkadang menambahkan instrumentasi lain sesuai kebutuhan untuk memahami bagaimana fungsi digunakan oleh penayang.
ID perangkat atau lainnya Ringkasan:
  • Pencegahan penipuan, keamanan, dan kepatuhan
  • Iklan atau pemasaran
Detail:
ID perangkat digunakan untuk membantu pemantauan penipuan dan penyalahgunaan, serta pengukuran performa iklan.