دليل البدء السريع هذا مخصص للناشرين والمطورين الذين يرغبون في استخدام AdMob لتحقيق الدخل من تطبيق تم إنشاؤه باستخدام Firebase. إذا كنت لا تخطط لتضمين Firebase في تطبيقك ، فانتقل إلى دليل AdMob المستقل بدلاً من ذلك.
إذا لم تكن قد فعلت ذلك بعد ، فتعرّف على جميع مزايا استخدام AdMob و Firebase و Google Analytics معًا.
إذا كانت هذه هي المرة الأولى التي تستعرض فيها هذا الدليل ، فننصحك بتنزيل ومتابعة استخدام تطبيق اختبار Google Mobile Ads C ++ SDK .
قبل ان تبدأ
إذا لم يكن لديك بالفعل مشروع Firebase وتطبيق Firebase ، فاتبع دليل بدء Firebase: أضف Firebase إلى مشروع C ++ الخاص بك .
تأكد من تمكين Google Analytics في مشروع Firebase:
إذا كنت تنشئ مشروع Firebase جديدًا ، فقم بتمكين Google Analytics أثناء سير عمل إنشاء المشروع.
إذا كان لديك مشروع Firebase حالي لم يتم تمكين Google Analytics فيه ، فيمكنك تمكين Google Analytics من علامة التبويب "التكامل" في > إعدادات المشروع .
الخطوة 1: إعداد تطبيقك في حسابك في AdMob
سجّل كل متغير للنظام الأساسي لتطبيقك باعتباره تطبيق AdMob.
سجّل الدخول أو اشترك للحصول على حساب AdMob.
سجّل كل شكل من أشكال النظام الأساسي لتطبيقك في AdMob . تنشئ هذه الخطوة تطبيق AdMob بمعرف تطبيق AdMob الفريد الذي ستحتاجه لاحقًا في هذا الدليل.
سيُطلب منك إضافة SDK لإعلانات الجوال إلى تطبيقك. اعثر على الإرشادات التفصيلية لهذه المهمة لاحقًا في هذا الدليل.
اربط كل تطبيق من تطبيقات AdMob لديك بتطبيق Firebase المقابل.
هذه الخطوة اختيارية ولكن يوصى بها بشدة. تعرف على المزيد حول فوائد تمكين مقاييس المستخدم وربط تطبيقات AdMob بـ Firebase.
لكل متغير للنظام الأساسي ، أكمل الخطوتين التاليتين في لوحة تحكم التطبيقات بحسابك في AdMob:
مكّن مقاييس المستخدم للسماح لبرنامج AdMob بمعالجة وعرض بيانات التحليلات المنظمة في حسابك في AdMob. إنه أيضًا إعداد مطلوب لك لربط تطبيق AdMob بـ Firebase.
اربط تطبيق AdMob بمشروع Firebase الحالي وتطبيق Firebase المقابل.
تأكد من إدخال نفس اسم الحزمة (Android) أو معرّف الحزمة (iOS) كما أدخلته لتطبيق Firebase. ابحث عن اسم حزمة تطبيق Firebase أو معرّف الحزمة في بطاقة تطبيقاتك في إعدادات المشروع .
>
الخطوة 2: أضف معرّف تطبيق AdMob إلى تطبيقك
ذكري المظهر
أضف معرّف تطبيق 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 على الجوال
نظرًا لأن حزمة C ++ SDK لإعلانات الجوال من Google موجودة في مساحة اسم firebase::gma
، فقم بتنزيل Firebase C ++ SDK ، ثم قم بفك ضغطه إلى دليل من اختيارك.
إن Firebase C ++ SDK ليس خاصًا بالنظام الأساسي ، ولكنه يتطلب تكوينات مكتبة خاصة بالنظام الأساسي.
ذكري المظهر
في ملف
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
) ، أضف المحتوى التالي ، والذي يتضمن تبعية المكتبة لـ Google Mobile Ads C ++ SDK.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 ++ الخاص بك لاستخدام Google Mobile Ads C ++ SDK.
iOS
الخطوات الواردة في هذا القسم هي مثال على كيفية إضافة حزمة SDK لإعلانات Google للجوال C ++ إلى مشروع iOS الخاص بك.
احصل على الإصدار 1 من CocoaPods أو إصدار لاحق من خلال تشغيل:
sudo gem install cocoapods --pre
أضف لوحة إعلانات Google للجوال من SDK غير المضغوط.
قم بإنشاء ملف Podfile إذا لم يكن لديك واحد بالفعل:
cd YOUR_APP_DIRECTORY
pod init
إلى Podfile الخاص بك ، أضف لوحة إعلانات Google للجوال C ++ SDK:
pod 'Google-Mobile-Ads-SDK'
قم بتثبيت الكبسولة ، ثم افتح ملف
.xcworkspace
في Xcode.pod install
open YOUR_APP.xcworkspace
أضف الأطر التالية من Firebase C ++ SDK إلى المشروع:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
أنت جاهز تمامًا! تم تكوين تطبيق C ++ الخاص بك لاستخدام Google Mobile Ads C ++ SDK.
الخطوة 4: تهيئة Google Mobile Ads SDK
قبل تحميل الإعلانات ، قم بتهيئة حزمة SDK لإعلانات الجوال عن طريق استدعاء firebase::gma::Initialize()
.
تقوم هذه المكالمة بإرجاع firebase::Future
التي تكتمل بمجرد انتهاء التهيئة (أو بعد مهلة 30 ثانية). اتصل بهذه الطريقة مرة واحدة فقط وفي أقرب وقت ممكن ، من الناحية المثالية عند تشغيل التطبيق.
فيما يلي مثال على كيفية استدعاء Initialize()
:
ذكري المظهر
// 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.
لافتة
الإعلانات المستطيلة التي تظهر أعلى أو أسفل شاشة الجهاز
تظل إعلانات البانر على الشاشة أثناء تفاعل المستخدمين مع التطبيق ، ويمكن تحديثها تلقائيًا بعد فترة زمنية معينة. إذا كنت جديدًا في مجال إعلانات الأجهزة المحمولة ، فهي مكان رائع للبدء.
تنفيذ إعلانات البانربيني
إعلانات بملء الشاشة تغطي واجهة التطبيق حتى يغلقها المستخدم
من الأفضل استخدام الإعلانات البينية في فترات التوقف المؤقت الطبيعية في تدفق تنفيذ التطبيق ، مثل بين مستويات اللعبة أو بعد اكتمال المهمة مباشرة.
تنفيذ الإعلانات البينيةيكافأ
الإعلانات التي تكافئ المستخدمين على مشاهدة مقاطع الفيديو القصيرة والتفاعل مع الإعلانات القابلة للتشغيل والاستطلاعات
يمكن أن تساعد الإعلانات بمكافأة (أو "المستندة إلى المكافأة") في تحقيق الدخل من مستخدمي الألعاب المجانية.
مواضيع أخرى ذات أهمية
عرض مقاييس المستخدم وبيانات التحليلات
بعد التهيئة ، يبدأ Mobile Ads SDK تلقائيًا في تسجيل أحداث التحليلات وخصائص المستخدمين من تطبيقك. يمكنك عرض هذه البيانات دون إضافة أي كود إضافي إلى تطبيقك أو تنفيذ أي إعلانات. هنا حيث يمكنك رؤية بيانات التحليلات هذه:
في بطاقة مقاييس المستخدم لحسابك في AdMob ( الصفحة الرئيسية أو لوحة تحكم التطبيقات ) ، يمكنك عرض مقاييس المستخدم المنظمة المستمدة من بيانات التحليلات المجمعة ، مثل متوسط مدة الجلسة و ARPU والاحتفاظ.
في لوحة معلومات Analytics لوحدة تحكم Firebase ، يمكنك عرض إحصاءات وملخصات مجمعة للمقاييس الرئيسية . إذا أضفت Firebase SDK لـ Google Analytics ، يمكنك أيضًا تمييز الإحالات الناجحة للحملات الإعلانية وإنشاء جماهير مخصصة في وحدة تحكم Firebase.
لاحظ أنه لتمثيل مقاييس ARPU و ARPPU بشكل أفضل ، قد ترغب في تضمين البيانات من حدث مخصص للتحليلات يسمى ecommerce_purchase
في حساب الإيرادات لهذه المقاييس ( تعرف على كيفية القيام بذلك ).
(اختياري) استخدم المزيد من ميزات Google Analytics و Firebase
استفد من المزيد من الفرص والميزات لتحسين تحقيق الدخل من التطبيق وتفاعل المستخدمين:
أضف واستخدم Firebase SDK لبرنامج Google Analytics
تنفيذ تسجيل الأحداث المخصصة في التطبيق الخاص بك.
تمييز التحويلات للحملات الإعلانية المخصصة .
قم بتضمين بيانات حدث
ecommerce_purchase
في حساب الإيرادات لمقاييس ARPU و ARPPU .
لمعرفة المزيد ، تفضل بزيارة دليل استخدام Google Analytics و Firebase مع تطبيقات AdMob .
استخدم منتجات Firebase الأخرى في تطبيقك
بعد إضافة Firebase SDK لـ Google Analytics ، استخدم منتجات Firebase الأخرى لتحسين الإعلانات في تطبيقك.
يمكّنك Remote Config من تغيير سلوك ومظهر تطبيقك دون نشر تحديث للتطبيق ، بدون تكلفة ، لعدد غير محدود من المستخدمين النشطين يوميًا.
يمنحك اختبار A / B القدرة على اختبار التغييرات التي تطرأ على واجهة المستخدم لتطبيقك أو الميزات أو حملات التفاعل لمعرفة ما إذا كان لها تأثير على مقاييسك الرئيسية (مثل الإيرادات والاحتفاظ) قبل طرح التغييرات على نطاق واسع.