আপনার C++ প্রোজেক্টে AdMob ব্যবহার করা শুরু করা

AdMob থেকে iOS এবং Android SDK ব্যবহার করার কথা বিবেচনা করুন।


এই কুইকস্টার্ট গাইডটি সেইসব প্রকাশক ও ডেভেলপারের জন্য যারা Firebase-এর মাধ্যমে তৈরি করা অ্যাপ মনিটাইজ করতে AdMob ব্যবহার করতে চান। আপনি যদি নিজের অ্যাপে Firebase অন্তর্ভুক্ত করার পরিকল্পনা না করেন, তাহলে এর পরিবর্তে স্ট্যান্ডঅ্যালোন AdMob গাইড দেখুন।

আপনি এখনও না করে থাকলে, AdMob, Firebase এবং Google Analytics একসাথে ব্যবহার করার সব সুবিধা সম্পর্কে জানুন।

আপনি যদি প্রথমবার এই নির্দেশিকা পড়ে থাকেন, তাহলে আমরা সাজেস্ট করব যে আপনি Google Mobile Ads C++ SDK টেস্ট অ্যাপ ডাউনলোড করে নির্দেশিকা অনুসরণ করুন।

শুরু করার আগে

  • আপনার আগে থেকে কোনও Firebase প্রোজেক্ট এবং Firebase অ্যাপ না থাকলে, Firebase শুরু করার নির্দেশিকা অনুসরণ করুন: আপনার C++ প্রোজেক্টে Firebase যোগ করুন।

  • আপনার Firebase প্রোজেক্টে Google Analytics চালু করা আছে কিনা তা নিশ্চিত করুন:

    • আপনি নতুন Firebase প্রোজেক্ট তৈরি করলে, প্রোজেক্ট তৈরির ওয়ার্কফ্লো চলাকালীন Google Analytics চালু করুন।

    • আপনার আগে থেকে থাকা Firebase প্রোজেক্টে Google Analytics চালু করা না থাকলে, আপনি > প্রোজেক্ট সেটিংস-এর ইন্টিগ্রেশন ট্যাব থেকে Google Analytics চালু করতে পারবেন।

ধাপ ১: আপনার AdMob অ্যাকাউন্টে অ্যাপ সেট-আপ করুন

  1. আপনার অ্যাপের প্রতিটি প্ল্যাটফর্ম ভেরিয়েন্টকে AdMob অ্যাপ হিসেবে রেজিস্টার করুন।

    1. AdMob অ্যাকাউন্টে সাইন-ইন করুন অথবা সাইন-আপ করুন।

    2. আপনার অ্যাপের প্রতিটি প্ল্যাটফর্ম ভেরিয়েন্ট AdMob-এর সাথে রেজিস্টার করুন। এই ধাপটি অনন্য AdMob অ্যাপ আইডি সহ একটি AdMob অ্যাপ তৈরি করে যা এই গাইডে পরে আপনার প্রয়োজন হবে।

    আপনাকে অ্যাপে Mobile Ads SDK যোগ করতে বলা হবে। এই টাস্কের জন্য বিস্তারিত নির্দেশাবলী এই গাইডের পরবর্তী অংশে দেখুন।

  2. আপনার প্রতিটি AdMob অ্যাপকে সংশ্লিষ্ট Firebase অ্যাপের সাথে লিঙ্ক করুন।

    এই ধাপটি ঐচ্ছিক হলেও এটি করার জন্য বিশেষভাবে সাজেস্ট করা হচ্ছে। ব্যবহারকারী সম্পর্কিত মেট্রিক চালু করা এবং Firebase-এর সাথে আপনার AdMob অ্যাপ লিঙ্ক করার সুবিধা সম্পর্কে আরও জানুন।

    প্রতিটি প্ল্যাটফর্ম ভেরিয়েন্টের জন্য, আপনার AdMob অ্যাকাউন্টের অ্যাপ ড্যাশবোর্ডে নিম্নলিখিত দুটি ধাপ সম্পূর্ণ করুন:

    1. ব্যবহারকারীর মেট্রিক চালু করুন যাতে AdMob আপনার AdMob অ্যাকাউন্টে কিউরেট করা অ্যানালিটিক্স ডেটা প্রসেস ও দেখাতে পারে। এছাড়াও, Firebase-এর সাথে আপনার AdMob অ্যাপ লিঙ্ক করার জন্য এই সেটিং প্রয়োজন।

    2. আপনার আগে থেকে থাকা Firebase প্রোজেক্ট এবং সংশ্লিষ্ট Firebase অ্যাপের সাথে আপনার AdMob অ্যাপ লিঙ্ক করুন।

      Firebase অ্যাপের জন্য যে প্যাকেজের নাম (Android) বা বান্ডিল আইডি (iOS) লিখেছেন, এখানেও ঠিক একই নাম বা আইডি লিখেছেন কিনা তা ভাল করে দেখে নিন। আপনার Firebase অ্যাপের প্যাকেজের নাম বা বান্ডিল আইডি খুঁজে পেতে, > প্রোজেক্ট সেটিংস-এর আপনার অ্যাপ কার্ডে যান।

