Doğal reklamlar, platforma özgü kullanıcı arayüzü bileşenleri aracılığıyla kullanıcılara sunulan reklam öğeleridir. Bu reklamlar, düzenlerinizi oluştururken kullandığınız görünüm türleriyle gösterilir ve uygulamanızın görsel tasarımına uyacak şekilde biçimlendirilebilir.
Doğal reklam yüklendiğinde uygulamanız, öğelerini içeren bir reklam nesnesi alır ve bu öğeleri göstermekten GMA Next-Gen SDK değil, uygulama sorumlu olur.
Genel olarak, doğal reklamları başarılı bir şekilde uygulamak için iki bölüm vardır: SDK kullanarak reklam yükleme ve ardından reklam içeriğini uygulamanızda gösterme.
Bu sayfada, doğal reklamları yüklemek için SDK'nın nasıl kullanılacağı gösterilmektedir. İpucu: Doğal reklamlar hakkında daha fazla bilgi edinmek için Doğal Reklamlar Başucu Kitabı'na göz atın.
Örnekler Java ve Kotlin için kullanılabilir.Müşteri başarı öykülerinden bazılarına da göz atabilirsiniz: başarılı örnek 1, başarılı örnek 2.
Ön koşullar
- Kurulum GMA Next-Gen SDK.
- GMA Next-Gen SDK
1.0.0veya sonraki sürümler.
Her zaman test reklamlarıyla test edin
Uygulamalarınızı oluştururken ve test ederken yayındaki üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Bu koşula uymamanız halinde hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, doğal reklamlar için özel test reklam birimi kimliğimizi kullanmaktır:
| Reklam biçimi | Örnek reklam birimi kimliği |
|---|---|
| Yerel biçim | ca-app-pub-3940256099942544/2247696110 |
| Yerel Video | ca-app-pub-3940256099942544/1044960115 |
Reklam yükleme
Doğal reklam yüklemek için NativeAdLoader.load() yöntemini çağırın. Bu yöntem, NativeAdRequest ve NativeAdLoaderCallback alır.
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest
class NativeFragment : Fragment() {
private var nativeAd: NativeAd? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadAd()
}
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, adCallback)
}
companion object {
// Sample native ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/2247696110"
}
}
Doğal reklam etkinliği geri çağırmasını ayarlama
onNativeAdLoaded işlenirken alınan NativeAd değerini bir NativeAdEventCallback ile ayarlayarak doğal reklam yaşam döngüsü olaylarını alma işlevlerini tanımlayın:
nativeAd.adEventCallback =
object : NativeAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Native ad showed full screen content.
}
override fun onAdDismissedFullScreenContent() {
// Native ad dismissed full screen content.
}
override fun onAdFailedToShowFullScreenContent {
// Native ad failed to show full screen content.
}
override fun onAdImpression() {
// Native ad recorded an impression.
}
override fun onAdClicked() {
// Native ad recorded a click.
}
}
İsteğe bağlı: Birden fazla reklam yükleme
Birden fazla reklam yüklemek için isteğe bağlı numberOfAds parametresiyle load() yöntemini çağırın.
Ayarlayabileceğiniz maksimum değer 5 olup reklam sayısını temsil eder.
GMA Next-Gen SDK, tam olarak istediğiniz sayıda reklam döndürmeyebilir.
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
override fun onAdLoadingCompleted() {
// Called when all native ads have loaded.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, 3, adCallback)
}
GMA Next-Gen SDK tarafından döndürülen reklamlar benzersizdir ancak ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamlar benzersiz olmayabilir.
Uyumlulaştırma kullanıyorsanız load() yöntemini çağırmayın. Birden fazla doğal reklam isteği, uyumlulaştırma için yapılandırılmış reklam birimi kimliklerinde çalışmaz.
En iyi uygulamalar
Reklam yüklerken aşağıdaki kurallara uyun.
Bir listede doğal reklam kullanan uygulamalar, reklam listesini önceden önbelleğe almalıdır.
Reklamları önbelleğe alırken önbelleğinizi temizleyin ve bir saat sonra yeniden yükleyin.
Doğal reklam önbelleğe almayı yalnızca gerekli olanla sınırlayın. Örneğin, önbelleğe alma işlemi sırasında yalnızca ekranda hemen görünen reklamları önbelleğe alın. Doğal reklamlar bellekte çok yer kaplar ve doğal reklamların yok edilmeden önbelleğe alınması aşırı bellek kullanımına neden olur.
Artık kullanılmayan doğal reklamları imha edin.
Video reklamlar için donanım hızlandırma
Video reklamların doğal reklam görünümlerinizde başarıyla gösterilmesi için donanım hızlandırma etkinleştirilmelidir.
Donanım hızlandırma varsayılan olarak etkindir ancak bazı uygulamalar bu özelliği devre dışı bırakmayı seçebilir. Uygulamanız bu durumdaysa reklam kullanan Activity kitaplığı sınıfları için donanım hızlandırmayı etkinleştirmenizi öneririz.
Donanım hızlandırmayı etkinleştirme
Uygulamanız, donanım hızlandırma genel olarak etkinleştirildiğinde düzgün çalışmıyorsa bu özelliği her bir etkinlik için ayrı ayrı kontrol edebilirsiniz. Donanım hızlandırmayı etkinleştirmek veya devre dışı bırakmak için AndroidManifest.xml dosyanızdaki <application> ve <activity> öğelerinde android:hardwareAccelerated özelliğini kullanın. Aşağıdaki örnekte, donanım hızlandırma tüm uygulama için etkinleştirilir ancak bir etkinlik için devre dışı bırakılır:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
Donanım hızlandırmayı kontrol etme seçenekleri hakkında daha fazla bilgi için Donanım hızlandırma kılavuzuna bakın. Etkinlik devre dışı bırakılırsa tek reklam görünümlerinin donanım hızlandırma için etkinleştirilemeyeceğini, bu nedenle etkinliğin kendisinde donanım hızlandırmanın etkinleştirilmesi gerektiğini unutmayın.
Reklamınızı gösterme
Reklamı yükledikten sonra yapmanız gereken tek şey reklamı kullanıcılarınıza göstermektir. Daha fazla bilgi için Doğal gelişmiş reklamlar veya Tam ekran doğal reklamlar bölümüne bakın.
Örnek
GMA Next-Gen SDK kullanımını gösteren örnek uygulamayı indirip çalıştırın.