คู่มือนี้มีไว้สำหรับผู้เผยแพร่โฆษณาที่ต้องการสร้างรายได้จากแอป iOS ด้วย AdMob และไม่ได้ใช้ Firebase หากคุณวางแผนที่จะรวม Firebase ไว้ในแอป (หรือ กำลังพิจารณา) โปรดดูคู่มือฉบับAdMob กับ Firebase แทน
การผสานรวม Google Mobile Ads SDK เข้ากับแอปเป็นขั้นตอนแรกสู่การแสดงโฆษณาและสร้างรายได้ เมื่อผสาน SDK เรียบร้อยแล้ว คุณจะ เลือกใช้รูปแบบโฆษณาที่รองรับได้อย่างน้อย 1 แบบ
ข้อกำหนดเบื้องต้น
- ใช้ Xcode 16.0 ขึ้นไป
- กำหนดเป้าหมายเป็น iOS 12.0 ขึ้นไป
- ขอแนะนำ สร้างบัญชี AdMob และลงทะเบียนแอป
นำเข้า SDK โฆษณาบนอุปกรณ์เคลื่อนที่
ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้เพื่อนำเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google
Swift Package Manager
หากต้องการเพิ่มการอ้างอิงแพ็กเกจ ในโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้
ใน Xcode ให้ติดตั้งแพ็กเกจ Swift ของโฆษณาในอุปกรณ์เคลื่อนที่ของ Google โดยไปที่File > Add Package Dependencies...
ในข้อความแจ้งที่ปรากฏขึ้น ให้ค้นหาที่เก็บ Google Mobile Ads Swift Package GitHub
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
เลือกเวอร์ชันของแพ็กเกจ Swift ของ Google Mobile Ads ที่ต้องการใช้ สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ใช้อัปเดตเป็นเวอร์ชันหลักถัดไป
CocoaPods
ก่อนดำเนินการต่อ โปรดอ่านข้อมูลเกี่ยวกับ การใช้ CocoaPods ในการสร้างและใช้ Podfile
หากต้องการใช้ CocoaPods ให้ทำตามขั้นตอนต่อไปนี้
เปิด Podfile ของโปรเจ็กต์ แล้วเพิ่มบรรทัดนี้ลงใน
target
การกำหนดค่าบิลด์ ของแอปpod 'Google-Mobile-Ads-SDK'
เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
pod install --repo-update
การดาวน์โหลดด้วยตนเอง
ดาวน์โหลด Google Mobile Ads SDK และ
Embed & Sign
เฟรมเวิร์กต่อไปนี้ลงในโปรเจ็กต์ XcodeGoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
ในการตั้งค่าการสร้างของโปรเจ็กต์ ให้ทำดังนี้
- เพิ่ม
/usr/lib/swift
เส้นทางไปยังเส้นทางการค้นหา Runpath - เพิ่ม
-ObjC
แฟลกลิงก์เกอร์ลงในแฟลกลิงก์เกอร์อื่นๆ
- เพิ่ม
อัปเดต Info.plist
อัปเดตไฟล์ Info.plist
ของแอปเพื่อเพิ่มคีย์ 2 รายการ
GADApplicationIdentifier
คีย์ที่มีค่าสตริงของ รหัสแอป AdMob ที่อยู่ใน AdMob UISKAdNetworkItems
คีย์ที่มีค่าSKAdNetworkIdentifier
สำหรับ Google (cstr6suwn9.skadnetwork
) และ ผู้ซื้อบุคคลที่สามบางราย ที่ระบุค่าเหล่านี้ให้ Google
ข้อมูลโค้ดที่สมบูรณ์
<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>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 และลงทะเบียนแอป ตอนนี้เป็นเวลาที่เหมาะ ที่จะทำ
เริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่
ก่อนที่จะโหลดโฆษณา ให้เรียกใช้เมธอด start()
ใน
GADMobileAds.sharedInstance
ซึ่งจะเริ่มต้น SDK และเรียกใช้แฮนเดิลการดำเนินการเสร็จสมบูรณ์เมื่อ
การเริ่มต้นเสร็จสมบูรณ์ (หรือหลังจากหมดเวลา 30 วินาที) โทรหา start()
โดยเร็วที่สุด
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];
เลือกรูปแบบโฆษณา
ตอนนี้คุณได้นําเข้าและเริ่มต้นใช้งาน SDK โฆษณาในอุปกรณ์เคลื่อนที่แล้ว และพร้อมที่จะ ใช้โฆษณาแล้ว AdMob มีโฆษณาหลายรูปแบบ เพื่อให้คุณเลือกรูปแบบที่เหมาะกับประสบการณ์ของผู้ใช้แอปมากที่สุด
ป้ายประกาศ
หน่วยโฆษณาแบนเนอร์จะแสดงโฆษณาทรงสี่เหลี่ยมผืนผ้าซึ่งจะอยู่ในพื้นที่ส่วนหนึ่งของการจัดวางแอป หน่วยโฆษณานี้จะรีเฟรชโดยอัตโนมัติหลังจากช่วงเวลาที่ตั้งไว้ ซึ่งหมายความว่าผู้ใช้จะเห็นโฆษณาใหม่อยู่เรื่อยๆ แม้ว่าจะดูหน้าจอเดิมในแอปก็ตาม และยังเป็นรูปแบบโฆษณาที่นำไปใช้งานได้ง่ายที่สุดอีกด้วย
โฆษณาคั่นระหว่างหน้า
หน่วยโฆษณาคั่นระหว่างหน้าจะแสดงโฆษณาแบบเต็มหน้าในแอป คุณควรวางหน่วยโฆษณาประเภทนี้ที่จุดพักและจุดเปลี่ยนแปลงตามปกติในอินเทอร์เฟซของแอป เช่น หลังจากเล่นเกมผ่านด่าน
ติดตั้งใช้งานโฆษณาคั่นระหว่างหน้า
เนทีฟ
โฆษณาเนทีฟคือโฆษณาที่คุณปรับแต่งวิธีแสดงชิ้นงาน เช่น บรรทัดแรกและ คำกระตุ้นให้ดำเนินการในแอปได้ การจัดรูปแบบโฆษณาด้วยตนเองจะช่วยให้คุณ สร้างการนำเสนอโฆษณาที่เป็นธรรมชาติและไม่รบกวน ซึ่งจะช่วยเพิ่มประสบการณ์การใช้งานที่ยอดเยี่ยม ให้กับผู้ใช้
ได้รับรางวัลแล้ว
หน่วยโฆษณาที่มีการให้รางวัลช่วยให้ผู้ใช้เล่นเกม ทำแบบสำรวจ หรือดูวิดีโอเพื่อ รับรางวัลในแอปได้ เช่น เหรียญ จำนวนชีวิตเพิ่มเติม หรือคะแนน คุณสามารถกำหนดรางวัลให้หน่วยโฆษณาแต่ละหน่วยแตกต่างกันไป และระบุมูลค่าของรางวัลและไอเท็มที่ผู้ใช้จะได้รับ
ติดตั้งใช้งานโฆษณาที่มีการให้รางวัล
โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลเป็นรูปแบบโฆษณาที่เสนอสิ่งจูงใจประเภทใหม่ที่ช่วยให้คุณนำเสนอรางวัลได้ เช่น เหรียญหรือไอเท็มเพิ่มชีวิต สําหรับโฆษณาที่ปรากฏโดยอัตโนมัติระหว่างจุดเปลี่ยนหน้าตามปกติของแอป
ผู้ใช้ไม่จําเป็นต้องเลือกดูโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ซึ่งต่างจากโฆษณาที่มีการให้รางวัล
โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลต้องใช้ หน้าจอแนะนําเพื่อประกาศรางวัล และเปิดโอกาสให้ผู้ใช้เลือกที่จะไม่รับได้ตามที่ต้องการ แทนการส่งข้อความแจ้งให้เลือกรับในโฆษณาที่มีการให้รางวัล
ติดตั้งใช้งานโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
โฆษณาเปิดแอป
โฆษณาเปิดแอปเป็นรูปแบบโฆษณาที่ปรากฏเมื่อผู้ใช้เปิดหรือเปลี่ยนกลับไปที่แอปของคุณ โฆษณาจะวางซ้อนหน้าจอการโหลด