ধাপ ২: আপনার অ্যাপে 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>

অথবা, প্রপার্টি তালিকা এডিটরে এটি এডিট করুন:

প্রপার্টি লিস্ট এডিটর

ধাপ ৩: Google Mobile Ads SDK যোগ করুন

যেহেতু Google Mobile Ads C++ SDK firebase::gma নেমস্পেসে থাকে, তাই Firebase C++ SDK ডাউনলোড করুন, এবং তারপর আপনার পছন্দের ডিরেক্টরিতে এটি আনজিপ করুন।

Firebase C++ SDK প্ল্যাটফর্ম-নির্দিষ্ট নয়, তবে এর জন্য প্ল্যাটফর্ম-নির্দিষ্ট লাইব্রেরি কনফিগারেশন প্রয়োজন।

Android

  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

এই বিভাগে উল্লেখ করা ধাপগুলি হল আপনার iOS প্রোজেক্টে Google Mobile Ads C++ SDK কীভাবে যোগ করবেন তার উদাহরণ।

  1. এটি রান করে CocoaPods ভার্সন ১ বা তার পরের ভার্সন পান:

    sudo gem install cocoapods --pre
  2. আনজিপ করা SDK থেকে Google Mobile Ads পড যোগ করুন।

    1. আপনার কাছে আগে থেকে Podfile না থাকলে, একটি তৈরি করুন:

      cd YOUR_APP_DIRECTORY
      pod init
    2. আপনার Podfile-এ, Google Mobile Ads C++ SDK-এর জন্য পড যোগ করুন:

      pod 'Google-Mobile-Ads-SDK'
    3. পড ইনস্টল করুন, তারপর Xcode-এ .xcworkspace ফাইল খুলুন।

      pod install
      open YOUR_APP.xcworkspace
    4. Firebase C++ SDK থেকে প্রোজেক্টে নিম্নলিখিত ফ্রেমওয়ার্ক যোগ করুন:

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

আপনি একদম রেডি! আপনার C++ অ্যাপ Google Mobile Ads C++ SDK ব্যবহার করার জন্য কনফিগার করা হয়েছে।

ধাপ ৪: Google Mobile Ads SDK শুরু করা

বিজ্ঞাপন লোড করার আগে, firebase::gma::Initialize()-এ কল করে Mobile Ads SDK ইনিশিয়ালাইজ করুন।

এই কলটি একটি firebase::Future রিটার্ন করে যা ইনিশিয়ালাইজেশন শেষ হলে (অথবা ৩০ সেকেন্ডের টাইমআউটের পরে) সম্পূর্ণ হয়। এই পদ্ধতিটি শুধুমাত্র একবার এবং যত তাড়াতাড়ি সম্ভব কল করুন, আদর্শভাবে অ্যাপ লঞ্চের সময়।

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 তৈরি হয় এবং ফেরত আসে। ইনিশিয়ালাইজেশন কখন সম্পূর্ণ হয়েছে তা নির্ধারণ করতে, আপনার অ্যাপ তখন Future-এর status() পোল করতে পারবে। সম্পূর্ণ হয়ে গেলে, আপনার অ্যাপ 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.
  }
}

ধাপ ৫: আপনার অ্যাপে প্রয়োগ করার জন্য একটি বিজ্ঞাপন ফর্ম্যাট বেছে নিন

AdMob বিভিন্ন ধরনের বিজ্ঞাপনের ফর্ম্যাট অফার করে, যাতে আপনি এমন ফর্ম্যাট বেছে নিতে পারেন যা আপনার অ্যাপের ব্যবহারকারীর অভিজ্ঞতার সাথে সবচেয়ে ভালোভাবে মানানসই হয়। বিজ্ঞাপনের ফর্ম্যাটের জন্য কোনও বোতামে ক্লিক করে AdMob ডকুমেন্টেশনে প্রয়োগ করার বিস্তারিত নির্দেশাবলী দেখুন।

ডিভাইসের স্ক্রিনের উপরে বা নিচে দেখানো আয়তাকার বিজ্ঞাপন

