این راهنما نحوه ادغام کردن میانجیگری با برنامه 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 را دنبال کنید تا شرکای واسطهگری خود را به فهرست شرکای آگهی «ایالتهای امریکا» یا «مقررات عمومی حفاظت از دادهها» در «حریم خصوصی و پیامرسانی» Ad Manager اضافه کنید. انجام ندادن این کار میتواند منجر به این شود که شرکا نتوانند در برنامه شما آگهی ارائه کنند.
درباره فعال کردن پردازش دادههای محدودشده (RDP) و دریافت موافقت GDPR با کیت توسعه نرمافزار پلاتفرم پیامرسانی کاربر Google (UMP) بیشتر بدانید.