আপনার 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 চালু করা নেই, তাহলে আপনি আপনার প্রজেক্টের Integrations ট্যাব থেকে Google Analytics চালু করতে পারেন। > প্রকল্প সেটিংস

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

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

    1. একটি AdMob অ্যাকাউন্টে সাইন ইন করুন বা সাইন আপ করুন

    2. আপনার অ্যাপের প্রতিটি প্ল্যাটফর্ম সংস্করণ AdMob এ নিবন্ধন করুন । এই ধাপে একটি অনন্য AdMob অ্যাপ আইডি সহ একটি AdMob অ্যাপ তৈরি হয়, যা এই নির্দেশিকার পরবর্তী অংশে আপনার প্রয়োজন হবে।

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

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

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

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

    1. আপনার AdMob অ্যাকাউন্টে সংগৃহীত অ্যানালিটিক্স ডেটা প্রসেস ও প্রদর্শন করার জন্য ইউজার মেট্রিক্স AdMob User Metrics) সক্ষম করুন । আপনার AdMob অ্যাপটিকে Firebase-এর সাথে লিঙ্ক করার জন্যও এই সেটিংটি আবশ্যক।

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

      আপনার Firebase অ্যাপের জন্য যে প্যাকেজ নেম (Android) বা বান্ডেল আইডি (iOS) দিয়েছেন, নিশ্চিত করুন যে আপনি সেটিই এখানেও দিয়েছেন। আপনার Firebase অ্যাপের প্যাকেজ নেম বা বান্ডেল আইডি আপনার অ্যাপের ' Your apps' কার্ডে খুঁজুন। > প্রকল্প সেটিংস

ধাপ ২: আপনার অ্যাপে আপনার AdMob অ্যাপ আইডি যোগ করুন।

অ্যান্ড্রয়েড

নিচে দেখানো অনুযায়ী <meta-data> ট্যাগটি যোগ করে আপনার অ্যাপের AndroidManifest.xml ফাইলে আপনার AdMob অ্যাপ আইডি যুক্ত করুন।

<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>

আইওএস

আপনার অ্যাপের Info.plist ফাইলে, আপনার AdMob অ্যাপ আইডি- কে স্ট্রিং ভ্যালু হিসেবে দিয়ে একটি GADApplicationIdentifier কী যোগ করুন।

আপনি এই পরিবর্তনটি প্রোগ্রামগতভাবে করতে পারেন:

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

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

সম্পত্তি তালিকা সম্পাদক

ধাপ ৩: গুগল মোবাইল অ্যাডস এসডিকে যোগ করুন

যেহেতু গুগল মোবাইল অ্যাডস সি++ এসডিকে ` firebase::gma নেমস্পেসে থাকে, তাই ফায়ারবেস সি++ এসডিকে ডাউনলোড করুন এবং তারপর আপনার পছন্দের একটি ডিরেক্টরিতে এটি আনজিপ করুন।

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. আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) নিম্নলিখিত বিষয়বস্তু যোগ করুন, যেখানে গুগল মোবাইল অ্যাডস সি++ এসডিকে-এর লাইব্রেরি নির্ভরতা অন্তর্ভুক্ত রয়েছে।

    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 যুক্ত করার একটি উদাহরণ।

  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. পডটি ইনস্টল করুন, তারপর এক্সকোডে .xcworkspace ফাইলটি খুলুন।

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

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

সবকিছু প্রস্তুত! আপনার C++ অ্যাপটি Google Mobile Ads C++ SDK ব্যবহার করার জন্য কনফিগার করা হয়েছে।

ধাপ ৪: গুগল মোবাইল অ্যাডস এসডিকে চালু করুন

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

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

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 তৈরি হয়ে রিটার্ন হয়। এরপর আপনার অ্যাপ ইনিশিয়ালাইজেশন কখন সম্পন্ন হয়েছে তা জানার জন্য Future টির status() পোল করতে পারে। একবার সম্পন্ন হলে, আপনার অ্যাপ প্রাপ্ত AdapterInitializationStatus পাওয়ার জন্য result() কল করতে পারে।

যেসব মেথড একটি Future রিটার্ন করে, সেগুলোর একটি সংশ্লিষ্ট "last result" মেথড থাকে, যা অ্যাপগুলো কোনো নির্দিষ্ট অ্যাকশনের জন্য সবচেয়ে সাম্প্রতিক Future খুঁজে বের করতে ব্যবহার করতে পারে। উদাহরণস্বরূপ, firebase::gma::Initialize() একটি সংশ্লিষ্ট মেথড আছে যার নাম firebase::gma::InitializeLastResult() , যা এমন একটি Future রিটার্ন করে যা আপনার অ্যাপ firebase::gma::Initialize() এর শেষ কলের স্ট্যাটাস চেক করতে ব্যবহার করতে পারে।

যদি Future এর স্ট্যাটাস complete হয় এবং এর এরর কোড 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 ডকুমেন্টেশনে বিস্তারিত বাস্তবায়ন নির্দেশাবলী দেখতে, যেকোনো একটি বিজ্ঞাপন ফরম্যাটের বাটনে ক্লিক করুন।

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

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

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

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

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

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

ইন্টারস্টিশিয়াল বিজ্ঞাপন বাস্তবায়ন করুন

পুরস্কৃত

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

পুরস্কারযুক্ত বিজ্ঞাপন বিনামূল্যে খেলা ব্যবহারকারীদের থেকে অর্থ উপার্জনে সাহায্য করতে পারে।

পুরস্কৃত বিজ্ঞাপন বাস্তবায়ন করুন

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

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

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

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

(ঐচ্ছিক) Google Analytics এবং ফায়ারবেসের আরও বৈশিষ্ট্য ব্যবহার করুন

অ্যাপ থেকে আয় এবং ব্যবহারকারীর সম্পৃক্ততা বাড়াতে আরও সুযোগ ও ফিচারের সদ্ব্যবহার করুন:

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

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

  • আপনার অ্যাপে অন্যান্য ফায়ারবেস পণ্য ব্যবহার করুন

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

    • Remote Config আপনাকে কোনো অ্যাপ আপডেট প্রকাশ না করেই, বিনামূল্যে এবং সীমাহীন দৈনিক সক্রিয় ব্যবহারকারীর জন্য আপনার অ্যাপের আচরণ ও চেহারা পরিবর্তন করার সুযোগ দেয়।

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