رویدادهای سفارشی به شما امکان میدهند میانجیگری آبشاری را برای شبکه آگهی که شبکه آگهی پشتیبانیشده نیست اضافه کنید. این کار را با پیادهسازی یک آداپتور رویداد سفارشی برای شبکه تبلیغاتی موردنظرتان برای ادغام انجام میدهید.
پیشنیازها
قبلاز اینکه بتوانید رویدادهای سفارشی ایجاد کنید، ابتدا باید یکی از قالبهای آگهی زیر را در برنامهتان ادغام کنید:
ایجاد رویداد سفارشی در واسط کاربر
ابتدا باید رویداد سفارشی در واسط کاربر Ad Manager ایجاد شود. دستورالعملها را در ایجاد و مدیریت گروههای بازدهی ببینید.
باید موارد زیر را ارائه دهید:
- نام کلاس
نام کاملاً واجدشرایط کلاسی که رویداد سفارشی را پیادهسازی میکند مبدل—برای مثال،
com.google.ads.mediation.sample.customevent.SampleCustomEvent. بهعنوان رویه برتر، توصیه میکنیم از یک کلاس آداپتور واحد برای همه قالبهای آگهی رویداد سفارشی استفاده کنید.- برچسب
نامی منحصربهفرد که منبع آگهی را تعریف میکند.
- پارامتر
متغیر مستقل رشتهای اختیاری که به آداپتور رویداد سفارشی شما ارسال میشود.
مقداردهی اولیه آداپتور
وقتی GMA Next-Gen SDK مقداردهی اولیه میشود،
initialize()
در همه آداپتورهای طرف سوم پشتیبانیشده و رویدادهای سفارشی پیکربندیشده
برای برنامه در «واسط کاربر Ad Manager» فراخوانی میشود. از این روش برای
انجام هرگونه راهاندازی یا مقداردهی اولیه لازم در کیت توسعه نرمافزار طرف سوم موردنیاز
برای رویداد سفارشیتان استفاده کنید.
جاوا
package com.google.ads.mediation.sample.customevent;
import com.google.android.gms.ads.mediation.Adapter;
import com.google.android.gms.ads.mediation.InitializationCompleteCallback;
import com.google.android.gms.ads.mediation.MediationConfiguration;
public class SampleAdNetworkCustomEvent extends Adapter {
private static final String SAMPLE_AD_UNIT_KEY = "parameter";
@Override
public void initialize(Context context,
InitializationCompleteCallback initializationCompleteCallback,
List<MediationConfiguration> mediationConfigurations) {
// This is where you will initialize the SDK that this custom
// event is built for. Upon finishing the SDK initialization,
// call the completion handler with success.
initializationCompleteCallback.onInitializationSucceeded();
}
}
Kotlin
package com.google.ads.mediation.sample.customevent
import com.google.android.gms.ads.mediation.Adapter
import com.google.android.gms.ads.mediation.InitializationCompleteCallback
import com.google.android.gms.ads.mediation.MediationConfiguration
class SampleCustomEvent : Adapter() {
private val SAMPLE_AD_UNIT_KEY = "parameter"
override fun initialize(
context: Context,
initializationCompleteCallback: InitializationCompleteCallback,
mediationConfigurations: List<MediationConfiguration>
) {
// This is where you will initialize the SDK that this custom
// event is built for. Upon finishing the SDK initialization,
// call the completion handler with success.
initializationCompleteCallback.onInitializationSucceeded()
}
}
گزارش شمارههای نسخه
همه رویدادهای سفارشی باید هم نسخه خود
مبدل رویداد سفارشی و هم نسخه کیت توسعه نرمافزار طرف سوم را که
واسطهای رویداد سفارشی با آن کار میکند به GMA Next-Gen SDK گزارش کنند. نسخهها بهعنوان
VersionInfo
اشیا گزارش میشوند:
جاوا
package com.google.ads.mediation.sample.customevent;
public class SampleCustomEvent extends Adapter {
@Override
public VersionInfo getVersionInfo() {
String versionString = new VersionInfo(1, 2, 3);
String[] splits = versionString.split("\\.");
if (splits.length >= 4) {
int major = Integer.parseInt(splits[0]);
int minor = Integer.parseInt(splits[1]);
int micro = Integer.parseInt(splits[2]) * 100 + Integer.parseInt(splits[3]);
return new VersionInfo(major, minor, micro);
}
return new VersionInfo(0, 0, 0);
}
@Override
public VersionInfo getSDKVersionInfo() {
String versionString = SampleAdRequest.getSDKVersion();
String[] splits = versionString.split("\\.");
if (splits.length >= 3) {
int major = Integer.parseInt(splits[0]);
int minor = Integer.parseInt(splits[1]);
int micro = Integer.parseInt(splits[2]);
return new VersionInfo(major, minor, micro);
}
return new VersionInfo(0, 0, 0);
}
}
Kotlin
package com.google.ads.mediation.sample.customevent
class SampleCustomEvent : Adapter() {
override fun getVersionInfo(): VersionInfo {
val versionString = VersionInfo(1,2,3).toString()
val splits: List<String> = versionString.split("\\.")
if (splits.count() >= 4) {
val major = splits[0].toInt()
val minor = splits[1].toInt()
val micro = (splits[2].toInt() * 100) + splits[3].toInt()
return VersionInfo(major, minor, micro)
}
return VersionInfo(0, 0, 0)
}
override fun getSDKVersionInfo(): VersionInfo {
val versionString = VersionInfo(1,2,3).toString()
val splits: List<String> = versionString.split("\\.")
if (splits.count() >= 3) {
val major = splits[0].toInt()
val minor = splits[1].toInt()
val micro = splits[2].toInt()
return VersionInfo(major, minor, micro)
}
return VersionInfo(0, 0, 0)
}
}
درخواست آگهی
برای درخواست آگهی، به دستورالعملهای مختص قالب آگهی مراجعه کنید: