Prasyarat
Panduan penerapan ini mengasumsikan bahwa Anda telah memahami hal-hal berikut:
- Protokol penerapan Iklan Penelusuran Khusus (CSA) AFS
- Pengembangan aplikasi Android
- Mengaitkan Google Mobile Ads SDK untuk Android (kini bagian dari layanan Google Play) dengan project Android Studio. Layanan Google Play versi 9.0.0 wajib diisi.
Class
Untuk menayangkan iklan AFSMA (juga dikenal sebagai iklan penelusuran tinggi dinamis) di aplikasi Anda, terapkan kelas berikut:
- Class ini mewarisi dari class
ViewGroup
Android dan menampilkan iklan AFSMA.SearchAdView
membuat permintaan untuk iklan denganDynamicHeightSearchAdRequest
dan merender iklan yang ditampilkan.SearchAdView
harus ditambahkan ke salah satu kelompok tampilan yang ada di aplikasi. SearchAdView
harus dibuat instance-nya dengan konteks tempatSearchAdView
berjalan, biasanyaActivity
.- Setelah instance
SearchAdView
dibuat, Anda harus memanggil metodesetAdSize()
denganAdSize.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 mengenkapsulasi parameter permintaan iklan. Hal ini serupa dengan penetapan parameter di objek permintaan iklan JavaScript (opsi halaman, opsi unit) untuk web seluler dan desktop AFS.
- 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 sub-tampilan dari ViewGroup
. Untuk meminta iklan AFSMA dengan benar, objek 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 mendikte parameter iklan yang akan dirender dalam SearchAdView
.
Iklan AFSMA dikonfigurasi dengan cara yang sama seperti Iklan Penelusuran Khusus AFS.
lihat Referensi
Iklan Penelusuran Khusus AFS 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 lainnya dapat dilakukan dengan menetapkan properti tambahan pada objek 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 pasangan nilai kunci dengan
metode
setAdvancedOptionValue()
.
Lihat Referensi Iklan Penelusuran Khusus AFS untuk listingan lengkap setelan yang dapat ditetapkan dengan metode setAdvancedOptionValue()
.
Parameter kunci harus diawali dengan "csa_" agar properti dapat ditetapkan 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 menetapkannya menggunakan setAdvancedOptionValue
,
panggilan kedua akan mengganti nilai dari panggilan pertama.
Menyelidiki error
SearchAdView
(searchAdView
di sini) berisi metode setAdListener()
untuk membantu Anda menyelidiki error. 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 referensi
API.
Persiapan untuk persyaratan pengungkapan data Google Play
Pada Mei 2021, Google Play mengumumkan bagian Keamanan Data baru, yang merupakan pengungkapan praktik pengumpulan, berbagi, dan keamanan data aplikasi yang disediakan oleh developer.
Halaman ini dapat membantu Anda memenuhi persyaratan pengungkapan data ini terkait penggunaan Anda atas SDK Native AFS (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 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 mencantumkan data pengguna akhir yang dikumpulkan hanya oleh SDK versi terbaru.
Untuk melengkapi pengungkapan data, Anda dapat menggunakan panduan tentang jenis data Android untuk membantu menentukan jenis data yang paling sesuai dengan 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 oleh 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 dari perangkat ke Google untuk tujuan penayangan iklan, dan semua data dienkripsi saat dalam pengiriman. Informasi pribadi pengguna tidak pernah dikumpulkan, kecuali jika dikirimkan dalam kueri pengguna oleh aplikasi Anda.
Data | Data ini dikumpulkan untuk tujuan berikut... |
---|---|
IP address |
Ringkasan:
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 sesuai dengan peraturan setempat, dan untuk memberikan iklan yang relevan dengan lokasi geografis umum pengguna. |
Aktivitas aplikasi
|
Ringkasan:
Aplikasi Anda memberikan kueri pengguna agar kami dapat menampilkan Iklan Penelusuran yang relevan dengan kata kunci. Kami mengukur penayangan dan keterlibatan (ketukan) dengan iklan yang dihasilkan. |
Diagnostik |
Ringkasan:
SDK ini mengukur latensi rendering untuk iklan agar peningkatan produk dapat diterapkan dan diukur. Kami juga mengirimkan laporan kerusakan/error dan sesekali menambahkan instrumentasi lain sesuai kebutuhan untuk memahami cara penayang menggunakan fungsi. |
ID perangkat atau lainnya |
Ringkasan:
ID perangkat digunakan untuk membantu pemantauan penipuan dan penyalahgunaan, serta pengukuran performa iklan. |