دليل البدء السريع هذا مخصّص للناشرين والمطوّرين الذين يريدون استخدام AdMob. لتحقيق الربح من تطبيق تم إنشاؤه باستخدام Firebase. إذا لم تكن تخطط لتضمين Firebase في تطبيقك، انتقِل إلى AdMob قائمة بذاتها بدلاً من ذلك.
إذا لم تكن قد تعرفت بعد، فتعرف على جميع مزايا استخدام AdMob، وFirebase، وGoogle Analytics معًا.
إذا كانت هذه هي المرّة الأولى التي تطّلع فيها على هذا الدليل، ننصحك قم بتنزيل ومتابعة باستخدام اختبار C++ SDK لإعلانات Google على الأجهزة الجوّالة التطبيق.
قبل البدء
إذا لم يكن لديك مشروع على Firebase وتطبيق على Firebase، اتّبع دليل بدء استخدام Firebase: أضف Firebase إلى مشروع C++.
تأكّد من تفعيل Google Analytics في مشروع Firebase:
إذا كنت بصدد إنشاء مشروع جديد على Firebase، فعِّل "Google Analytics". أثناء سير عمل إنشاء المشروع.
إذا كان لديك مشروع حالي على Firebase لا يتضمّن تم تفعيل Google Analytics، يمكنك تفعيل Google Analytics من الـ عمليات الدمج علامة التبويب في
: > إعدادات المشروع
الخطوة 1: إعداد تطبيقك في حسابك على AdMob
سجِّل كل صيغة نظام أساسي لتطبيقك كتطبيق AdMob.
تسجيل الدخول أو الاشتراك في حساب AdMob.
سجِّل كل صيغة نظام أساسي لتطبيقك من خلال AdMob هذا النمط تؤدي هذه الخطوة إلى إنشاء تطبيق "AdMob" بقيمة AdMob فريدة. رقم تعريف التطبيق ستحتاج إليها لاحقًا في هذا الدليل
سيُطلب منك إضافة حزمة تطوير البرامج (SDK) لنظام التشغيل Mobile Ads إلى تطبيقك. البحث التعليمات التفصيلية لهذه المهمة لاحقًا في هذا الدليل.
اربط كل تطبيق من تطبيقات "AdMob" بتطبيق Firebase المقابل.
هذه الخطوة اختيارية، ولكننا ننصح بذلك بشدة. يمكنك الاطّلاع على مزيد من المعلومات عن سياسة المزايا تفعيل مقاييس سلوك المستخدمين وربط تطبيقات "AdMob" بمنصة Firebase
لكل صيغة نظام أساسي، أكمِل الخطوتَين التاليتَين في قسم التطبيقات. لوحة التحكم في حسابك على AdMob:
تفعيل مقاييس سلوك المستخدِمين للسماح لـ "AdMob" بمعالجة بيانات الإحصاءات المنظّمة وعرضها في حساب AdMob. وهو أيضًا إعداد مطلوب لك لربط تطبيق واحد (AdMob) على Firebase
ربط تطبيق AdMob بمشروعك الحالي على Firebase وتطبيق Firebase المقابل.
يُرجى التأكد من إدخال اسم الحزمة نفسه (Android) أو معرّف الحزمة نفسه. (iOS) كما أدخلت لتطبيق Firebase. ابحث عن تطبيقك في Firebase اسم الحزمة أو رقم تعريف الحزمة في بطاقة تطبيقاتك في
إعدادات المشروع : >
الخطوة 2: إضافة رقم تعريف تطبيق "AdMob" إلى تطبيقك
Android
إضافة
رقم تعريف تطبيق "AdMob"
إلى ملف AndroidManifest.xml
في تطبيقك من خلال إضافة العلامة <meta-data>
كما هو موضح أدناه.
<manifest>
<application>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ADMOB_APP_ID"/>
</application>
</manifest>
iOS
في ملف Info.plist
لتطبيقك، أضِف مفتاح GADApplicationIdentifier
باستخدام
قيمة السلسلة
رقم تعريف تطبيق AdMob
يمكنك إجراء هذا التغيير آليًا:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>
أو عدِّله في محرِّر قائمة المواقع:
الخطوة 3: إضافة حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"
بما أنّ حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة تكمن في مساحة الاسم firebase::gma
،
تنزيل حزمة تطوير البرامج (SDK) لمنصة Firebase C++
ثم فك ضغطه إلى دليل من اختيارك.
وحزمة تطوير البرامج (SDK) لمنصة Firebase C++ ليست خاصة بالنظام الأساسي، ولكنّها تتطلّب بإعدادات المكتبة الخاصة بالنظام الأساسي.
Android
في ملف
gradle.properties
الخاص بمشروعك، حدِّد موقع حزمة SDK غير المضغوطة:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
إلى ملف
settings.gradle
الخاص بمشروعك، أضِف المحتوى التالي:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
إلى ملف Gradle للوحدة (على مستوى التطبيق) (عادةً
app/build.gradle
)، أضِف العنصر المحتوى التالي، والذي يتضمن تبعية المكتبة حزمة C++ SDK لإعلانات Google على الأجهزة الجوّالة.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
إلى ملف
CMakeLists.txt
الخاص بمشروعك، أضِف المحتوى التالي.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
قم بمزامنة تطبيقك للتأكد من أن جميع التبعيات لديها الإصدارات اللازمة.
اكتملت عملية الإعداد. تم إعداد تطبيق C++ لاستخدام حزمة C++ SDK لإعلانات Google على الأجهزة الجوّالة.
iOS
الخطوات الواردة في هذا القسم هي مثال على كيفية إضافة حزمة C++ SDK لإعلانات Google على الأجهزة الجوّالة لمشروع iOS.
يمكنك الحصول على الإصدار 1 من CocoaPods أو إصدار أحدث منه من خلال تنفيذ ما يلي:
sudo gem install cocoapods --pre
أضِف لوحة Google Mobile Ads من حزمة تطوير البرامج (SDK) غير المضغوطة.
أنشئ ملف Podfile إذا لم يكن لديك ملف بالفعل:
cd YOUR_APP_DIRECTORY
pod init
إلى ملف Podfile، أضِف لوحة SDK الخاصة بحزمة C++ لإعلانات Google على الأجهزة الجوّالة:
pod 'Google-Mobile-Ads-SDK'
ثبِّت المجموعة، ثم افتح ملف
.xcworkspace
في Xcode.pod install
open YOUR_APP.xcworkspace
أضِف أطر العمل التالية من Firebase C++ SDK إلى المشروع:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
اكتملت عملية الإعداد. تم إعداد تطبيق C++ لاستخدام حزمة C++ SDK لإعلانات Google على الأجهزة الجوّالة.
الخطوة الرابعة: إعداد حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"
قبل تحميل الإعلانات، عليك إعداد حزمة تطوير البرامج (SDK) لنظام التشغيل Mobile Ads من خلال الاتصال
firebase::gma::Initialize()
يعرض هذا الاستدعاء رسالة firebase::Future
تكتمل بعد الإعداد
ينتهي (أو بعد 30 ثانية). وعليك استدعاء هذه الطريقة مرة واحدة فقط
في أقرب وقت ممكن، ويُفضَّل عند إطلاق التطبيق.
إليك مثال على كيفية الاتصال بـ Initialize()
:
Android
// Initialize the Google Mobile Ads library firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(jni_env, j_activity, &result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
iOS
// Initialize the Google Mobile Ads library. firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(&result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
استخدام Future
لمراقبة حالة اكتمال طلب طريقة
يمنحك Future
طريقة لتحديد حالة إكمال
طلبات طريقة غير متزامنة.
على سبيل المثال، عندما يتصل تطبيقك بـ firebase::gma::Initialize()
،
تمّ إنشاء firebase::Future
وإرجاعه. يمكن لتطبيقك بعد ذلك إجراء استطلاع
status()
من Future
لتحديد وقت اكتمال عملية الإعداد
بعد اكتمال هذه العملية، يمكن لتطبيقك استدعاء result()
للحصول على نتيجة
AdapterInitializationStatus
إنّ الطرق التي تعرض Future
يكون لها "نتيجة أخيرة" مقابلة. طريقة
يمكن أن تستخدمها التطبيقات لاسترداد آخر Future
لإجراء معيّن. بالنسبة
على سبيل المثال، firebase::gma::Initialize()
له طريقة مقابلة تسمى
firebase::gma::InitializeLastResult()
، ما يؤدي إلى عرض مبلغ Future
على تطبيقك
يمكنك استخدامه للتحقّق من حالة آخر مكالمة إلى firebase::gma::Initialize()
.
إذا كانت حالة Future
كاملة ورمز الخطأ هو
firebase::gma::kAdErrorCodeNone
، ثم تكون العملية قد اكتملت
بنجاح.
يمكنك أيضًا تسجيل عمليات معاودة الاتصال ليتم استدعاؤها عند اكتمال Future
. ضِمن
في بعض الحالات، سيكون رد الاتصال قيد التشغيل في سلسلة محادثات مختلفة، لذا تأكد من أن
التعليمة البرمجية آمنة في سلسلة التعليمات. يستخدم مقتطف الرمز هذا مؤشر دالة
رد الاتصال:
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
الخطوة 5: اختيار شكل إعلان لتنفيذه في تطبيقك
يقدم AdMob عددًا من أشكال الإعلانات المختلفة، لذا يمكنك اختيار الشكل الذي يناسب تجربة مستخدم تطبيقك على أفضل نحو. انقر على زر لشكل الإعلان الاطّلاع على تعليمات التنفيذ التفصيلية في مستندات AdMob.
بانر
إعلانات مستطيلة تظهر في أعلى شاشة الجهاز أو أسفلها
تظل إعلانات البانر على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكنها إعادة التحميل تلقائيًا بعد فترة زمنية محدّدة. إذا كنت مبتدئًا في مجال استخدام الأجهزة الجوّالة الإعلانية، فهي مكان رائع للبدء.
تنفيذ إعلانات البانرإعلان بيني
إعلانات ملء الشاشة التي تغطي واجهة التطبيق إلى أن يغلقها المستخدم
من الأفضل استخدام الإعلانات البينية في فترات الإيقاف المؤقت الطبيعية خلال تدفق تشغيل التطبيق التنفيذ، على سبيل المثال بين مستويات اللعبة أو بعد اكتمال مهمة مباشرةً.
تنفيذ الإعلانات البينيةتمت المكافأة
إعلانات تمنح المستخدمين مكافآت مقابل مشاهدة فيديوهات قصيرة والتفاعل مع محتوى قابل للتشغيل الإعلانات والاستطلاعات
يمكن أن تساعد الإعلانات التي تضم مكافأة (أو "قائمة على المكافآت") في تحقيق ربح من مستخدمي الألعاب المجانية.
تنفيذ الإعلانات التي تضم مكافأة
مواضيع أخرى تهمّك
عرض مقاييس سلوك المستخدمين وبيانات الإحصاءات
بعد إعدادها، يتم تلقائيًا بدء تشغيل حزمة تطوير البرامج (SDK) "Mobile Ads" تحليلات التسجيل الأحداث خصائص المستخدِمين من تطبيقك. يمكنك عرض هذه البيانات بدون إضافة أي رمز إضافي إلى التطبيق أو تنفيذ أي إعلانات. يمكنك الاطّلاع في ما يلي على بيانات الإحصاءات هذه:
في بطاقة مقاييس سلوك المستخدِمين ضمن حسابك على "AdMob" (الصفحة الرئيسية أو التطبيقات) لوحة التحكم)، يمكنك عرض المستخدمين مقاييس مشتقة من البيانات التحليلية التي تم جمعها، مثل متوسط مدة الجلسة متوسط الأرباح لكل مستخدم يدفع رسومًا والاحتفاظ بالبيانات.
في الإحصاءات لوحة بيانات وحدة التحكم Firebase، يمكنك عرض إحصائيات وملخصات مجمعة المقاييس الرئيسية. إذا كنت إضافة حزمة تطوير البرامج (SDK) لمنصة Firebase للموقع الإلكتروني Google Analytics يمكنك أيضًا وضع علامات على الإحالات الناجحة للحملات الإعلانية أو إنشاء جماهير مخصّصة في وحدة تحكّم Firebase.
لاحظ أنه من أجل تمثيل
متوسط الأرباح لكل مستخدم يدفع رسومًا
عند قياس متوسط الأرباح لكل مستخدم يدفع رسومًا
قد ترغب في تضمين بيانات من حدث مخصص في Analytics يسمى
ecommerce_purchase
في احتساب الأرباح لهذه المقاييس
(تعرَّف على كيفية إجراء ذلك).
(اختياري) استخدام المزيد من ميزات Google Analytics وFirebase
الاستفادة من المزيد من الفرص والميزات لتحسين تحقيق الربح من التطبيقات تفاعل المستخدمين:
إضافة حزمة تطوير البرامج (SDK) لمنصّة Firebase واستخدامها من أجل Google Analytics
تنفيذ تسجيل الأحداث المخصّص في تطبيقك.
تحديد الإحالات الناجحة للإعلان المخصّص الحملات.
تضمين حدث واحد (
ecommerce_purchase
) بيانات الأرباح عملية حسابية متوسط الأرباح من كل مستخدم (ARPU) مقاييس ARPPU
لمزيد من المعلومات، انتقِل إلى دليل استخدام Google Analytics وFirebase. مع AdMob تطبيقًا.
استخدام منتجات Firebase الأخرى في تطبيقك
بعد إضافة حزمة تطوير البرامج (SDK) لمنصّة Firebase الخاصة بالإصدار Google Analytics، استخدِم حزمة Firebase أخرى. المنتجات لتحسين الإعلانات في تطبيقك.
Remote Config تتيح لك تغيير السلوك تطبيقك بدون أي تكلفة وبدون نشر تحديث له عدد غير محدود من المستخدمين النشطين يوميًا.
يتيح لك A/B Testing اختبار التغييرات على واجهة مستخدم تطبيقك أو ميزاته أو حملات التفاعل معه لمعرفة ما إذا كانت التأثير على المقاييس الرئيسية (مثل الأرباح والاحتفاظ بالمستخدمين) قبل طرح التغييرات على نطاق واسع.