این راهنما به شما نشان میدهد که چگونه یک آداپتور میانجی را با برنامه Android خود ادغام کنید.
پیشنیازها
قبلاز اینکه بتوانید میانجیگری را برای قالب آگهی ادغام کنید، باید آن قالب آگهی را در برنامهتان ادغام کنید:
در میانجیگری تازهکار هستید؟ مقدمهای بر میانجیگری را بخوانید.
مقداردهی اولیه GMA Next-Gen SDK
راهنمای شروع سریع به شما نشان میدهد که چگونه GMA Next-Gen SDK را مقداردهی اولیه کنید. درطول آن فراخوانی مقداردهی اولیه، آداپتورهای میانجی نیز مقداردهی اولیه میشوند. مهم است که قبلاز بار کردن آگهیها منتظر بمانید تا مقداردهی اولیه تکمیل شود تا بتوانید مشارکت کامل هر شبکه آگهی را در اولین درخواست آگهی تأیید کنید.
کد نمونه زیر نشان میدهد که چگونه میتوانید وضعیت مقداردهی اولیه هر آداپتور را قبلاز درخواست آگهی بررسی کنید.
Kotlin
import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(this@MainActivity, InitializationConfig.Builder("SAMPLE_APP_ID").build()) {
initializationStatus ->
for ((adapterName, adapterStatus) in initializationStatus.adapterStatusMap) {
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status string: %s, Latency: %d",
adapterName,
adapterStatus.initializationState,
adapterStatus.description,
adapterStatus.latency,
),
)
}
// Adapter initialization is complete.
}
// Other methods on MobileAds can now be called.
}
}
}
جاوا
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.AdapterStatus;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() -> {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this,
new InitializationConfig.Builder("SAMPLE_APP_ID")
.build(),
initializationStatus -> {
Map<String, AdapterStatus> adapterStatusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : adapterStatusMap.keySet()) {
AdapterStatus adapterStatus = adapterStatusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status description: %s,"
+ " Latency: %d",
adapterClass,
adapterStatus.getInitializationState(),
adapterStatus.getDescription(),
adapterStatus.getLatency()));
}
// Adapter initialization is complete.
});
// Other methods on MobileAds can now be called.
})
.start();
}
}
مستثنی کردن پیمانههای com.google.android.gms در یکپارچهسازیهای میانجیگری
آداپتورهای میانجی همچنان به Google Mobile Ads SDK (Legacy) وابسته هستند. بااینحال ،GMA Next-Gen SDK شامل همه کلاسهای موردنیاز آداپتورهای واسطهگری است. برای جلوگیری از خطاهای کامپایل مربوط به نمادهای تکراری، باید Google Mobile Ads SDK (Legacy) را از اینکه بهعنوان وابستگی توسط آداپتورهای میانجی کشیده شود مستثنی کنید.
در فایل build.gradle در سطح برنامه، هر دو واحد play-services-ads و
play-services-ads-lite را بهطور سراسری از همه وابستگیها مستثنی کنید:
Kotlin
configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations.configureEach { exclude group: "com.google.android.gms", module: "play-services-ads" exclude group: "com.google.android.gms", module: "play-services-ads-lite" }
بررسی کنید کدام کلاس آداپتور شبکه آگهی، آگهی را بار کرده است
در اینجا نمونه کدی آورده شده است که نام کلاس شبکه آگهی را برای آگهی برنمایی ثبت میکند:
Kotlin
BannerAd.load(
BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
Log.d(
"MyApp", "Adapter class name: " +
ad.getResponseInfo().mediationAdapterClassName
)
}
}
)
جاوا
BannerAd.load(
new BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
Log.d("MyApp",
"Adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
}
);
استفاده از آگهیهای برنما با میانجیگری
مطمئن شوید که بازآوری را در همه واسطهای کاربر منبع آگهی شخص ثالث برای واحدهای آگهی برنمایی که در میانجیگری استفاده میشوند غیرفعال کنید. این کار از بازآوری مجدد جلوگیری میکند زیرا Ad Manager نیز براساس نرخ بازآوری واحد آگهی برنمای شما بازآوری را راهاندازی میکند.
قوانین حریم خصوصی ایالتی در ایالات متحده و «مقررات عمومی حفاظت از دادهها»
اگر لازم است از قوانین حریم خصوصی ایالتهای امریکا یا مقررات کلی حفاظت از دادهها (GDPR) تبعیت کنید، مراحل موجود در تنظیمات مقررات ایالتی امریکا یا تنظیمات GDPR را دنبال کنید تا شرکای میانجیگریتان را به فهرست شرکای آگهی GDPR یا ایالتهای امریکا در «حریم خصوصی و پیامرسانی» Ad Manager اضافه کنید. عدم انجام این کار میتواند منجر به عدم ارائه آگهی توسط شرکا در برنامه شما شود.
درباره فعال کردن پردازش محدود داده (RDP) و کسب رضایت با مقررات کلی حفاظت از داده با کیت توسعه نرمافزار پلاتفرم پیامرسانی کاربر Google (UMP) بیشتر بدانید.