شروع کنید

این راهنما به شما نشان می دهد که چگونه یک آداپتور میانجی را با برنامه اندروید خود ادغام کنید.

پیش نیازها

قبل از اینکه بتوانید میانجیگری را برای یک قالب تبلیغ یکپارچه کنید، باید آن قالب تبلیغ را در برنامه خود ادغام کنید:

تازه در میانجیگری؟ مقدمه ای بر میانجی گری را بخوانید.

برای مناقصه: 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 بیشتر بیاموزید.