این راهنما به شما نشان می دهد که چگونه یک آداپتور میانجی را با برنامه اندروید خود ادغام کنید.
پیش نیازها
قبل از اینکه بتوانید میانجیگری را برای یک قالب تبلیغ یکپارچه کنید، باید آن قالب تبلیغ را در برنامه خود ادغام کنید:
تازه در میانجیگری؟ مقدمه ای بر میانجی گری را بخوانید.
برای مناقصه: Google Mobile Ads SDK 18.3.0 یا بالاتر.
SDK تبلیغات موبایل را راه اندازی کنید
راهنمای شروع سریع به شما نشان می دهد که چگونه SDK تبلیغات موبایلی را مقداردهی اولیه کنید . در طول آن تماس اولیه، آداپتورهای واسطه نیز مقداردهی اولیه می شوند. برای اطمینان از مشارکت کامل هر شبکه تبلیغاتی در اولین درخواست تبلیغ، مهم است که منتظر بمانید تا مقداردهی اولیه قبل از بارگیری تبلیغات کامل شود.
کد نمونه زیر نشان می دهد که چگونه می توانید وضعیت اولیه سازی هر آداپتور را قبل از درخواست تبلیغ بررسی کنید.
جاوا
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
initializationStatus -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
کاتلین
import com.google.android.gms.ads.MobileAds
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 the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
بررسی کنید کدام کلاس آداپتور شبکه تبلیغاتی آگهی را بارگیری کرده است
در اینجا چند کد نمونه وجود دارد که نام کلاس شبکه تبلیغاتی را برای یک آگهی تبلیغاتی ثبت می کند:
جاوا
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
کاتلین
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
برای جزئیات بیشتر در مورد این روش به مستندات ResponseInfo
در getMediationAdapterClassName()
مراجعه کنید.
شیء تبلیغ خود را با یک نمونه Activity راه اندازی کنید
در سازنده یک شی تبلیغاتی جدید (مثلا AdManagerAdView
)، باید یک شی از نوع Context
را وارد کنید. این Context
در هنگام استفاده از میانجیگری به سایر شبکه های تبلیغاتی منتقل می شود. برخی از شبکههای تبلیغاتی به یک Context
محدودتر نیاز دارند که از نوع Activity
است و ممکن است نتواند تبلیغات را بدون نمونه Activity
ارائه کند. بنابراین، توصیه میکنیم هنگام راهاندازی اشیاء تبلیغاتی، از یک نمونه Activity
استفاده کنید تا از تجربهای سازگار با شبکههای تبلیغاتی واسطهای خود اطمینان حاصل کنید.
از تبلیغات بنری با واسطه استفاده کنید
مطمئن شوید که Refresh را در همه رابطهای کاربری منبع آگهی شخص ثالث برای واحدهای تبلیغات بنری مورد استفاده در میانجیگری غیرفعال کنید. این کار از یک بهروزرسانی مضاعف جلوگیری میکند، زیرا Ad Manager نیز بر اساس نرخ تازهسازی واحد تبلیغات بنر شما، بهروزرسانی را راهاندازی میکند.
از تبلیغات بومی با واسطه استفاده کنید
در زیر برخی از بهترین شیوه هایی که باید در هنگام اجرای میانجیگری بومی در نظر گرفته شوند آورده شده است.
- خط مشی ارائه تبلیغات بومی
- هر شبکه تبلیغاتی سیاست های خاص خود را دارد. هنگام استفاده از میانجیگری، مهم است که به یاد داشته باشید که برنامه شما همچنان باید از خطمشیهای شبکه واسطهای که آگهی را ارائه کرده است، تبعیت کند.
- استفاده از
loadAd()
به جایloadAds()
- متد
loadAds()
فقط تبلیغات گوگل را ارائه می کند. برای تبلیغات واسطه، به جای آن ازloadAd()
استفاده کنید.
قوانین حفظ حریم خصوصی ایالات متحده و GDPR
اگر نیاز به پیروی از قوانین حریم خصوصی ایالت های ایالات متحده یا مقررات عمومی حفاظت از داده (GDPR) دارید، مراحل موجود در تنظیمات مقررات ایالتی یا تنظیمات GDPR را دنبال کنید تا شرکای میانجی خود را در ایالت های ایالات متحده Ad Manager Privacy & Messaging یا لیست شرکای تبلیغاتی GDPR اضافه کنید. عدم انجام این کار می تواند منجر به شکست شرکا در ارائه تبلیغات در برنامه شما شود.
درباره فعال کردن پردازش محدود داده (RDP) و کسب رضایت GDPR با پلت فرم پیامرسانی کاربر Google (UMP) SDK بیشتر بیاموزید. ،این راهنما به شما نشان می دهد که چگونه یک آداپتور میانجی را با برنامه اندروید خود ادغام کنید.
پیش نیازها
قبل از اینکه بتوانید میانجیگری را برای یک قالب تبلیغ یکپارچه کنید، باید آن قالب تبلیغ را در برنامه خود ادغام کنید:
تازه در میانجیگری؟ مقدمه ای بر میانجی گری را بخوانید.
برای مناقصه: Google Mobile Ads SDK 18.3.0 یا بالاتر.
SDK تبلیغات موبایل را راه اندازی کنید
راهنمای شروع سریع به شما نشان می دهد که چگونه SDK تبلیغات موبایلی را مقداردهی اولیه کنید . در طول آن تماس اولیه، آداپتورهای واسطه نیز مقداردهی اولیه می شوند. برای اطمینان از مشارکت کامل هر شبکه تبلیغاتی در اولین درخواست تبلیغ، مهم است که منتظر بمانید تا مقداردهی اولیه قبل از بارگیری تبلیغات کامل شود.
کد نمونه زیر نشان می دهد که چگونه می توانید وضعیت اولیه سازی هر آداپتور را قبل از درخواست تبلیغ بررسی کنید.
جاوا
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
initializationStatus -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
کاتلین
import com.google.android.gms.ads.MobileAds
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 the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
بررسی کنید کدام کلاس آداپتور شبکه تبلیغاتی آگهی را بارگیری کرده است
در اینجا چند کد نمونه وجود دارد که نام کلاس شبکه تبلیغاتی را برای یک آگهی تبلیغاتی ثبت می کند:
جاوا
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
کاتلین
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
برای جزئیات بیشتر در مورد این روش به مستندات ResponseInfo
در getMediationAdapterClassName()
مراجعه کنید.
شیء تبلیغ خود را با یک نمونه Activity راه اندازی کنید
در سازنده یک شی تبلیغاتی جدید (مثلا AdManagerAdView
)، باید یک شی از نوع Context
را وارد کنید. این Context
در هنگام استفاده از میانجیگری به سایر شبکه های تبلیغاتی منتقل می شود. برخی از شبکههای تبلیغاتی به یک Context
محدودتر نیاز دارند که از نوع Activity
است و ممکن است نتواند تبلیغات را بدون نمونه Activity
ارائه کند. بنابراین، توصیه میکنیم هنگام راهاندازی اشیاء تبلیغاتی، از یک نمونه Activity
استفاده کنید تا از تجربهای سازگار با شبکههای تبلیغاتی واسطهای خود اطمینان حاصل کنید.
از تبلیغات بنری با واسطه استفاده کنید
مطمئن شوید که Refresh را در همه رابطهای کاربری منبع آگهی شخص ثالث برای واحدهای تبلیغات بنری مورد استفاده در میانجیگری غیرفعال کنید. این کار از یک بهروزرسانی مضاعف جلوگیری میکند، زیرا Ad Manager نیز بر اساس نرخ تازهسازی واحد تبلیغات بنر شما، بهروزرسانی را راهاندازی میکند.
از تبلیغات بومی با واسطه استفاده کنید
در زیر برخی از بهترین شیوه هایی که باید در هنگام اجرای میانجیگری بومی در نظر گرفته شوند آورده شده است.
- خط مشی ارائه تبلیغات بومی
- هر شبکه تبلیغاتی سیاست های خاص خود را دارد. هنگام استفاده از میانجیگری، مهم است که به یاد داشته باشید که برنامه شما همچنان باید از خطمشیهای شبکه واسطهای که آگهی را ارائه کرده است، تبعیت کند.
- استفاده از
loadAd()
به جایloadAds()
- متد
loadAds()
فقط تبلیغات گوگل را ارائه می کند. برای تبلیغات واسطه، به جای آن ازloadAd()
استفاده کنید.
قوانین حفظ حریم خصوصی ایالات متحده و GDPR
اگر نیاز به پیروی از قوانین حریم خصوصی ایالت های ایالات متحده یا مقررات عمومی حفاظت از داده (GDPR) دارید، مراحل موجود در تنظیمات مقررات ایالتی یا تنظیمات GDPR را دنبال کنید تا شرکای میانجی خود را در ایالت های ایالات متحده Ad Manager Privacy & Messaging یا لیست شرکای تبلیغاتی GDPR اضافه کنید. عدم انجام این کار می تواند منجر به شکست شرکا در ارائه تبلیغات در برنامه شما شود.
درباره فعال کردن پردازش محدود داده (RDP) و کسب رضایت GDPR با پلت فرم پیامرسانی کاربر Google (UMP) SDK بیشتر بیاموزید.