إعداد الجيل التالي من SDK لإعلانات Google على الأجهزة الجوّالة

اختيار النظام الأساسي: Android iOS Unity Flutter Android (الإصدار القديم)

يُعدّ دمج GMA Next-Gen SDK في تطبيقك الخطوة الأولى نحو عرض الإعلانات وتحقيق الإيرادات. بعد دمج حزمة SDK، يمكنك اختيار شكل إعلان (مثل الإعلان المدمج مع المحتوى أو إعلان الفيديو مقابل مكافأة) واتّباع الخطوات لعرضه.

قبل البدء

لإعداد تطبيقك، أكمل الخطوات الواردة في الأقسام التالية.

المتطلبات الأساسية للتطبيق

  • تأكَّد من أنّ ملف إنشاء تطبيقك يستخدم القيم التالية:

    • الإصدار ‎ من حزمة تطوير البرامج (SDK) كحد أدنى 24 أو إصدار أحدث
    • الإصدار ‎ من حزمة تطوير البرامج (SDK) الذي يتم التجميع به كحد أدنى أو إصدار أحدث 35
  • بالنسبة إلى تطبيقات Kotlin، استخدِم الإصدار 1.9 من Kotlin كحد أدنى.

ضبط تطبيقك

  1. في ملف إعدادات Gradle، أدرِج مستودع Maven من Google و مستودع Maven المركزي:

    Kotlin

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

    Groovy

    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 إلى ملف إنشاء التطبيق على مستوى التطبيق:

    Kotlin

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

    Groovy

    dependencies {
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.5.0'
    }
  3. انقر على مزامنة الآن. لمعرفة التفاصيل حول المزامنة، يُرجى الاطّلاع على مقالة مزامنة المشاريع مع ملفات Gradle.

إعداد حزمة GMA Next-Gen SDK

استدعِ الدالة MobileAds.initialize() لإعداد GMA Next-Gen SDK. يجب استدعاء هذه الدالة في سلسلة محادثات في الخلفية، وإلا قد يحدث خطأ "التطبيق لا يستجيب" (ANR).

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,
        // 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();
  }
}

تُعدّ هذه الطريقة حزمة SDK وتستدعي مستمعًا لإكمال العملية بعد اكتمال عمليات إعداد حزمة SDKGMA Next-Gen SDK والمحوّل، أو بعد انتهاء مهلة مدتها 30 ثانية. يجب إجراء ذلك مرة واحدة فقط، ويُفضّل عند فتح التطبيق.

إذا كنت تستخدم التوسّط، انتظِر إلى أن يتم استدعاء معالج الإكمال قبل تحميل الإعلانات. يضمن ذلك إعداد جميع محوّلات التوسّط.

قد يتم تحميل الإعلانات مسبقًا من خلال GMA Next-Gen SDK أو حِزم SDK الخاصة بالشركاء في التوسّط عند الإعداد. إذا كنت بحاجة إلى الحصول على موافقة المستخدمين في المنطقة الاقتصادية الأوروبية أو المملكة المتحدة أو سويسرا، اضبط أي علامات خاصة بالطلب، مثل RequestConfiguration.TagForChildDirectedTreatmentأوRequestConfiguration.TagForUnderAgeOfConsent، أو اتّخِذ إجراءً آخر قبل تحميل الإعلانات، وتأكَّد من إجراء ذلك قبل إعداد حزمة GMA Next-Gen SDK.

اختيار شكل الإعلان

GMA Next-Gen SDK تم الآن استيراد وأنت مستعد لعرض إعلان. يوفّر Ad Manager عددًا من أشكال الإعلانات المختلفة، لذا يمكنك اختيار الشكل الذي يناسب تجربة المستخدم في تطبيقك على أفضل نحو.

تعرض الوحدات الإعلانية لإعلانات بانر إعلانات مستطيلة تشغل جزءًا من تصميم التطبيق. ويمكن تحديثها تلقائيًا بعد فترة زمنية معيّنة. وهذا يعني أنّ المستخدِمين سيشاهدون إعلانًا جديدًا على فترات زمنية منتظمة، حتى إذا ظلّوا على الشاشة نفسها في تطبيقك. ويُعدّ هذا الشكل أبسط أشكال الإعلانات التي يمكن تنفيذها.

