ตั้งค่า Google Mobile Ads SDK

เลือกแพลตฟอร์ม: Android iOS Unity Flutter Android (เดิม)

หากต้องการแสดงโฆษณาและรับรายได้ ให้ผสานรวม Google Mobile Ads SDK เข้ากับ แอป iOS ของคุณ หากต้องการเตรียมโปรเจ็กต์ ให้คุณนำเข้าและเริ่มต้นใช้งาน Google Mobile Ads SDK ก่อนที่จะขอโฆษณา

หากคุณรวม Firebase ไว้ในแอป iOS โปรดดูเริ่มต้นใช้งาน AdMob ในโปรเจ็กต์ iOS

คู่มือนี้ครอบคลุมการนำเข้าและการเริ่มต้น Google Mobile Ads SDK รวมถึงการเลือก รูปแบบโฆษณา

ข้อกำหนดเบื้องต้น

ก่อนดำเนินการต่อ โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้

  • ใช้ Xcode 16.0 ขึ้นไป
  • กำหนดเป้าหมายเป็น iOS 13.0 ขึ้นไป

นำเข้า Google Mobile Ads SDK

หากต้องการนำเข้า Google Mobile Ads SDK ให้กรอกข้อมูลในส่วนใดส่วนหนึ่งต่อไปนี้

Swift Package Manager (แนะนํา)

หากต้องการเพิ่มทรัพยากร Dependency ของแพ็กเกจ ในโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิด Xcode
  2. ไปที่ File > Add Package Dependencies...
  3. ติดตั้ง Google Mobile Ads SDK Swift Package

  4. ในข้อความแจ้งที่ปรากฏ ให้ค้นหารีโปซิโทรี GitHub ของแพ็กเกจ Swift สำหรับโฆษณา Google บนอุปกรณ์เคลื่อนที่

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. เลือกเวอร์ชันของ Google Mobile Ads SDK Swift Package ที่ต้องการใช้ สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ใช้อัปเดตเป็นเวอร์ชันหลักถัดไป

CocoaPods

หากต้องการใช้ CocoaPods ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิด Podfile ของโปรเจ็กต์ แล้วเพิ่มบรรทัดนี้ลงในtargetการกำหนดค่าบิลด์ ของแอป

    pod 'Google-Mobile-Ads-SDK'
    
  2. เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล

    pod install --repo-update

กำหนดค่าเป้าหมายการติดตั้งใช้งานสำหรับ Xcode 27

Xcode 27 กำหนดให้เป้าหมายการทำให้ใช้งานได้ขั้นต่ำของ iOS 15.0 สำหรับเป้าหมายทั้งหมด เนื่องจาก Google Mobile Ads SDK รองรับ iOS 13.0, Xcode 27 บิลด์ จึงล้มเหลวเมื่อใช้ CocoaPods

หากต้องการแก้ไขปัญหานี้ โปรดทำตามขั้นตอนต่อไปนี้

  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เส้นทางไปยังเส้นทางการค้นหา Runpath
    • เพิ่ม-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>

แทนที่ SAMPLE_APP_ID ด้วยรหัสแอป AdMob ขณะทดสอบ ให้ใช้รหัสแอปตัวอย่างที่แสดงในตัวอย่างก่อนหน้า

หากยังไม่ได้สร้างบัญชี AdMob และลงทะเบียนแอป ตอนนี้เป็นเวลาที่เหมาะ ที่จะทำ

เริ่มต้น Google Mobile Ads SDK

ก่อนโหลดโฆษณา ให้เริ่มต้น Google Mobile Ads SDK โดยเรียกใช้เมธอด start() จากพร็อพเพอร์ตี้ GADMobileAds.sharedInstance เมธอดนี้เรียกตัวแฮนเดิลการเสร็จสมบูรณ์หลังจากที่ Google Mobile Ads SDK และ อแดปเตอร์สื่อกลางประมวลผลเสร็จ หรือหลังจากผ่านไป 30 วินาที

ตัวอย่างต่อไปนี้จะเริ่มต้น 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];

เมื่อเริ่มต้น Google Mobile Ads SDK อาจโหลดโฆษณาล่วงหน้าหรือเริ่มต้น SDK ของบุคคลที่สาม เมื่อเรียกใช้เมธอด startWithCompletionHandler: หากคุณต้องการ ขอรับความยินยอมจากผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA), สหราชอาณาจักร (UK) หรือสวิตเซอร์แลนด์ ให้ตั้งค่าสถานะเฉพาะคำขอ หากต้องการตั้งค่าสถานะเฉพาะคำขอ โปรดตรวจสอบว่าได้ตั้งค่าสถานะก่อนที่จะเริ่มต้น Google Mobile Ads SDK โปรดดูรายละเอียดที่หัวข้อการกำหนดเป้าหมาย

เลือกรูปแบบโฆษณา

หลังจากนำเข้า Google Mobile Ads SDK แล้ว คุณจะเลือกรูปแบบโฆษณาเพื่อติดตั้งใช้งานได้

AdMob มีรูปแบบโฆษณาต่อไปนี้

รูปแบบโฆษณา คำอธิบาย เอกสารประกอบ
แบนเนอร์ แสดงโฆษณาสี่เหลี่ยมผืนผ้าในส่วนหนึ่งของเลย์เอาต์แอป โฆษณานี้จะรีเฟรชโดยอัตโนมัติตามช่วงเวลาที่กำหนด ผู้ใช้จะเห็นโฆษณาเหล่านี้เป็นระยะๆ เมื่ออยู่ในหน้าจอเดียวกัน สร้างโฆษณาแบนเนอร์
โฆษณาคั่นระหว่างหน้า แสดงโฆษณาแบบเต็มหน้าในแอป วางโฆษณานี้ที่จุดพักและจุดเปลี่ยนตามธรรมชาติในอินเทอร์เฟซของแอป เช่น หลังจากเล่นเกมผ่านด่านในแอปเกม โฆษณาคั่นระหว่างหน้า
เนทีฟ ช่วยให้คุณปรับแต่งชิ้นงาน เช่น บรรทัดแรกและคำกระตุ้นให้ดำเนินการ ในแอปได้ เมื่อปรับแต่งโฆษณา คุณจะสร้างโฆษณาที่ตรงกับการออกแบบภาพของแอป โหลดโฆษณาเนทีฟ
ได้รับรางวัลแล้ว ผู้ใช้จะได้รับรางวัลในแอป เช่น เหรียญหรือคะแนน จากการเล่นเกม ทำแบบสำรวจ หรือดูวิดีโอ คุณสามารถกำหนดรางวัลสำหรับหน่วยโฆษณา และระบุมูลค่าของรางวัลและไอเท็มที่ผู้ใช้จะได้รับ โฆษณาที่มีการให้รางวัล
โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ช่วยให้คุณนำเสนอรางวัลได้ เช่น เหรียญหรือไอเท็มเพิ่มชีวิต สําหรับโฆษณาที่ปรากฏระหว่างจุดเปลี่ยนหน้าของแอป โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
โฆษณาเปิดแอป ปรากฏเมื่อผู้ใช้เปิดหรือกลับไปที่แอปของคุณ โฆษณาจะวางซ้อนหน้าจอการโหลด โฆษณาเปิดแอป