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