با AdMob در پروژه C++ خود شروع کنید


این راهنمای شروع سریع برای ناشران و توسعه دهندگانی است که می خواهند از AdMob برای کسب درآمد از برنامه ای که با Firebase ساخته شده است استفاده کنند. اگر قصد ندارید Firebase را در برنامه خود قرار دهید، به جای آن از راهنمای AdMob مستقل بازدید کنید.

اگر هنوز این کار را نکرده‌اید، با همه مزایای استفاده از AdMob ، Firebase و Google Analytics با هم آشنا شوید.

اگر اولین باری است که این راهنما را مرور می‌کنید، توصیه می‌کنیم با استفاده از برنامه آزمایشی SDK C++ Google Mobile Ads را دانلود کرده و دنبال کنید.

قبل از شروع

  • اگر قبلاً پروژه Firebase و برنامه Firebase ندارید، راهنمای شروع Firebase را دنبال کنید: Firebase را به پروژه C++ خود اضافه کنید .

  • مطمئن شوید که Google Analytics در پروژه Firebase شما فعال است:

    • اگر در حال ایجاد یک پروژه Firebase هستید، Google Analytics در جریان کار ایجاد پروژه فعال کنید.

    • اگر پروژه Firebase موجودی دارید که Google Analytics فعال نکرده است، می‌توانید Google Analytics از برگه Integrations فعال کنید. > تنظیمات پروژه .

مرحله 1: برنامه خود را در حساب AdMob خود راه اندازی کنید

  1. هر گونه پلتفرم برنامه خود را به عنوان یک برنامه AdMob ثبت کنید.

    1. وارد حساب AdMob شوید یا برای آن ثبت نام کنید .

    2. هر گونه پلتفرم برنامه خود را با AdMob ثبت کنید . این مرحله یک برنامه AdMob با شناسه برنامه AdMob منحصر به فرد ایجاد می کند که بعداً در این راهنما به آن نیاز خواهید داشت.

    از شما خواسته می شود SDK Mobile Ads را به برنامه خود اضافه کنید. دستورالعمل های دقیق برای این کار را بعداً در این راهنما بیابید.

  2. هر یک از برنامه های AdMob خود را به برنامه Firebase مربوطه پیوند دهید.

    این مرحله اختیاری است اما به شدت توصیه می شود. درباره مزایای فعال کردن معیارهای کاربر و پیوند دادن برنامه‌های AdMob خود به Firebase بیشتر بدانید.

    برای هر نوع پلتفرم، دو مرحله زیر را در داشبورد Apps حساب AdMob خود تکمیل کنید:

    1. User Metrics را فعال کنید تا به AdMob اجازه دهد داده های تجزیه و تحلیل انتخاب شده را در حساب AdMob شما پردازش و نمایش دهد. همچنین یک تنظیم ضروری برای شماست که برنامه AdMob خود را به Firebase پیوند دهید.

    2. برنامه AdMob خود را به پروژه Firebase موجود و برنامه Firebase مربوطه پیوند دهید .

      مطمئن شوید که نام بسته (Android) یا شناسه بسته (iOS) را که برای برنامه Firebase خود وارد کرده‌اید، وارد کنید. نام بسته یا شناسه بسته برنامه Firebase خود را در کارت برنامه های خود پیدا کنید > تنظیمات پروژه .

مرحله 2: شناسه برنامه AdMob خود را به برنامه خود اضافه کنید

اندروید

با افزودن برچسب <meta-data> مطابق شکل زیر، شناسه برنامه AdMob خود را به فایل AndroidManifest.xml برنامه خود اضافه کنید.

<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 App ID خود اضافه کنید.

شما می توانید این تغییر را به صورت برنامه ای انجام دهید:

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>

یا آن را در ویرایشگر لیست اموال ویرایش کنید:

ویرایشگر لیست اموال

مرحله 3: Google Mobile Ads SDK را اضافه کنید

از آنجایی که Google Mobile Ads C++ SDK در فضای نام firebase::gma قرار دارد، Firebase C++ SDK را دانلود کنید و سپس آن را در فهرستی که انتخاب می کنید از حالت فشرده خارج کنید.

