คู่มือนี้มีไว้สําหรับผู้เผยแพร่โฆษณาที่ต้องการสร้างรายได้จากแอป iOS ด้วย AdMob และไม่ได้ใช้ Firebase หากวางแผนที่จะรวม Firebase ไว้ในแอป (หรือคุณกําลังพิจารณาใช้) โปรดดูคู่มือฉบับนี้สําหรับ AdMob ที่มี Firebase แทน
การผสานรวม SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เข้ากับแอปเป็นขั้นตอนแรกของการแสดงโฆษณาและสร้างรายได้ เมื่อผสานรวม SDK แล้ว คุณจะใช้รูปแบบโฆษณาที่รองรับได้อย่างน้อย 1 รายการ
สิ่งที่ต้องดำเนินการก่อน
- ใช้ Xcode 13.2.1 ขึ้นไป
- กําหนดเป้าหมาย iOS 10.0 ขึ้นไป
- แนะนํา: สร้างบัญชี AdMob และลงทะเบียนแอป
นําเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่
CocoaPods (แนะนํา)
วิธีที่ง่ายที่สุดในการนําเข้า SDK ไปยังโปรเจ็กต์ iOS คือการใช้ CocoaPods เปิด Podfile ของโปรเจ็กต์และเพิ่มบรรทัดนี้ลงในเป้าหมายของแอป ดังนี้
pod 'Google-Mobile-Ads-SDK'
จากนั้นจากบรรทัดคําสั่งเพื่อเรียกใช้
pod install --repo-update
หากเพิ่งเคยใช้ CocoaPods โปรดดูเอกสารประกอบอย่างเป็นทางการเกี่ยวกับวิธีสร้างและใช้ Podfiles
ผู้จัดการแพ็กเกจ Swift
SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google รองรับSwift Package Manager ตั้งแต่เวอร์ชัน 9.0.0 ทําตามขั้นตอนด้านล่างเพื่อนําเข้าแพ็กเกจ Swift
ใน Xcode ให้ติดตั้งแพ็กเกจ Swift ของโฆษณาในอุปกรณ์เคลื่อนที่ของ Google โดยไปที่ไฟล์ > เพิ่มแพ็กเกจ...
ในข้อความแจ้งที่ปรากฏขึ้น ให้ค้นหาที่เก็บ Swift Package ของ Google Mobile Ads สําหรับที่เก็บ GitHub
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
เลือกเวอร์ชันของ Swift Package ของ Google บนอุปกรณ์เคลื่อนที่ที่ต้องการใช้ สําหรับโปรเจ็กต์ใหม่ เราขอแนะนําให้ใช้เวอร์ชันหลักถัดไป
เมื่อคุณดําเนินการเรียบร้อยแล้ว Xcode จะเริ่มแก้ไขทรัพยากร Dependency ของแพ็กเกจ แล้วดาวน์โหลดอยู่เบื้องหลัง ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีเพิ่มทรัพยากร Dependency ได้ในบทความของ Apple
การดาวน์โหลดด้วยตนเอง
ดาวน์โหลดและแตกไฟล์เฟรมเวิร์ก SDK โดยตรง แล้วนําเข้าเฟรมเวิร์กต่อไปนี้ไปยังโปรเจ็กต์ Xcode
GoogleAppMeasurement.xcframework
GoogleAppMeasurementIdentitySupport.xcframework
GoogleMobileAds.xcframework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.xcframework
เพิ่มแฟล็ก Linker
-ObjC
ไปยัง แฟล็ก Linker อื่นๆ ในการตั้งค่าบิลด์ของโปรเจ็กต์
อัปเดต Info.plist
อัปเดตไฟล์ Info.plist
ของแอปเพื่อเพิ่มคีย์ 2 รายการดังนี้
- คีย์
GADApplicationIdentifier
ที่มีค่าสตริงของAdMob รหัสแอป (ระบุในAdMob UI) - คีย์
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>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>3sh42y64q3.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>prcb7njmu6.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>9rd848q2bz.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>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>av6w8kgt66.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>424m5254lk.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>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>gta9lk7p23.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 และลงทะเบียนแอป ตอนนี้ก็ได้เวลาแล้ว
เริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่
ก่อนโหลดโฆษณา ให้เรียกใช้เมธอด startWithCompletionHandler:
ใน GADMobileAds.sharedInstance
ซึ่งจะเริ่มต้น SDK และเรียกเครื่องจัดการให้เสร็จสมบูรณ์เมื่อเริ่มต้นเสร็จสมบูรณ์ (หรือหลังจากระยะหมดเวลา 30 วินาที) ทั้งหมดนี้ต้องเกิดขึ้นเพียงครั้งเดียวเท่านั้น หากเป็นไปได้ ควรเปิดตัวแอป คุณควรโทรหา startWithCompletionHandler:
โดยเร็วที่สุด
ลองดูตัวอย่างวิธีเรียกใช้เมธอด startWithCompletionHandler:
ใน AppDelegate
ตัวอย่าง AppDelegate.m (ข้อความที่ตัดตอนมา)
Swift
import GoogleMobileAds @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
Objective-C
@import GoogleMobileAds; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GADMobileAds.sharedInstance startWithCompletionHandler:nil]; return YES; } @end
หากใช้สื่อกลาง คุณอาจต้องรอจนกว่าจะมีการจัดการตัวแฮนเดิลก่อนที่จะโหลดโฆษณา เนื่องจากจะทําให้อะแดปเตอร์สื่อกลางทั้งหมดเริ่มทํางาน
เลือกรูปแบบโฆษณา
เรานําเข้าและเริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่แล้ว และตอนนี้ก็พร้อมที่จะใช้โฆษณาแล้ว AdMob มีรูปแบบโฆษณาต่างๆ มากมาย คุณจึงสามารถเลือกรูปแบบที่ตรงกับประสบการณ์ของผู้ใช้แอปมากที่สุดได้
แบนเนอร์
โฆษณาสี่เหลี่ยมผืนผ้าที่ปรากฏที่ด้านบนหรือด้านล่างของหน้าจออุปกรณ์ โฆษณาแบนเนอร์จะแสดงบนหน้าจอขณะที่ผู้ใช้โต้ตอบกับแอป และจะรีเฟรชโดยอัตโนมัติหลังจากช่วงเวลาหนึ่งๆ ได้ หากคุณเพิ่งเริ่มใช้การโฆษณาบนอุปกรณ์เคลื่อนที่ ก็เป็นวิธีที่ยอดเยี่ยมในการเริ่มต้นใช้งาน
โฆษณาคั่นระหว่างหน้า
โฆษณาแบบเต็มหน้าจอที่ครอบคลุมอินเทอร์เฟซของแอปจนกว่าผู้ใช้จะปิด สัญญาณเหล่านี้เหมาะสําหรับการหยุดชั่วคราวระหว่างการดําเนินการตามปกติของแอป เช่น ระหว่างเล่นเกมผ่านด่านหรือหลังจากการทํางานเสร็จเท่านั้น
เนทีฟ
โฆษณาที่ปรับแต่งได้ซึ่งตรงกับรูปลักษณ์ของแอป คุณกําหนดสถานที่และตําแหน่งที่จะวางได้เพื่อให้เลย์เอาต์สอดคล้องกับการออกแบบของแอปมากขึ้น
ได้รับรางวัลแล้ว
โฆษณาที่ให้รางวัลแก่ผู้ใช้ที่ดูวิดีโอสั้น และโต้ตอบกับโฆษณาและแบบสํารวจที่เล่นได้ เหมาะสําหรับการสร้างรายได้จากผู้ใช้ที่เล่นเกมฟรี
ใช้โฆษณาที่มีการให้รางวัล | ใช้โฆษณาที่มีการให้รางวัล (API ใหม่) |