ตั้งค่า Google Mobile Ads SDK

หากต้องการแสดงโฆษณาและสร้างรายได้ ให้ผสานรวม 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. ไปที่ไฟล์ > เพิ่มทรัพยากร Dependency ของแพ็กเกจ...
  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 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
    • เพิ่มแฟล็ก Linker -ObjC ลงในแฟล็ก Linker อื่นๆ

อัปเดตไฟล์ 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 มีรูปแบบโฆษณาต่อไปนี้

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