Firebase C++ SDK مختص پلتفرم نیست، اما به پیکربندی کتابخانه مخصوص پلتفرم نیاز دارد.

اندروید

  1. در فایل gradle.properties پروژه خود، محل SDK زیپ نشده را مشخص کنید:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. به فایل 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"
  3. به فایل 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
    }
  4. به فایل 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}")
  5. برنامه خود را همگام کنید تا مطمئن شوید که همه وابستگی ها نسخه های لازم را دارند.

شما آماده اید! برنامه C++ شما برای استفاده از Google Mobile Ads C++ SDK پیکربندی شده است.

iOS

مراحل این بخش نمونه ای از نحوه افزودن Google Mobile Ads C++ SDK به پروژه iOS خود است.

  1. CocoaPods نسخه 1 یا بالاتر را با اجرای:

    sudo gem install cocoapods --pre
  2. Google Mobile Ads pod را از SDK خارج‌شده اضافه کنید.

    1. اگر قبلاً یک پادفایل ندارید ایجاد کنید:

      cd YOUR_APP_DIRECTORY
      pod init
    2. به Podfile خود، غلاف مربوط به Google Mobile Ads C++ SDK را اضافه کنید:

      pod 'Google-Mobile-Ads-SDK'
    3. پاد را نصب کنید، سپس فایل .xcworkspace را در Xcode باز کنید.

      pod install
      open YOUR_APP.xcworkspace
    4. چارچوب های زیر را از Firebase C++ SDK به پروژه اضافه کنید:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

شما آماده اید! برنامه C++ شما برای استفاده از Google Mobile Ads C++ SDK پیکربندی شده است.

مرحله 4: SDK تبلیغات موبایل Google را راه اندازی کنید

قبل از بارگیری تبلیغات، SDK Mobile Ads را با فراخوانی 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.
}
// 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 به‌طور خودکار شروع به ثبت رویدادهای تحلیلی و ویژگی‌های کاربر از برنامه شما می‌کند. می‌توانید این داده‌ها را بدون افزودن کد اضافی به برنامه خود یا پیاده‌سازی هر گونه تبلیغات مشاهده کنید. در اینجا می توانید این داده های تحلیلی را مشاهده کنید:

توجه داشته باشید که برای نمایش بهتر معیارهای ARPU و ARPPU ، ممکن است بخواهید داده‌های یک رویداد سفارشی تحلیلی به نام ecommerce_purchase را در محاسبه درآمد برای این معیارها قرار دهید ( چطور یاد بگیرید ).

(اختیاری) از ویژگی های بیشتر Google Analytics و Firebase استفاده کنید

از فرصت ها و ویژگی های بیشتر برای بهبود کسب درآمد از برنامه و تعامل کاربر استفاده کنید:

  • افزودن و استفاده از Firebase SDK برای Google Analytics

    برای کسب اطلاعات بیشتر، از راهنمای استفاده از Google Analytics و Firebase با برنامه‌های AdMob دیدن کنید.

  • از سایر محصولات Firebase در برنامه خود استفاده کنید

    پس از افزودن Firebase SDK برای Google Analytics ، از سایر محصولات Firebase برای بهینه سازی تبلیغات در برنامه خود استفاده کنید.

    • Remote Config شما را قادر می سازد تا رفتار و ظاهر برنامه خود را بدون انتشار به روز رسانی برنامه، بدون هیچ هزینه ای، برای کاربران فعال روزانه نامحدود تغییر دهید.

    • A/B Testing به شما این قدرت را می‌دهد که تغییرات را در UI، ویژگی‌ها یا کمپین‌های تعامل برنامه‌تان آزمایش کنید تا بدانید که آیا این تغییرات بر معیارهای کلیدی شما (مانند درآمد و حفظ) تأثیر می‌گذارند یا نه، قبل از انتشار گسترده تغییرات.

،


این راهنمای شروع سریع برای ناشران و توسعه دهندگانی است که می خواهند از AdMob برای کسب درآمد از برنامه ای که با Firebase ساخته شده است استفاده کنند. اگر قصد ندارید Firebase را در برنامه خود قرار دهید، به جای آن از راهنمای AdMob مستقل بازدید کنید.

