راه‌اندازی GMA Next-Gen SDK

Integrating GMA Next-Gen SDK into an app is the first step toward displaying ads and earning revenue. Once you've integrated the SDK, you can choose an ad format (such as native or rewarded video) and follow the steps to implement it.

قبل از اینکه شروع کنی

برای آماده‌سازی برنامه خود، مراحل بخش‌های زیر را تکمیل کنید.

پیش‌نیازهای برنامه

  • مطمئن شوید که فایل ساخت برنامه شما از مقادیر زیر استفاده می‌کند:

    • حداقل نسخه SDK 24 یا بالاتر
    • نسخه SDK 35 یا بالاتر را کامپایل کنید
  • برای برنامه‌های کاتلین، از حداقل نسخه کاتلین ۱.۹ استفاده کنید.

برنامه خود را پیکربندی کنید

  1. در فایل تنظیمات Gradle خود، مخزن Maven گوگل و مخزن مرکزی Maven را وارد کنید:

    کاتلین

    pluginManagement {
      repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
      }
    }
    
    dependencyResolutionManagement {
      repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
      repositories {
        google()
        mavenCentral()
      }
    }
    
    rootProject.name = "My Application"
    include(":app")

    گرووی

    pluginManagement {
      repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
      }
    }
    
    dependencyResolutionManagement {
      repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
      repositories {
        google()
        mavenCentral()
      }
    }
    
    rootProject.name = "My Application"
    include ':app'
  2. وابستگی‌های GMA Next-Gen SDK را به فایل ساخت سطح برنامه خود اضافه کنید:

    کاتلین

    dependencies {
      implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.4.0")
    }

    گرووی

    dependencies {
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.4.0'
    }
  3. روی «همگام‌سازی» کلیک کنید. برای جزئیات بیشتر در مورد همگام‌سازی، به «همگام‌سازی پروژه‌ها با فایل‌های Gradle» مراجعه کنید.

مقداردهی اولیه GMA Next-Gen SDK

برای مقداردهی اولیه GMA Next-Gen SDK تابع MobileAds.initialize() را فراخوانی کنید. این تابع باید در یک thread پس‌زمینه فراخوانی شود، عدم انجام این کار ممکن است باعث خطای "برنامه پاسخ نمی‌دهد" (ANR) شود.

کاتلین

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,
        // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
        InitializationConfig.Builder("SAMPLE_APP_ID").build()
      ) {
        // Adapter initialization is complete.
      }
      // SDK initialization is complete. If you don't want to wait for bidding adapters to finish
      // initializing, start loading ads now.
    }
  }
}

جاوا

import com.google.android.libraries.ads.mobile.sdk.MobileAds;
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,
                  // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    // Adapter initialization is complete.
                  });
              // SDK initialization is complete. If you don't want to wait for bidding adapters to
              // finish initializing, start loading ads now.
            })
        .start();
  }
}

This method initializes the SDK and calls a completion listener once both GMA Next-Gen SDK and adapter initializations have completed, or after a 30-second timeout. This needs to be done only once, ideally at app launch.

اگر از میانجیگری استفاده می‌کنید، قبل از بارگذاری تبلیغات، منتظر بمانید تا کنترل‌کننده‌ی تکمیل فراخوانی شود. این کار تضمین می‌کند که تمام آداپتورهای میانجیگری مقداردهی اولیه شده‌اند.

تبلیغات ممکن است توسط GMA Next-Gen SDK یا SDK های شریک واسطه، پس از مقداردهی اولیه، از قبل بارگیری شوند. اگر نیاز به کسب رضایت از کاربران در منطقه اقتصادی اروپا (EEA)، بریتانیا (UK) یا سوئیس دارید، هرگونه پرچم مخصوص درخواست، مانند RequestConfiguration.TagForChildDirectedTreatment یا RequestConfiguration.TagForUnderAgeOfConsent تنظیم کنید، یا قبل از بارگیری تبلیغات، اقدامات دیگری انجام دهید، مطمئن شوید که این کار را قبل از مقداردهی اولیه GMA Next-Gen SDK انجام می‌دهید.

