ตั้งค่า Google Mobile Ads SDK

เลือกแพลตฟอร์ม: Android ใหม่ Android iOS Unity Flutter

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

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

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

นำเข้า Google Mobile Ads SDK

ใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อนำเข้า Google Mobile Ads SDK

Swift Package Manager

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

  1. ใน Xcode ให้ติดตั้ง Google Mobile Ads Swift Package โดยไปที่File > Add Package Dependencies...

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

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

CocoaPods

โปรดอ่านข้อมูลเกี่ยวกับการสร้างและการใช้ Podfile ในส่วน การใช้ CocoaPods ก่อนที่จะดำเนินการต่อ

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

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

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

    pod install --repo-update

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

  1. ดาวน์โหลด Google Mobile Ads SDK และ Embed & Sign เฟรมเวิร์กต่อไปนี้ลงในโปรเจ็กต์ Xcode

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. ในการตั้งค่าบิลด์ของโปรเจ็กต์ ให้ทำดังนี้

    • เพิ่มเส้นทาง /usr/lib/swift ลงในRunpath Search Paths
    • เพิ่มแฟล็ก Linker -ObjC ลงในOther Linker Flags

อัปเดต Info.plist

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

  1. คีย์ GADApplicationIdentifier ที่มีค่าสตริงเป็นรหัสแอป Ad Manager ซึ่งอยู่ใน UI ของ Ad Manager และมีรูปแบบเป็น ca-app-pub-################~##########

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

ข้อมูลโค้ดที่สมบูรณ์

<key>GADApplicationIdentifier</key>
<!-- Sample Ad Manager 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 ด้วยรหัสแอป Ad Manager ขณะทดสอบ ให้ใช้รหัสแอปตัวอย่างที่แสดงในตัวอย่างก่อนหน้า

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

เริ่มต้น Google Mobile Ads 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];

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

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

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

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

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

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

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

เนทีฟ

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

Google Ad Manager มี 2 วิธีในการใช้โฆษณาเนทีฟ ได้แก่ สไตล์โฆษณาเนทีฟและโฆษณาเนทีฟมาตรฐานผ่านการแสดงผลที่กำหนดเอง

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

ใช้สไตล์โฆษณาเนทีฟ ใช้โฆษณาเนทีฟ (การแสดงผลที่กำหนดเอง)

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

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

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

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

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

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

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

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

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

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

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