اگر هنوز این کار را نکرده‌اید، با همه مزایای استفاده از AdMob ، Firebase و Google Analytics با هم آشنا شوید.

اگر اولین باری است که این راهنما را مرور می‌کنید، توصیه می‌کنیم با استفاده از برنامه آزمایشی SDK C++ Google Mobile Ads را دانلود کرده و دنبال کنید.

قبل از شروع

  • اگر قبلاً پروژه Firebase و برنامه Firebase ندارید، راهنمای شروع Firebase را دنبال کنید: Firebase را به پروژه C++ خود اضافه کنید .

  • مطمئن شوید که Google Analytics در پروژه Firebase شما فعال است:

    • اگر در حال ایجاد یک پروژه Firebase هستید، Google Analytics در جریان کار ایجاد پروژه فعال کنید.

    • اگر پروژه Firebase موجودی دارید که Google Analytics فعال نکرده است، می‌توانید Google Analytics از برگه Integrations فعال کنید. > تنظیمات پروژه .

مرحله 1: برنامه خود را در حساب AdMob خود راه اندازی کنید

  1. هر گونه پلتفرم برنامه خود را به عنوان یک برنامه AdMob ثبت کنید.

    1. وارد حساب AdMob شوید یا برای آن ثبت نام کنید .

    2. هر گونه پلتفرم برنامه خود را با AdMob ثبت کنید . این مرحله یک برنامه AdMob با شناسه برنامه AdMob منحصر به فرد ایجاد می کند که بعداً در این راهنما به آن نیاز خواهید داشت.

    از شما خواسته می شود SDK Mobile Ads را به برنامه خود اضافه کنید. دستورالعمل های دقیق برای این کار را بعداً در این راهنما بیابید.

  2. هر یک از برنامه های AdMob خود را به برنامه Firebase مربوطه پیوند دهید.

    این مرحله اختیاری است اما به شدت توصیه می شود. درباره مزایای فعال کردن معیارهای کاربر و پیوند دادن برنامه‌های AdMob خود به Firebase بیشتر بدانید.

    برای هر نوع پلتفرم، دو مرحله زیر را در داشبورد Apps حساب AdMob خود تکمیل کنید:

    1. User Metrics را فعال کنید تا به AdMob اجازه دهد داده های تجزیه و تحلیل انتخاب شده را در حساب AdMob شما پردازش و نمایش دهد. همچنین یک تنظیم ضروری برای شماست که برنامه AdMob خود را به Firebase پیوند دهید.

    2. برنامه AdMob خود را به پروژه Firebase موجود و برنامه Firebase مربوطه پیوند دهید .

      مطمئن شوید که نام بسته (Android) یا شناسه بسته (iOS) را که برای برنامه Firebase خود وارد کرده‌اید، وارد کنید. نام بسته یا شناسه بسته برنامه Firebase خود را در کارت برنامه های خود پیدا کنید > تنظیمات پروژه .

مرحله 2: شناسه برنامه AdMob خود را به برنامه خود اضافه کنید

اندروید

با افزودن برچسب <meta-data> مطابق شکل زیر، شناسه برنامه AdMob خود را به فایل AndroidManifest.xml برنامه خود اضافه کنید.

<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 App ID خود اضافه کنید.

شما می توانید این تغییر را به صورت برنامه ای انجام دهید:

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>

یا آن را در ویرایشگر لیست اموال ویرایش کنید:

ویرایشگر لیست اموال

مرحله 3: Google Mobile Ads SDK را اضافه کنید

از آنجایی که Google Mobile Ads C++ SDK در فضای نام firebase::gma قرار دارد، Firebase C++ SDK را دانلود کنید و سپس آن را در فهرستی که انتخاب می کنید از حالت فشرده خارج کنید.

Firebase C++ SDK مختص پلتفرم نیست، اما به پیکربندی کتابخانه مخصوص پلتفرم نیاز دارد.

اندروید

  1. در فایل gradle.properties پروژه خود، محل SDK زیپ نشده را مشخص کنید:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. به فایل 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"
  3. به فایل 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
    }
  4. به فایل 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}")
  5. برنامه خود را همگام کنید تا مطمئن شوید که همه وابستگی ها نسخه های لازم را دارند.

