আপনার C++ প্রকল্পে AdMob দিয়ে শুরু করুন

এই কুইকস্টার্ট নির্দেশিকাটি প্রকাশক এবং ডেভেলপারদের জন্য যারা Firebase দিয়ে তৈরি একটি অ্যাপকে নগদীকরণ করতে AdMob ব্যবহার করতে চান। আপনি যদি আপনার অ্যাপে Firebase অন্তর্ভুক্ত করার পরিকল্পনা না করেন, তাহলে এর পরিবর্তে স্বতন্ত্র AdMob গাইড দেখুন।

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

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

তুমি শুরু করার আগে

  • আপনার যদি ইতিমধ্যে একটি Firebase প্রকল্প এবং একটি Firebase অ্যাপ না থাকে, তাহলে Firebase শুরু করার নির্দেশিকা অনুসরণ করুন: আপনার C++ প্রকল্পে Firebase যোগ করুন

  • আপনার ফায়ারবেস প্রজেক্টে Google Analytics সক্রিয় আছে কিনা তা নিশ্চিত করুন:

    • আপনি যদি একটি নতুন ফায়ারবেস প্রজেক্ট তৈরি করেন, তাহলে প্রোজেক্ট তৈরির ওয়ার্কফ্লো চলাকালীন Google Analytics সক্ষম করুন।

    • আপনার যদি একটি বিদ্যমান ফায়ারবেস প্রজেক্ট থাকে যাতে Google Analytics সক্ষম না থাকে, তাহলে আপনি আপনার ইন্টিগ্রেশন ট্যাব থেকে Google Analytics সক্ষম করতে পারেন > প্রকল্প সেটিংস

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

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

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

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

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

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

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

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

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

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

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

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

iOS

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

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

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

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

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

ধাপ 3: Google মোবাইল বিজ্ঞাপন SDK যোগ করুন

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

iOS

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

  1. চালানোর মাধ্যমে CocoaPods সংস্করণ 1 বা তার পরে পান:

    sudo gem install cocoapods --pre
  2. আনজিপ করা SDK থেকে Google মোবাইল বিজ্ঞাপন পড যোগ করুন।

    1. আপনার যদি ইতিমধ্যে একটি না থাকে তবে একটি পডফাইল তৈরি করুন:

      cd YOUR_APP_DIRECTORY
      pod init
    2. আপনার পডফাইলে, Google মোবাইল বিজ্ঞাপন 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 মোবাইল বিজ্ঞাপন C++ SDK ব্যবহার করার জন্য কনফিগার করা হয়েছে।

ধাপ 4: Google মোবাইল বিজ্ঞাপন SDK শুরু করুন

বিজ্ঞাপন লোড করার আগে, firebase::gma::Initialize() কল করে মোবাইল বিজ্ঞাপন 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.
}

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

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

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

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

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

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

কৌশলে

পূর্ণ-স্ক্রীন বিজ্ঞাপন যা ব্যবহারকারী দ্বারা বন্ধ না হওয়া পর্যন্ত একটি অ্যাপের ইন্টারফেস কভার করে

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

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

পুরস্কৃত

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

পুরস্কৃত (বা "পুরস্কার-ভিত্তিক") বিজ্ঞাপনগুলি বিনামূল্যে-টু-প্লে ব্যবহারকারীদের নগদীকরণে সহায়তা করতে পারে।

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

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

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

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

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

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

অ্যাপ নগদীকরণ এবং ব্যবহারকারীর ব্যস্ততা উন্নত করতে আরও সুযোগ এবং বৈশিষ্ট্যের সদ্ব্যবহার করুন:

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

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

  • আপনার অ্যাপে অন্যান্য Firebase পণ্য ব্যবহার করুন

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

    • রিমোট কনফিগ আপনাকে সীমাহীন দৈনিক সক্রিয় ব্যবহারকারীদের জন্য কোনো খরচ ছাড়াই কোনো অ্যাপ আপডেট প্রকাশ না করেই আপনার অ্যাপের আচরণ এবং চেহারা পরিবর্তন করতে সক্ষম করে।

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