انتخاب قالب تبلیغ

GMA Next-Gen SDK اکنون وارد شده است و شما آماده پیاده‌سازی یک تبلیغ هستید. Ad Manager قالب‌های تبلیغاتی مختلفی را ارائه می‌دهد، بنابراین می‌توانید قالبی را انتخاب کنید که به بهترین وجه با تجربه کاربری برنامه شما مطابقت داشته باشد.

Banner ad units display rectangular ads that occupy a portion of an app's layout. They can refresh automatically after a set period of time. This means users view a new ad at regular intervals, even if they stay on the same screen in your app. They're also the simplest ad format to implement.

اجرای تبلیغات بنری

بینابینی

واحدهای تبلیغاتی بینابینی، تبلیغات تمام صفحه را در برنامه شما نشان می‌دهند. آن‌ها را در وقفه‌ها و انتقال‌های طبیعی در رابط برنامه خود قرار دهید، مانند بعد از اتمام مرحله در یک برنامه بازی.

تبلیغات بینابینی را پیاده‌سازی کنید

بومی

Native ads are ads where you can customize the way assets such as headlines and calls to action are presented in your apps. By styling the ad yourself, you can create a natural, unobtrusive ad presentations that can add to a rich user experience.

مدیر تبلیغات گوگل دو روش برای پیاده‌سازی تبلیغات بومی ارائه می‌دهد: سبک‌های بومی و تبلیغات بومی استاندارد از طریق رندر سفارشی.

Native styles has been designed to simplify the implementation of native ads, and it's a great choice if you are new to the format. Custom rendering has been designed to maximize the freedom you have in creating your presentations.

پیاده‌سازی سبک‌های بومی پیاده‌سازی تبلیغات بومی (رندر سفارشی)

پاداش داده شده

Rewarded ad units enable users to play games, take surveys, or watch videos to earn in-app rewards, such as coins, extra lives, or points. You can set different rewards for different ad units, and specify the reward values and items the user received.

تبلیغات جایزه‌دار (Rewarded Ads) را پیاده‌سازی کنید

تبلیغات بینابینی پاداش‌دار

تبلیغات بینابینی پاداشی نوع جدیدی از قالب تبلیغات تشویقی است که به شما امکان می‌دهد برای تبلیغاتی که به طور خودکار در حین انتقال طبیعی برنامه ظاهر می‌شوند، جوایزی مانند سکه یا جان اضافی ارائه دهید.

برخلاف تبلیغات جایزه‌دار، کاربران برای مشاهده‌ی تبلیغات بینابینی جایزه‌دار ملزم به انتخاب نیستند.

به جای دکمه‌ی انتخاب در تبلیغات جایزه‌دار، تبلیغات بینابینی جایزه‌دار به یک صفحه‌ی معرفی نیاز دارند که جایزه را اعلام می‌کند و به کاربران این امکان را می‌دهد که در صورت تمایل انصراف دهند.

تبلیغات بینابینی پاداش‌دار را پیاده‌سازی کنید

برنامه باز است

باز شدن برنامه، نوعی تبلیغ است که هنگام باز شدن یا بازگشت کاربران به برنامه شما ظاهر می‌شود. این تبلیغ، صفحه بارگذاری را می‌پوشاند.

تبلیغات باز برنامه را پیاده سازی کنید

تصویر در تصویر (نسخه بتا)

تصویر در تصویر

تبلیغات تصویر در تصویر (PiP) یک تبلیغ را در یک پنجره شناور نمایش می‌دهد که روی محتوای صفحه نمایش باقی می‌ماند. این فرمت به کاربران شما اجازه می‌دهد در حالی که تبلیغ قابل مشاهده است، با برنامه شما تعامل داشته باشند.

تبلیغات تصویر در تصویر را پیاده‌سازی کنید