شما آماده اید! برنامه C++ شما برای استفاده از Google Mobile Ads C++ SDK پیکربندی شده است.

iOS

مراحل این بخش نمونه ای از نحوه افزودن Google Mobile Ads C++ SDK به پروژه iOS خود است.

  1. CocoaPods نسخه 1 یا بالاتر را با اجرای:

    sudo gem install cocoapods --pre
  2. Google Mobile Ads pod را از SDK خارج‌شده اضافه کنید.

    1. اگر قبلاً یک پادفایل ندارید ایجاد کنید:

      cd YOUR_APP_DIRECTORY
      pod init
    2. به Podfile خود، غلاف مربوط به Google Mobile Ads C++ SDK را اضافه کنید:

      pod 'Google-Mobile-Ads-SDK'
    3. پاد را نصب کنید، سپس فایل .xcworkspace را در Xcode باز کنید.

      pod install
      open YOUR_APP.xcworkspace
    4. چارچوب های زیر را از Firebase C++ SDK به پروژه اضافه کنید:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

شما آماده اید! برنامه C++ شما برای استفاده از Google Mobile Ads C++ SDK پیکربندی شده است.

مرحله 4: SDK تبلیغات موبایل Google را راه اندازی کنید

قبل از بارگیری تبلیغات، SDK Mobile Ads را با فراخوانی 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.
}
// 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 به‌طور خودکار شروع به ثبت رویدادهای تحلیلی و ویژگی‌های کاربر از برنامه شما می‌کند. می‌توانید این داده‌ها را بدون افزودن کد اضافی به برنامه خود یا پیاده‌سازی هر گونه تبلیغات مشاهده کنید. در اینجا می توانید این داده های تحلیلی را مشاهده کنید:

توجه داشته باشید که برای نمایش بهتر معیارهای ARPU و ARPPU ، ممکن است بخواهید داده‌های یک رویداد سفارشی تحلیلی به نام ecommerce_purchase را در محاسبه درآمد برای این معیارها قرار دهید ( چطور یاد بگیرید ).

(اختیاری) از ویژگی های بیشتر Google Analytics و Firebase استفاده کنید

از فرصت ها و ویژگی های بیشتر برای بهبود کسب درآمد از برنامه و تعامل کاربر استفاده کنید:

  • افزودن و استفاده از Firebase SDK برای Google Analytics

    برای کسب اطلاعات بیشتر، از راهنمای استفاده از Google Analytics و Firebase با برنامه‌های AdMob دیدن کنید.

  • از سایر محصولات Firebase در برنامه خود استفاده کنید

    پس از افزودن Firebase SDK برای Google Analytics ، از سایر محصولات Firebase برای بهینه سازی تبلیغات در برنامه خود استفاده کنید.

    • Remote Config شما را قادر می سازد تا رفتار و ظاهر برنامه خود را بدون انتشار به روز رسانی برنامه، بدون هیچ هزینه ای، برای کاربران فعال روزانه نامحدود تغییر دهید.

    • A/B Testing به شما این قدرت را می‌دهد که تغییرات را در UI، ویژگی‌ها یا کمپین‌های تعامل برنامه‌تان آزمایش کنید تا بدانید که آیا این تغییرات بر معیارهای کلیدی شما (مانند درآمد و حفظ) تأثیر می‌گذارند یا نه، قبل از انتشار گسترده تغییرات.

،


این راهنمای شروع سریع برای ناشران و توسعه دهندگانی است که می خواهند از AdMob برای کسب درآمد از برنامه ای که با Firebase ساخته شده است استفاده کنند. اگر قصد ندارید Firebase را در برنامه خود قرار دهید، به جای آن از راهنمای AdMob مستقل بازدید کنید.

اگر هنوز این کار را نکرده‌اید، با همه مزایای استفاده از AdMob ، Firebase و Google Analytics با هم آشنا شوید.

اگر اولین باری است که این راهنما را مرور می‌کنید، توصیه می‌کنیم با استفاده از برنامه آزمایشی SDK C++ Google Mobile Ads را دانلود کرده و دنبال کنید.