ব্যবহারকারী অ্যাপের সাথে ইন্টার‍্যাক্ট করার সময় ব্যানার বিজ্ঞাপন স্ক্রিনে থেকে যায় এবং নির্দিষ্ট সময় অন্তর অটোমেটিক রিফ্রেশ হতে পারে। আপনি মোবাইল বিজ্ঞাপনের ক্ষেত্রে নতুন হলে, এগুলি শুরু করার জন্য একটি দুর্দান্ত জায়গা।

ব্যানার বিজ্ঞাপন প্রয়োগ করা

ইন্টারস্টিশিয়াল

ফুল-স্ক্রিন বিজ্ঞাপন যা ব্যবহারকারী বন্ধ না করা পর্যন্ত অ্যাপের ইন্টারফেসকে ঢেকে রাখে

ইন্টারস্টিশিয়াল বিজ্ঞাপন কোনও অ্যাপের স্বাভাবিক বিরতির সময় দেখানো হলে সবচেয়ে ভালো হয়, যেমন গেমের লেভেল পরিবর্তন হওয়ার সময় বা কোনও টাস্ক সম্পূর্ণ হওয়ার ঠিক পরে।

পৃষ্ঠা মধ্যকালিন বিজ্ঞাপন প্রয়োগ করা

পুরস্কার জিতেছেন

যেসব বিজ্ঞাপন ব্যবহারকারীদের ছোট ভিডিও দেখার জন্য এবং খেলার যোগ্য বিজ্ঞাপন ও সমীক্ষার সাথে ইন্টার‍্যাক্ট করার জন্য পুরস্কার দেয়

পুরস্কার প্রদানকারী (বা "পুরস্কার-ভিত্তিক") বিজ্ঞাপন ফ্রি-টু-প্লে ব্যবহারকারীদের মনিটাইজ করতে সাহায্য করতে পারে।

পুরস্কার প্রদানকারী বিজ্ঞাপন প্রয়োগ করা

আগ্রহের অন্যান্য বিষয়

মেট্রিক পরিমাপ করার এবং AdMob-এর সাথে Firebase ফিচার ইন্টিগ্রেট করার অতিরিক্ত উপায় এক্সপ্লোর করুন।

ব্যবহারকারীর মেট্রিক ও অ্যানালিটিক্স ডেটা দেখুন

এটি শুরু করার পরে, Mobile Ads SDK অটোমেটিক আপনার অ্যাপ থেকে অ্যানালিটিক্স ইভেন্ট এবং ব্যবহারকারীর প্রপার্টি লগ করা শুরু করে। আপনার অ্যাপে কোনও অতিরিক্ত কোড যোগ না করে বা কোনও বিজ্ঞাপন প্রয়োগ না করেই আপনি এই ডেটা দেখতে পারবেন। আপনি এখানে এই অ্যানালিটিক্স ডেটা দেখতে পাবেন:

মনে রাখবেন, ARPU এবং ARPPU মেট্রিক আরও ভালোভাবে দেখানোর জন্য, আপনি হয়তো এইসব মেট্রিকের জন্য উপার্জন গণনায় ecommerce_purchase নামক অ্যানালিটিক্স কাস্টম ইভেন্ট থেকে ডেটা অন্তর্ভুক্ত করতে চাইবেন (কীভাবে করবেন তা জানুন)।

(ঐচ্ছিক) Google Analytics এবং Firebase-এর আরও ফিচার ব্যবহার করুন

অ্যাপ মনিটাইজেশন ও ব্যবহারকারীরা আপনার অ্যাপের সাথে কতটা জুড়ে আছেন তা উন্নত করতে আরও সুযোগ ও ফিচারের সুবিধা নিন:

  • Google Analytics-এর জন্য Firebase SDK যোগ ও ব্যবহার করুন

    আরও জানতে, AdMob অ্যাপের সাথে Google Analytics এবং Firebase ব্যবহার করা সংক্রান্ত নির্দেশিকা দেখুন।

  • আপনার অ্যাপে অন্যান্য Firebase প্রোডাক্ট ব্যবহার করা

    Google Analytics-এর জন্য Firebase SDK যোগ করার পরে, আপনার অ্যাপে বিজ্ঞাপন অপ্টিমাইজ করতে অন্যান্য Firebase প্রোডাক্ট ব্যবহার করুন।

    • Remote Config আপনাকে অ্যাপ আপডেট প্রকাশ না করেই আপনার অ্যাপের আচরণ এবং চেহারা পরিবর্তন করতে দেয়।

    • A/B Testing আপনাকে অ্যাপের UI, ফিচার বা এনগেজমেন্ট ক্যাম্পেনে করা পরিবর্তনগুলি পরীক্ষা করার ক্ষমতা দেয় যাতে আপনি জানতে পারেন যে সেগুলি আপনার মূল মেট্রিক্সে (যেমন উপার্জন এবং রিটেনশন) প্রভাব ফেলে কিনা।