এবার শুরু করা যাক

এই নির্দেশিকাটি প্রকাশকদের জন্য যারা Firebase ব্যবহার না করে AdMob-এর মাধ্যমে একটি C++ অ্যাপ নগদীকরণ করতে চান। আপনি যদি আপনার অ্যাপে Firebase অন্তর্ভুক্ত করার পরিকল্পনা করেন—অথবা আপনি যদি এটি বিবেচনা করছেন—তার পরিবর্তে এই গাইডের Firebase সংস্করণ সহ AdMob দেখুন।

একটি অ্যাপে Google মোবাইল বিজ্ঞাপন C++ SDK সংহত করা হল বিজ্ঞাপন প্রদর্শন এবং উপার্জনের দিকে প্রথম ধাপ। একবার আপনি SDK সংহত করার পরে, আপনি একটি বিজ্ঞাপন ফর্ম্যাট বেছে নিতে পারেন, যেমন ইন্টারস্টিশিয়াল বা পুরস্কৃত, এবং এটি বাস্তবায়নের জন্য পদক্ষেপগুলি অনুসরণ করুন৷

Google মোবাইল বিজ্ঞাপন C++ SDK Google মোবাইল বিজ্ঞাপন iOS এবং Android SDK গুলিকে মোড়ানো, এবং শুধুমাত্র সেই প্ল্যাটফর্মগুলিতে উপলব্ধ। গুগল মোবাইল বিজ্ঞাপন সি ++ এসডিকে ফায়ারবেস সি ++ কনস্ট্রাক্টগুলি অ্যাসিনক্রোনাস অপারেশনগুলিকে সমর্থন করার জন্য ব্যবহার করে, তাই এটি firebase::gma নেমস্পেসে থাকে।

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

পূর্বশর্ত

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

  • অ্যান্ড্রয়েড স্টুডিও 3.2 বা উচ্চতর ব্যবহার করুন
  • নিশ্চিত করুন যে আপনার অ্যাপের বিল্ড ফাইল নিম্নলিখিত মানগুলি ব্যবহার করে:
    • 16 বা উচ্চতর একটি minSdkVersion
    • 28 বা উচ্চতর একটি compileSdkVersion

iOS

  • Xcode 13 বা উচ্চতর ব্যবহার করুন
  • লক্ষ্য iOS 10.0 বা উচ্চতর

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

নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে আপনার অ্যাপটিকে একটি AdMob অ্যাপ হিসেবে নিবন্ধন করুন:

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

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

Google মোবাইল বিজ্ঞাপন C++ SDK ইনস্টল করুন

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

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

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

আমরা CMake ব্যবহার করার পরামর্শ দিই, কিন্তু আপনি আপনার অ্যাপে libfirebase_app.a এবং libfirebase_gma.a লিঙ্ক করার জন্য আমাদের সাধারণ Firebase C++ SDK শুরু করুন গাইডে ndk-বিল্ডের নির্দেশাবলী পেতে পারেন।

  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. সমস্ত নির্ভরতাগুলির প্রয়োজনীয় সংস্করণ রয়েছে তা নিশ্চিত করতে আপনার অ্যাপ সিঙ্ক করুন।

iOS

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

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

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

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

      cd APP_DIRECTORY
      pod init
      
    2. আপনার পডফাইলে, গুগল মোবাইল বিজ্ঞাপন সি ++ এসডিকে, গুগল ব্যবহারকারী মেসেজিং প্ল্যাটফর্ম এসডিকে এবং ন্যূনতম ফায়ারবেস কোর এসডিকে (জিএমএ সি ++ এসডিকে প্রয়োজনীয়) এর জন্য পোড যুক্ত করুন:

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

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

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

আপনি সব সেট! আপনার C++ অ্যাপটি অন্য কোনো ফায়ারবেস পরিষেবা ছাড়াই Google মোবাইল বিজ্ঞাপন C++ SDK ব্যবহার করার জন্য কনফিগার করা হয়েছে।

আপনার অ্যাপের AdMob অ্যাপ আইডি কনফিগার করুন

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

মোবাইল বিজ্ঞাপন SDK অ্যান্ড্রয়েড গাইড দ্বারা বর্ণিত আপনার অ্যাপ কনফিগার করার ধাপ 3 অনুসরণ করুন এবং তারপরে এই পৃষ্ঠায় ফিরে আসুন।

iOS

মোবাইল বিজ্ঞাপন SDK iOS গাইড দ্বারা বর্ণিত আপনার Info.plist আপডেট করুন ধাপ অনুসরণ করুন এবং তারপরে এই পৃষ্ঠায় ফিরে আসুন।

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

বিজ্ঞাপন লোড করার আগে, আপনার অ্যাপটিকে firebase::gma::Initialize() কল করে Google Mobile Ads C++ SDK চালু করতে বলুন যা SDK-কে আরম্ভ করে এবং একটি firebase::Future সম্পন্ন হলে (বা 30-সেকেন্ডের টাইমআউটের পরে)। এটি শুধুমাত্র একবার করা দরকার, আদর্শভাবে অ্যাপ লঞ্চের সময়।

Initialize() এ কল করার পরে Google মোবাইল বিজ্ঞাপন C++ SDK বা মধ্যস্থতা অংশীদার SDK দ্বারা বিজ্ঞাপনগুলি প্রিলোড করা হতে পারে। আপনি যদি ইউরোপীয় অর্থনৈতিক এলাকার (EEA) ব্যবহারকারীদের কাছ থেকে সম্মতি পেতে চান, তাহলে যেকোনও অনুরোধ-নির্দিষ্ট ফ্ল্যাগ সেট করুন (যেমন tag_for_child_directed_treatment বা tag_for_under_age_of_consent ), অথবা অন্যথায় বিজ্ঞাপন লোড করার আগে পদক্ষেপ নিন, firebase::gma::SetRequestConfiguration() মাধ্যমে আপনি তা করছেন তা নিশ্চিত করুন। firebase::gma::SetRequestConfiguration() । আরও তথ্যের জন্য আমাদের লক্ষ্য নির্দেশিকা দেখুন।

কিভাবে 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() এ শেষ কলের স্থিতি পরীক্ষা করতে ব্যবহার করতে পারে: 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.
  }
}

একটি বিজ্ঞাপন বিন্যাস নির্বাচন করুন

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

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

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

কৌশলে

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

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

পুরস্কৃত

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

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