قبل از شروع

  • اگر قبلاً پروژه Firebase و برنامه Firebase ندارید، راهنمای شروع Firebase را دنبال کنید: Firebase را به پروژه C++ خود اضافه کنید .

  • مطمئن شوید که Google Analytics در پروژه Firebase شما فعال است:

    • اگر در حال ایجاد یک پروژه Firebase هستید، Google Analytics در جریان کار ایجاد پروژه فعال کنید.

    • اگر پروژه Firebase موجودی دارید که Google Analytics فعال نکرده است، می‌توانید Google Analytics از برگه Integrations فعال کنید. > تنظیمات پروژه .

مرحله 1: برنامه خود را در حساب AdMob خود راه اندازی کنید

  1. هر گونه پلتفرم برنامه خود را به عنوان یک برنامه AdMob ثبت کنید.

    1. وارد حساب AdMob شوید یا برای آن ثبت نام کنید .

    2. هر گونه پلتفرم برنامه خود را با AdMob ثبت کنید . این مرحله یک برنامه AdMob با شناسه برنامه AdMob منحصر به فرد ایجاد می کند که بعداً در این راهنما به آن نیاز خواهید داشت.

    از شما خواسته می شود SDK Mobile Ads را به برنامه خود اضافه کنید. دستورالعمل های دقیق برای این کار را بعداً در این راهنما بیابید.

  2. هر یک از برنامه های AdMob خود را به برنامه Firebase مربوطه پیوند دهید.

    این مرحله اختیاری است اما به شدت توصیه می شود. درباره مزایای فعال کردن معیارهای کاربر و پیوند دادن برنامه‌های AdMob خود به Firebase بیشتر بدانید.

    برای هر نوع پلتفرم، دو مرحله زیر را در داشبورد Apps حساب AdMob خود تکمیل کنید:

    1. User Metrics را فعال کنید تا به AdMob اجازه دهد داده های تجزیه و تحلیل انتخاب شده را در حساب AdMob شما پردازش و نمایش دهد. همچنین یک تنظیم ضروری برای شماست که برنامه AdMob خود را به Firebase پیوند دهید.

    2. برنامه AdMob خود را به پروژه Firebase موجود و برنامه Firebase مربوطه پیوند دهید .

      مطمئن شوید که نام بسته (Android) یا شناسه بسته (iOS) را که برای برنامه Firebase خود وارد کرده‌اید، وارد کنید. نام بسته یا شناسه بسته برنامه Firebase خود را در کارت برنامه های خود پیدا کنید > تنظیمات پروژه .

مرحله 2: شناسه برنامه AdMob خود را به برنامه خود اضافه کنید

اندروید

با افزودن برچسب <meta-data> مطابق شکل زیر، شناسه برنامه AdMob خود را به فایل AndroidManifest.xml برنامه خود اضافه کنید.

<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 App ID خود اضافه کنید.

شما می توانید این تغییر را به صورت برنامه ای انجام دهید:

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>

یا آن را در ویرایشگر لیست اموال ویرایش کنید:

ویرایشگر لیست اموال

مرحله 3: Google Mobile Ads SDK را اضافه کنید

از آنجایی که Google Mobile Ads C++ SDK در فضای نام firebase::gma قرار دارد، Firebase C++ SDK را دانلود کنید و سپس آن را در فهرستی که انتخاب می کنید از حالت فشرده خارج کنید.

Firebase C++ SDK مختص پلتفرم نیست، اما به پیکربندی کتابخانه مخصوص پلتفرم نیاز دارد.

اندروید

  1. در فایل gradle.properties پروژه خود، محل SDK زیپ نشده را مشخص کنید:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. به فایل 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"
  3. به فایل 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
    }
  4. به فایل 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}")
  5. برنامه خود را همگام کنید تا مطمئن شوید که همه وابستگی ها نسخه های لازم را دارند.

شما آماده اید! برنامه C++ شما برای استفاده از Google Mobile Ads C++ SDK پیکربندی شده است.

iOS

