Google Mobile Ads SDK সেট-আপ করা

প্ল্যাটফর্ম বেছে নিন: Android iOS Unity Flutter Android (Legacy)

বিজ্ঞাপন দেখাতে এবং উপার্জন করতে, আপনার iOS অ্যাপে Google Mobile Ads SDK ইন্টিগ্রেট করুন। প্রোজেক্ট প্রস্তুত করতে, বিজ্ঞাপন দেখানোর অনুরোধ করার আগে Google Mobile Ads SDK ইমপোর্ট ও ইনিশিয়ালাইজ করুন।

আপনার iOS অ্যাপে Firebase অন্তর্ভুক্ত করলে, আপনার iOS প্রোজেক্টে AdMob ব্যবহার করা শুরু করুন লিঙ্কটি দেখুন।

এই নির্দেশিকায় Google Mobile Ads SDK ইমপোর্ট ও ইনিশিয়ালাইজ করা এবং বিজ্ঞাপনের ফর্ম্যাট বেছে নেওয়া সম্পর্কে বলা হয়েছে।

পূর্বশর্ত

এগিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিতগুলি আছে:

  • Xcode 16.0 বা তার পরবর্তী যেকোনও ভার্সন ব্যবহার করুন।
  • iOS 13.0 বা তার পরবর্তী যেকোনও ভার্সন টার্গেট করুন।

Google Mobile Ads SDK ইমপোর্ট করুন

Google Mobile Ads SDK ইমপোর্ট করতে, নিম্নলিখিত বিভাগগুলির মধ্যে একটি সম্পূর্ণ করুন:

Swift প্যাকেজ ম্যানেজার (সাজেস্ট করা হয়েছে)

আপনার প্রোজেক্টে প্যাকেজ নির্ভরতা যোগ করতে এইসব ধাপ অনুসরণ করুন:

  1. Xcode খুলুন।
  2. ফাইল > প্যাকেজ ডিপেন্ডেন্সি যোগ করুন... বিকল্পে নেভিগেট করুন।
  3. Google Mobile Ads SDK Swift Package ইনস্টল করুন।

  4. যে প্রম্পটটি দেখা যাবে, তাতে Google Mobile Ads Swift Package GitHub রিপোজিটরি সার্চ করুন:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. আপনি যে Google Mobile Ads SDK Swift প্যাকেজের ভার্সন ব্যবহার করতে চান সেটি বেছে নিন। নতুন প্রজেক্টের জন্য, আমরা পরবর্তী মেজর ভার্সন পর্যন্ত ব্যবহার করার সাজেশন দিই।

CocoaPods

CocoaPods ব্যবহার করতে, এইসব ধাপ অনুসরণ করুন:

  1. আপনার প্রোজেক্টের Podfile খুলুন এবং আপনার অ্যাপের target build configuration-এ এই লাইনটি যোগ করুন:

    pod 'Google-Mobile-Ads-SDK'
    
  2. টার্মিনালে, নিম্নলিখিত কমান্ড রান করুন:

    pod install --repo-update

Xcode 27-এর জন্য ডিপ্লয়মেন্ট টার্গেট কনফিগার করা

Xcode 27-এর জন্য সব টার্গেটে ন্যূনতম ডিপ্লয়মেন্ট টার্গেট হিসেবে iOS 15.0 প্রয়োজন। কারণ Google Mobile Ads SDK iOS 13.0-এ কাজ করে, CocoaPods ব্যবহার করার সময় Xcode 27 বিল্ড কাজ করে না।

এই সমস্যার সমাধান করতে, এইসব ধাপ অনুসরণ করুন:

  1. আপনার প্রোজেক্টের Podfile খুলুন এবং এমন একটি post_install হুক যোগ করুন যা 15.0-এ ডিপ্লয়মেন্ট টার্গেট সেট করে। আপনার কাছে post_install ব্লক থাকলে, আপনার বর্তমান ব্লকে ইন্টার্নাল লুপ যোগ করুন।

    নিচের উদাহরণটি IPHONEOS_DEPLOYMENT_TARGET কী-কে 15.0-এ সেট করে সবকটি পড টার্গেটের জন্য:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
        end
      end
    end
    
  2. আপনার পড আবার ইনস্টল করতে, নিম্নলিখিত কমান্ড রান করুন:

    pod install --repo-update

ম্যানুয়াল ডাউনলোড

