يُعدّ دمج GMA Next-Gen SDK في تطبيق الخطوة الأولى نحو عرض الإعلانات وتحقيق الإيرادات. بعد دمج حزمة تطوير البرامج (SDK)، يمكنك اختيار شكل الإعلان (مثل "إعلان مدمج مع المحتوى" أو "إعلان فيديو مقابل مكافأة") واتّباع الخطوات لتنفيذه.
قبل البدء
لإعداد تطبيقك، أكمِل الخطوات الواردة في الأقسام التالية.
المتطلبات الأساسية للتطبيق
تأكَّد من أنّ ملف إصدار تطبيقك يستخدم القيم التالية:
- الحدّ الأدنى لإصدار حزمة تطوير البرامج (SDK) هو
24أو إصدار أحدث - إصدار حزمة تطوير البرامج (SDK) المجمَّع
35أو إصدار أحدث
- الحدّ الأدنى لإصدار حزمة تطوير البرامج (SDK) هو
- بالنسبة إلى تطبيقات Kotlin، استخدِم الإصدار 1.9 من Kotlin كحدّ أدنى.
إعداد تطبيقك في حسابك على AdMob
سجِّل تطبيقك كتطبيق يستخدم AdMob من خلال إكمال الخطوات التالية:
سجِّل الدخول إلى حسابك على AdMob أو أنشئ حسابًا.
تسجيل تطبيقك في AdMob تؤدي هذه الخطوة إلى إنشاء تطبيق يستخدم AdMob مع معرّف تطبيق AdMob فريد مطلوب لاحقًا في هذا الدليل.
إعداد تطبيقك
في ملف إعدادات 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'
أضِف التبعيات الخاصة بـ GMA Next-Gen SDK إلى ملف الإصدار على مستوى التطبيق:
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.6.0") }
Groovy
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.6.0' }
انقر على مزامنة الآن. لمعرفة التفاصيل حول المزامنة، يُرجى الاطّلاع على مزامنة المشاريع مع ملفات 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 AdMob 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 AdMob 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) واستدعاء مستمع الإكمال بعد اكتمال إعدادات كل من GMA Next-Gen SDK والمحوِّل، أو بعد مهلة 30 ثانية. يجب تنفيذ هذا الإجراء مرة واحدة فقط، ويُفضَّل أن يكون ذلك عند تشغيل التطبيق.
إذا كنت تستخدم ميزة "توسط AdMob"، انتظِر حتى يتم استدعاء معالج الإكمال قبل تحميل الإعلانات. يضمن ذلك إعداد جميع محوّلات التوسّط.
قد يتم تحميل الإعلانات مسبقًا من خلال حزم تطوير البرامج (SDK) الخاصة بـ "GMA Next-Gen SDK" أو شركاء التوسّط
عند الإعداد. إذا كنت بحاجة إلى الحصول على موافقة من المستخدمين في المنطقة الاقتصادية الأوروبية أو المملكة المتحدة أو سويسرا، اضبط أي علامات خاصة بالطلب، مثل RequestConfiguration.TagForChildDirectedTreatment أو RequestConfiguration.TagForUnderAgeOfConsent، أو اتّخِذ إجراءً قبل تحميل الإعلانات، وتأكَّد من إجراء ذلك قبل إعداد GMA Next-Gen SDK.
اختيار شكل الإعلان
تم الآن استيراد GMA Next-Gen SDK وأصبحت جاهزًا لتنفيذ إعلان. يوفّر AdMob عددًا من أشكال الإعلانات المختلفة، لذا يمكنك اختيار الشكل الذي يناسب تجربة المستخدم في تطبيقك.
بانر
تعرض الوحدات الإعلانية لإعلانات البانر إعلانات مستطيلة تشغل جزءًا من تصميم التطبيق. ويمكن تحديثها تلقائيًا بعد فترة زمنية معيّنة. وهذا يعني أنّ المستخدِمين سيشاهدون إعلانًا جديدًا على فترات زمنية منتظمة، حتى إذا ظلّوا على الشاشة نفسها في تطبيقك. ويُعدّ هذا الشكل أبسط أشكال الإعلانات التي يمكن تنفيذها.
إعلان بيني
تعرض وحدات الإعلانات البينية إعلانات بملء الصفحة داخل تطبيقك. ويمكنك عرض هذه الإعلانات في لحظات التنقّل أو الفواصل التي تحدث بشكلٍ تلقائي في واجهة تطبيقك، مثل بعد إكمال المستوى في لعبة على الأجهزة الجوّالة.
مدمج مع المحتوى
"الإعلانات المدمجة مع المحتوى" هي إعلانات تتيح لك تخصيص طريقة عرض مواد العرض، مثل العناوين وعبارات الحث على اتخاذ إجراء، في تطبيقاتك. من خلال تصميم الإعلان بنفسك، يمكنك إنشاء عروض إعلانية طبيعية وغير مزعجة يمكن أن تساهم في توفير تجربة غنية للمستخدم.
تنفيذ "الإعلانات المدمجة مع المحتوى"
تمت المكافأة
تتيح وحدات "الإعلانات مقابل مكافأة" للمستخدمين تشغيل الألعاب أو المشاركة في استطلاعات أو مشاهدة فيديوهات للحصول على مكافآت داخل التطبيق، مثل الحصول على عملات معدنية أو محاولات إضافية أو نقاط. يمكنك ضبط مكافآت مختلفة لوحدات إعلانية مختلفة، وتحديد قيم المكافأة والعناصر التي سيحصل عليها المستخدمون.
تنفيذ "الإعلانات مقابل مكافأة"
إعلان بيني مقابل مكافأة
"الإعلان البيني مقابل مكافأة" هو نوع جديد من أشكال الإعلانات المحفَّزة، حيث يتيح لك تقديم مكافآت، مثل العملات أو محاولات لعب إضافية، مقابل الإعلانات التي تظهر تلقائيًا خلال الانتقالات الطبيعية داخل التطبيق.
وعلى عكس الإعلانات مقابل مكافأة، لا يُطلب من المستخدمين الموافقة على عرض إعلان بيني مقابل مكافأة.
وبدلاً من رسالة طلب الموافقة داخل "الإعلانات مقابل مكافأة"، تتطلّب "الإعلانات البينية مقابل مكافأة" شاشة تمهيدية تُعلن عن المكافأة وتمنح المستخدمين فرصة للإيقاف إذا أرادوا إجراء ذلك.
استخدام "الإعلانات البينية مقابل مكافأة"
إعلان على شاشة فتح التطبيق
"الإعلانات على شاشة فتح التطبيق" هي شكل إعلان يظهر عندما يفتح المستخدمون تطبيقك أو يعودون إليه مرة أخرى. يظهر الإعلان على شاشة التحميل.
تنفيذ "الإعلانات على شاشة فتح التطبيق"
نافذة ضمن النافذة (إصدار تجريبي)
تعرض "إعلانات نافذة ضمن النافذة" إعلانًا في نافذة عائمة تظهر فوق المحتوى على الشاشة. يتيح هذا الشكل للمستخدمين التفاعل مع تطبيقك بينما يظل الإعلان مرئيًا.