مراحل این بخش نمونه ای از نحوه افزودن Google Mobile Ads C++ SDK به پروژه iOS خود است.

  1. CocoaPods نسخه 1 یا بالاتر را با اجرای:

    sudo gem install cocoapods --pre
  2. Google Mobile Ads pod را از SDK خارج‌شده اضافه کنید.

    1. اگر قبلاً یک پادفایل ندارید ایجاد کنید:

      cd YOUR_APP_DIRECTORY
      pod init
    2. به Podfile خود، غلاف مربوط به Google Mobile Ads C++ SDK را اضافه کنید:

      pod 'Google-Mobile-Ads-SDK'
    3. پاد را نصب کنید، سپس فایل .xcworkspace را در Xcode باز کنید.

      pod install
      open YOUR_APP.xcworkspace
    4. چارچوب های زیر را از Firebase C++ SDK به پروژه اضافه کنید:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

شما آماده اید! برنامه C++ شما برای استفاده از Google Mobile Ads C++ SDK پیکربندی شده است.

مرحله 4: SDK تبلیغات موبایل Google را راه اندازی کنید

قبل از بارگیری تبلیغات، SDK Mobile Ads را با فراخوانی 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.
}
// 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 به‌طور خودکار شروع به ثبت رویدادهای تحلیلی و ویژگی‌های کاربر از برنامه شما می‌کند. می‌توانید این داده‌ها را بدون افزودن کد اضافی به برنامه خود یا پیاده‌سازی هر گونه تبلیغات مشاهده کنید. در اینجا می توانید این داده های تحلیلی را مشاهده کنید:

توجه داشته باشید که برای نمایش بهتر معیارهای ARPU و ARPPU ، ممکن است بخواهید داده‌های یک رویداد سفارشی تجزیه و تحلیل به نام ecommerce_purchase را در محاسبه درآمد این معیارها قرار دهید ( چطور یاد بگیرید ).

(اختیاری) از ویژگی های بیشتر Google Analytics و Firebase استفاده کنید

از فرصت ها و ویژگی های بیشتر برای بهبود کسب درآمد از برنامه و تعامل کاربر استفاده کنید:

  • افزودن و استفاده از Firebase SDK برای Google Analytics

    برای کسب اطلاعات بیشتر، از راهنمای استفاده از Google Analytics و Firebase با برنامه‌های AdMob دیدن کنید.

  • از سایر محصولات Firebase در برنامه خود استفاده کنید

    پس از افزودن Firebase SDK برای Google Analytics ، از سایر محصولات Firebase برای بهینه سازی تبلیغات در برنامه خود استفاده کنید.

    • Remote Config شما را قادر می سازد تا رفتار و ظاهر برنامه خود را بدون انتشار به روز رسانی برنامه، بدون هیچ هزینه ای، برای کاربران فعال روزانه نامحدود تغییر دهید.

    • A/B Testing به شما این قدرت را می‌دهد که تغییرات را در UI، ویژگی‌ها یا کمپین‌های تعامل برنامه‌تان آزمایش کنید تا بدانید که آیا این تغییرات بر معیارهای کلیدی شما (مانند درآمد و حفظ) تأثیر می‌گذارند یا نه، قبل از انتشار گسترده تغییرات.

،


این راهنمای شروع سریع برای ناشران و توسعه دهندگانی است که می خواهند از AdMob برای کسب درآمد از برنامه ای که با Firebase ساخته شده است استفاده کنند. اگر قصد ندارید Firebase را در برنامه خود قرار دهید، به جای آن از راهنمای AdMob مستقل بازدید کنید.

اگر هنوز این کار را نکرده‌اید، با همه مزایای استفاده از AdMob ، Firebase و Google Analytics با هم آشنا شوید.

اگر اولین باری است که این راهنما را مرور می‌کنید، توصیه می‌کنیم با استفاده از برنامه آزمایشی SDK C++ Google Mobile Ads را دانلود کرده و دنبال کنید.

قبل از شروع

  • اگر قبلاً پروژه Firebase و برنامه Firebase ندارید، راهنمای شروع Firebase را دنبال کنید: Firebase را به پروژه C++ خود اضافه کنید .

  • مطمئن شوید که Google Analytics در پروژه Firebase شما فعال است:

    • اگر در حال ایجاد یک پروژه Firebase هستید، Google Analytics در جریان کار ایجاد پروژه فعال کنید.

    • اگر پروژه Firebase موجودی دارید که Google Analytics فعال نکرده است، می‌توانید Google Analytics از برگه Integrations فعال کنید. > تنظیمات پروژه .