عرض "إعلانات بانر"

إعلان بيني

تعرض وحدات الإعلانات البينية إعلانات بملء الصفحة داخل تطبيقك. ويمكنك عرض هذه الإعلانات في لحظات التنقّل أو الفواصل التي تحدث بشكلٍ تلقائي في واجهة تطبيقك، مثل بعد إكمال مستوى في لعبة على الأجهزة الجوّالة.

عرض الإعلانات البينية

مدمج مع المحتوى

"الإعلانات المدمجة مع المحتوى" هي إعلانات يمكنك فيها تخصيص طريقة عرض مواد العرض، مثل العناوين الرئيسية وعبارات الحث على اتخاذ إجراء، في تطبيقاتك. من خلال تصميم الإعلان بنفسك، يمكنك إنشاء عروض إعلانية طبيعية وغير مزعجة يمكن أن تساهم في تقديم تجربة غنية للمستخدم.

توفّر "إدارة إعلانات Google" طريقتَين لتطبيق "الإعلانات المدمجة مع المحتوى": أنماط الإعلانات المدمجة مع المحتوى و"الإعلانات المدمجة مع المحتوى" العادية من خلال العرض المخصّص.

تم تصميم أنماط الإعلانات المدمجة مع المحتوى لتبسيط عرض الإعلانات المدمجة مع المحتوى، وهي خيار رائع إذا كنت جديدًا على هذا الشكل. تم تصميم العرض المخصّص لزيادة الحرية إلى أقصى حد في إنشاء عروضك.

تطبيق أنماط الإعلانات المدمجة مع المحتوى تطبيق الإعلانات المدمجة مع المحتوى (العرض المخصّص)

تمت المكافأة

تتيح وحدات "الإعلانات مقابل مكافأة" للمستخدمين تشغيل الألعاب أو المشاركة في استطلاعات أو مشاهدة فيديوهات للحصول على مكافآت داخل التطبيق، مثل الحصول على عملات معدنية أو محاولات إضافية أو نقاط. يمكنك تعيين مكافآت مختلفة لوحدات إعلانية مختلفة، وتحديد قيم المكافأة والعناصر التي حصل عليها المستخدم.

عرض "الإعلانات مقابل مكافأة"

إعلان بيني مقابل مكافأة

"إعلان بيني مقابل مكافأة" هو نوع جديد من أشكال الإعلانات المحفَّزة، حيث يحصل المستخدم على مكافآت، مثل العملات أو محاولات لعب إضافية، عند مشاهدة الإعلان الذي يظهر تلقائيًا خلال الانتقالات الطبيعية داخل التطبيق.

على عكس "الإعلانات مقابل مكافأة"، لا يُطلب من المستخدمين الموافقة على عرض إعلان بيني بمكافأة.

وبدلاً من رسالة طلب الموافقة داخل "الإعلانات مقابل مكافأة"، تتطلّب "الإعلانات البينية بمكافأة" شاشة تمهيدية تُعلن عن المكافأة وتمنح المستخدمين فرصة للإيقاف إذا أرادوا إجراء ذلك.

عرض إعلانات بينية مقابل مكافأة

إعلان على شاشة فتح التطبيق

"إعلان على شاشة فتح التطبيق" هو شكل إعلان يظهر عندما يفتح المستخدمون تطبيقك أو يعودون إليه مرة أخرى. يظهر الإعلان على شاشة التحميل.

عرض "إعلانات على شاشة فتح التطبيق"

نافذة ضمن النافذة (إصدار تجريبي)

نافذة ضمن النافذة

تعرض "الإعلانات في الوضع نافذة ضمن النافذة" إعلانًا في نافذة عائمة تظل في أعلى المحتوى على الشاشة. يتيح هذا الشكل للمستخدمين التفاعل مع تطبيقك بينما يظل الإعلان مرئيًا.

عرض "الإعلانات في الوضع نافذة ضمن النافذة"