เริ่มต้นใช้งาน

คู่มือนี้มีไว้สำหรับผู้เผยแพร่โฆษณาที่ต้องการสร้างรายได้จากแอป iOS ด้วย AdMob และไม่ได้ใช้ Firebase หากคุณวางแผนที่จะรวม Firebase ในแอป (หรือ คุณกำลังพิจารณา) โปรดดู AdMob ที่มี Firebase ของคู่มือนี้แทน

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

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

  • ใช้ Xcode 15.3 ขึ้นไป
  • กำหนดเป้าหมาย iOS 12.0 ขึ้นไป

นำเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่

นำเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

CocoaPods (แนะนำ)

วิธีที่ง่ายที่สุดในการนำเข้า SDK ไปยังโปรเจ็กต์ iOS คือการใช้ CocoaPods เปิด Podfile ของโปรเจ็กต์แล้วเพิ่มบรรทัดนี้ลงในเป้าหมายของแอป

pod 'Google-Mobile-Ads-SDK'

จากนั้นให้เรียกใช้คำสั่งดังนี้

pod install --repo-update

หากคุณเพิ่งเคยใช้ CocoaPods โปรดดู เอกสารอย่างเป็นทางการเพื่อดูข้อมูล เกี่ยวกับวิธีสร้างและใช้ Podfiles

เครื่องมือจัดการแพ็กเกจ Swift

SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google สนับสนุน Swift Package เครื่องมือจัดการเริ่มต้นในเวอร์ชัน 9.0.0 ทำตาม ขั้นตอนในการนำเข้าแพ็กเกจ Swift

  1. ใน Xcode ให้ติดตั้งแพ็กเกจ Google Mobile Ads Swift โดยไปที่ ไฟล์ > เพิ่มแพ็กเกจ...

  2. ในข้อความแจ้งที่ปรากฏขึ้น ให้ค้นหาแพ็กเกจ Google Mobile Ads Swift ที่เก็บ GitHub:

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

เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ไขทรัพยากร Dependency ของแพ็กเกจและ ดาวน์โหลดในเบื้องหลัง ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีเพิ่มแพ็กเกจ Dependencies โปรดดูบทความของ Apple

ดาวน์โหลดด้วยตนเอง

  1. ดาวน์โหลด SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google และEmbed & Signเฟรมเวิร์กต่อไปนี้ลงในโปรเจ็กต์ Xcode ของคุณ

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. เพิ่มแฟล็ก Linker -ObjC ไปยังแฟล็ก Linker อื่นๆ ใน การตั้งค่าบิลด์:

อัปเดต Info.plist ของคุณ

อัปเดตไฟล์ Info.plist ของแอปเพื่อเพิ่มคีย์ 2 รายการดังนี้

  1. คีย์ GADApplicationIdentifier ที่มีค่าสตริง AdMob app ID found in the AdMob UI

  2. คีย์ SKAdNetworkItems ที่มี SKAdNetworkIdentifier ค่าสำหรับ Google (cstr6suwn9.skadnetwork) และ ผู้ซื้อบุคคลที่สามบางราย ซึ่งระบุค่าเหล่านี้ให้กับ Google

ตัวอย่างที่สมบูรณ์

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</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>4pfyvq9l8r.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>5a6flpkh64.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>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>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.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>n6fk4nfna4.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>eh6m2bh4zr.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>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>ecpz2srf59.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>pwa73g5rt2.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.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>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>zq492l623r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

ถ้าคุณยังไม่ได้สร้าง AdMob บัญชี และลงทะเบียน ตอนนี้ได้เวลาเหมาะสมแล้ว ให้ทำเช่นนั้นได้

ในแอปจริง ให้แทนที่รหัสแอปตัวอย่างด้วย AdMob รหัสแอป คุณใช้รหัสตัวอย่างได้ในกรณีต่อไปนี้ เพียงใช้ SDK ในแอป Hello World

เริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่

ก่อนที่จะโหลดโฆษณา ให้เรียกเมธอด startWithCompletionHandler: ใน GADMobileAds.sharedInstance ซึ่งจะเริ่มต้น SDK และเรียกตัวแฮนเดิลการเสร็จสมบูรณ์กลับมา การเริ่มต้นเสร็จสมบูรณ์ (หรือหลังจากหมดเวลา 30 วินาที) เฉพาะที่จำเป็น ทำครั้งเดียวยิ่งดี ตอนเปิดแอป คุณควรโทรหา startWithCompletionHandler: โดยเร็วที่สุดเท่าที่จะเป็นไปได้

ตัวอย่างวิธีเรียกเมธอด startWithCompletionHandler: ใน AppDelegate ของคุณ:

ตัวอย่าง AppDelegate (ข้อความที่ตัดตอนมา)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

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

ตอนนี้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ได้รับการนำเข้าและเริ่มต้นแล้ว และคุณก็พร้อม ติดตั้งโฆษณา AdMob นำเสนอ โฆษณารูปแบบต่างๆ เพื่อให้คุณสามารถเลือกรูปแบบที่เหมาะกับผู้ใช้แอปมากที่สุด ประสบการณ์การใช้งาน

สำหรับนักพัฒนาซอฟต์แวร์ SwiftUI โปรดทำตาม SwiftUI

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

ใช้โฆษณาแบนเนอร์

โฆษณาคั่นระหว่างหน้า

หน่วยโฆษณาคั่นระหว่างหน้าจะแสดงโฆษณาแบบเต็มหน้าในแอป จัดวางให้เป็นธรรมชาติ ช่วงพักและการเปลี่ยนแปลงในอินเทอร์เฟซของแอป เช่น หลังผ่านด่าน ในแอปเกม

ติดตั้งโฆษณาคั่นระหว่างหน้า

เนทีฟ

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

ติดตั้งโฆษณาเนทีฟ

ได้รับรางวัลแล้ว

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

ใช้โฆษณาที่มีการให้รางวัล

โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล

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

ผู้ใช้ไม่จำเป็นต้องเลือกดูโฆษณาที่มีการให้รางวัล ซึ่งต่างจากโฆษณาที่มีการให้รางวัล โฆษณาคั่นระหว่างหน้า

โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลจำเป็นต้องมีสิ่งต่อไปนี้ แทนการแจ้งให้เลือกรับในโฆษณาที่มีการให้รางวัล หน้าจอแนะนำที่ประกาศรางวัลและเปิดโอกาสให้ผู้ใช้เลือกไม่เข้าร่วม เด็กๆ ต้องการทำแบบนั้น

ใช้โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล

โฆษณาเปิดแอป

โฆษณาเปิดแอปคือรูปแบบโฆษณาที่ปรากฏขึ้นเมื่อผู้ใช้เปิดหรือเปลี่ยนกลับไปใช้ แอป โฆษณาวางซ้อนหน้าจอการโหลด

ใช้โฆษณาเปิดแอป