مرحله 1: برنامه خود را در حساب AdMob خود راه اندازی کنید

  1. هر گونه پلتفرم برنامه خود را به عنوان یک برنامه AdMob ثبت کنید.

    1. وارد حساب AdMob شوید یا برای آن ثبت نام کنید .

    2. هر گونه پلتفرم برنامه خود را با AdMob ثبت کنید . این مرحله یک برنامه AdMob با شناسه برنامه AdMob منحصر به فرد ایجاد می کند که بعداً در این راهنما به آن نیاز خواهید داشت.

    از شما خواسته می شود SDK Mobile Ads را به برنامه خود اضافه کنید. دستورالعمل های دقیق برای این کار را بعداً در این راهنما بیابید.

  2. هر یک از برنامه های AdMob خود را به برنامه Firebase مربوطه پیوند دهید.

    این مرحله اختیاری است اما به شدت توصیه می شود. درباره مزایای فعال کردن معیارهای کاربر و پیوند دادن برنامه‌های AdMob خود به Firebase بیشتر بدانید.

    برای هر نوع سیستم عامل ، دو مرحله زیر را در داشبورد برنامه های AdMob خود انجام دهید:

    1. معیارهای کاربر را فعال کنید تا AdMob بتواند داده های تجزیه و تحلیل سرپرستی را در حساب AdMob خود پردازش و نمایش دهد. همچنین این یک تنظیم مورد نیاز برای شما است تا برنامه AdMob خود را به Firebase پیوند دهید.

    2. برنامه AdMob خود را به پروژه Firebase موجود و برنامه مربوط به Firebase خود پیوند دهید .

      اطمینان حاصل کنید که همانطور که برای برنامه Firebase خود وارد شده اید ، همان نام بسته (Android) یا شناسه بسته (iOS) را وارد کرده اید. نام بسته برنامه Firebase یا شناسه بسته نرم افزاری خود را در کارت برنامه های خود پیدا کنید > تنظیمات پروژه .

مرحله 2: شناسه برنامه AdMob خود را به برنامه خود اضافه کنید

اندروید

شناسه برنامه AdMob خود را با اضافه کردن برچسب <meta-data> همانطور که در زیر آمده است ، به پرونده AndroidManifest.xml برنامه خود اضافه کنید.

<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: ADS Google Mobile SDK را اضافه کنید

از آنجا که Google Mobile Ads C ++ SDK در firebase::gma SMESPESPACE واقع شده است ، Firebase C ++ SDK را بارگیری کرده و سپس آن را به یک فهرست مورد نظر خود از حالت فشرده خارج کنید.

Firebase C ++ SDK خاص پلتفرم نیست ، اما به تنظیمات کتابخانه خاص پلت فرم نیاز دارد.

اندروید

  1. در پرونده gradle.properties پروژه خود ، مکان SDK را در دست نیست:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. به پرونده settings.gradle پروژه خود. Egradle ، محتوای زیر را اضافه کنید:

    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"
  3. به پرونده 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
    }
  4. به پرونده 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}")
  5. برنامه خود را همگام سازی کنید تا اطمینان حاصل کنید که تمام وابستگی ها نسخه های لازم را دارند.

شما آماده اید! برنامه C ++ شما برای استفاده از Google Mobile Ads C ++ SDK پیکربندی شده است.

iOS

مراحل موجود در این بخش نمونه ای از نحوه اضافه کردن Google Mobile Ads C ++ SDK به پروژه iOS شما است.

  1. با اجرا CocoApods نسخه 1 یا بعد از آن دریافت کنید:

    sudo gem install cocoapods --pre
  2. Google Mobile Ads Pod را از SDK خارج نشده اضافه کنید.

    1. اگر یکی از آنها را ندارید ، یک podfile ایجاد کنید:

      cd YOUR_APP_DIRECTORY
      pod init
    2. به Podfile خود ، غلاف را برای Google Mobile Ads C ++ SDK اضافه کنید:

      pod 'Google-Mobile-Ads-SDK'
    3. POD را نصب کنید ، سپس پرونده .xcworkspace را در Xcode باز کنید.

      pod install
      open YOUR_APP.xcworkspace
    4. چارچوب های زیر را از Firebase C ++ SDK به پروژه اضافه کنید:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