Google Mobile Ads SDK ম্যানুয়ালি ডাউনলোড করতে, এইসব ধাপ অনুসরণ করুন:

  1. ডাউনলোড করুন Google Mobile Ads SDK।
  2. googlemobileadssdkios.zip প্যাকেজ এক্সট্র্যাক্ট করুন।
  3. আপনার Xcode প্রোজেক্টে, নিম্নলিখিত ফ্রেমওয়ার্ক যোগ করুন:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. আপনার টার্গেটের সাধারণ সেটিংসে গিয়ে, ফ্রেমওয়ার্ক, লাইব্রেরি ও এমবেড করা কন্টেন্ট বিকল্পে যান।

  5. কনফার্ম করুন যে আপনি GoogleMobileAds.xcframework এবং UserMessagingPlatform.xcframework-এর জন্য এম্বেড ও সাইন করুন বিকল্প সেট করেছেন।

  6. আপনার প্রজেক্টের বিল্ড সেটিংসে, নিম্নলিখিত কাজগুলি করুন:

    • রানপাথ সার্চ পাথে /usr/lib/swift পাথ যোগ করুন।
    • অন্যান্য লিঙ্কার ফ্ল্যাগে -ObjC লিঙ্কার ফ্ল্যাগ যোগ করুন।

আপনার Info.plist ফাইল আপডেট করুন

আপনার অ্যাপের Info.plist ফাইলে, নিম্নলিখিত কী যোগ করুন:

সম্পূর্ণ উদাহরণ

<key>GADApplicationIdentifier</key>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</string>
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cstr6suwn9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4fzdc2evr5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2fnua5tdw4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>p78axxw29g.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v72qych5uu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ludvb6z3bs.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cp8zw746q7.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3sh42y64q3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c6k4g5qg8m.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>s39g8k73mm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wg4vff78zm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qy4746246.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>su67r6k2v3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>t38b2kh725.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7ug5zh24hu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>y5ghdn5j9k.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v9wttpbfk9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n38lu8286q.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>47vhws6wlr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbd757ywx3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9t245vhmpl.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>a2p9lx4jpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>22mmun2rn5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>44jx6755aq.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>k674qkevps.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4468km3ulz.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2u9pt9hc89.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbmxgpxpgc.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>tl55sbb4fm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c3frkrj4fj.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>97r2b46745.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

আপনার AdMob অ্যাপ আইডির সাথে SAMPLE_APP_ID পাল্টে দিন। পরীক্ষা করার সময়, আগের উদাহরণে দেখানো নমুনা অ্যাপ আইডি ব্যবহার করুন।

আপনি এখনও AdMob অ্যাকাউন্ট তৈরি এবং অ্যাপ রেজিস্টার না করে থাকলে, এখন এটি করার দারুণ সময়।

Google Mobile Ads SDK চালু করুন

বিজ্ঞাপন লোড করার আগে, Google Mobile Ads SDK ইনিশিয়ালাইজ করতে, GADMobileAds.sharedInstance প্রপার্টি থেকে start() মেথড কল করুন। এই পদ্ধতিটি Google Mobile Ads SDK এবং মধ্যস্থতা অ্যাডাপ্টার প্রসেসিং শেষ করার পরে বা ৩০ সেকেন্ড পরে একটি সম্পূর্ণতা হ্যান্ডলারকে কল করে।

নিচের উদাহরণে Google Mobile Ads SDK-কে ইনিশিয়ালাইজ করা হয়েছে:

Swift

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

SwiftUI

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

Objective-C

// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];

ইনিশিয়ালাইজ করার সময়, startWithCompletionHandler: মেথড কল করলে, Google Mobile Ads SDK বিজ্ঞাপন প্রি-লোড করতে বা থার্ড-পার্টি SDK ইনিশিয়ালাইজ করতে পারে। ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA), যুক্তরাজ্য (UK) বা সুইজারল্যান্ডের ব্যবহারকারীদের থেকে সম্মতি নিতে হলে, অনুরোধ-নির্দিষ্ট ফ্ল্যাগ সেট করুন। আপনাকে যদি অনুরোধ-নির্দিষ্ট ফ্ল্যাগ সেট করতে হয়, তাহলে Google Mobile Ads SDK ইনিশিয়ালাইজ করার আগে ফ্ল্যাগ সেট করতে ভুলবেন না। আরও বিবরণের জন্য, টার্গেটিং দেখুন।

বিজ্ঞাপনের ফর্ম্যাট বেছে নিন

Google Mobile Ads SDK ইমপোর্ট করার পরে, আপনি প্রয়োগ করার জন্য একটি বিজ্ঞাপন ফর্ম্যাট বেছে নিতে পারবেন।

AdMob এইসব বিজ্ঞাপন ফর্ম্যাট অফার করে:

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