شما آماده اید! برنامه C ++ شما برای استفاده از Google Mobile Ads C ++ SDK پیکربندی شده است.

مرحله 4: ADS Google Mobile SDK را آغاز کنید

قبل از بارگیری تبلیغات ، با فراخوانی firebase::gma::Initialize() Mobile Ads SDK را آغاز کنید.

این تماس یک 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.
}
// 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 ، یک دکمه را برای یک قالب تبلیغاتی کلیک کنید.

تبلیغات مستطیل شکل که در قسمت بالا یا پایین صفحه دستگاه ظاهر می شوند

تبلیغات بنر در حالی که کاربران با برنامه در تعامل هستند ، روی صفحه باقی می مانند و می تواند پس از یک دوره زمانی خاص به طور خودکار تازه شود. اگر در تبلیغات موبایل تازه وارد هستید ، آنها مکانی عالی برای شروع هستند.

تبلیغات بنر را پیاده سازی کنید

بینابینی

تبلیغات تمام صفحه که رابط یک برنامه را پوشش می دهد تا زمانی که توسط کاربر بسته شود

تبلیغات بینابینی به بهترین وجه در مکث های طبیعی در جریان اجرای برنامه ، مانند سطح یک بازی یا درست پس از اتمام کار ، استفاده می شود.

تبلیغات بینابینی را اجرا کنید

پاداش داده شد

تبلیغاتی که به کاربران برای تماشای فیلم های کوتاه و تعامل با تبلیغات و نظرسنجی های قابل پخش پاداش می دهند

تبلیغات پاداش (یا "مبتنی بر پاداش") می تواند به کسب درآمد از کاربران رایگان برای بازی کمک کند.

تبلیغات پاداش را اجرا کنید

موضوعات دیگر مورد علاقه

مشاهده معیارهای کاربر و داده های تحلیلی

پس از اولیه سازی ، ADS Mobile Ads SDK به طور خودکار شروع به ورود به وقایع تجزیه و تحلیل و خصوصیات کاربر از برنامه شما می کند. می توانید این داده ها را بدون اضافه کردن کد اضافی به برنامه خود یا اجرای هرگونه تبلیغات مشاهده کنید. در اینجا می توانید این داده های تحلیلی را مشاهده کنید:

توجه داشته باشید که برای نشان دادن بهتر معیارهای ARPU و ARPPU ، ممکن است بخواهید داده هایی را از یک رویداد سفارشی Analytics به نام ecommerce_purchase در محاسبه درآمد برای این معیارها درج کنید ( یاد بگیرید چگونه ).

(اختیاری) از ویژگی های بیشتر Google Analytics و Firebase استفاده کنید

از فرصت ها و ویژگی های بیشتر برای بهبود کسب درآمد از برنامه و تعامل کاربر استفاده کنید:

  • برای Google Analytics از Firebase SDK اضافه و استفاده کنید

    برای کسب اطلاعات بیشتر ، به راهنمای استفاده از Google Analytics و Firebase با برنامه های AdMob مراجعه کنید.

  • از سایر محصولات Firebase در برنامه خود استفاده کنید

    پس از اضافه کردن SDK Firebase برای Google Analytics ، از سایر محصولات Firebase برای بهینه سازی تبلیغات در برنامه خود استفاده کنید.

    • Remote Config شما را قادر می سازد بدون انتشار به روزرسانی برنامه ، بدون هیچ هزینه ای ، برای کاربران فعال روزانه نامحدود ، رفتار و ظاهر برنامه خود را تغییر دهید.

    • A/B Testing به شما این قدرت را می دهد که تغییرات را در UI ، ویژگی ها یا کمپین های نامزدی برنامه خود آزمایش کنید تا یاد بگیرند که آیا آنها قبل از اینکه تغییرات گسترده ای را بر روی معیارهای اصلی شما (مانند درآمد و حفظ) تأثیر بگذارند.