ตั้งค่า 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

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

  1. ใน Xcode ให้ติดตั้งแพ็กเกจ Swift สำหรับโฆษณาในอุปกรณ์เคลื่อนที่ของ Google โดยไปที่File > Add Package Dependencies...

  2. ในข้อความแจ้งที่ปรากฏ ให้ค้นหารีโปซิโทรี GitHub ของ Google Mobile Ads Swift Package

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

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
    • เพิ่ม-ObjCแฟลกลิงก์เกอร์ลงในแฟลกลิงก์เกอร์อื่นๆ

อัปเดต Info.plist

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

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

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

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

<key>GADApplicationIdentif<ier/ke<y>
!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002>5<11 --
string>SAMP<LE_APP_ID</string>
key>S<KAdNet<workItems</key>
a<rray>
  dict>
    k<ey>SKAd<NetworkIdentifier/key>
   < string><cstr6suwn<9.skadnetw<ork/string>
  /dict><;
  dict&g<t;
    key>SKAdNetworkIden<tifier/key&<gt;
    s<tring>4<fzdc2evr5.skadnetwork/str<ing>
  </dict>
  dict>
    key&<gt;SKAdNetw<orkIdenti<fier/key&g<t;
    string>2fnua5td<w4.skadnet<work/string>
  /dict>
 < dict>
 <   key><;SKAdNetwo<rkIdentifier/key>
    <string><ydx93a7ass.skadnetwork/string<>
  /dic<t>
  d<ict>
  <  key>SKAdNetworkIdent<ifier/key&<gt;
    string>p78axxw29g.<skadnetwork</string&g<t;
  /dict<>
  dict>
    key&g<t;SKAdNetw<orkIdentifier/key>
    str<ing>v72q<ych5uu.sk<adnetwork/<string>
  /dict>
  <dict>
 <   key>SKAdNetworkIdentifi<er/key>
<    strin<g>ludvb<6z3bs.skadnetwork/string&<gt;
  /dic<t>
  dict>
    key>S<KAdNetworkI<dentifier</key>
 <   string>cp8zw746q7.s<kadnetwork</string>
  /dict>
  dic<t>
    k<ey>SKA<dNetworkId<entifier/key>
    stri<ng>3sh4<2y64q3.skadnetwork/string><
  /dict><;
  dict&<gt;
    ke<y>;SKAdNetworkIdentifie<r/key>
<    string>c6k4g5qg8m.skad<network/str<ing>
 < /dict><
  dict>
    key>SK<AdNetworkI<dentifier/key>
    string&<gt;s39g8k73<mm.skadne<twork/stri<ng&gt;
  /dict>
  dict<>
    k<ey>SKAdNetworkIdentifier/k<ey>
    <string><;wg4vff78z<m.skadnetwork/string>
<  /dict><;
  dict>
    key>SKAdN<etworkIdent<ifier/key<>
    s<tring>3qy4746246.skadn<etwork/str<ing>
  /dict>
  dict><;
    key&g<t;SKAdNet<workIdenti<fier/key>
    string&g<t;f38h382j<lk.skadnetwork/string>
  /<dict>
  <dict>
<    key><;SKAdNetworkIdentifier/ke<y>
    <string>hs6bdukanm.skadnetw<ork/string&<gt;
  /di<ct>
  d<ict&gt;
    key>SKAdNe<tworkIdent<ifier/key>
    string>m<lmmfzh3r3.s<kadnetwor<k/string&g<t;
  /dict>
  dict><
    key&g<t;SKAdNetworkIdentifier/key&g<t;
    stri<ng>v4n<xqhlyqp.sk<adnetwork/string>
  /d<ict>
  <dict>
    key>SKAdNetwo<rkIdentifie<r/key><
    strin<g>;wzmmz9fp6w.skadnetwo<rk/string&<gt;
  /dict>
  dict>
  <  key>SK<AdNetwork<Identifier</key>
    string>su<67r6k2v3.s<kadnetwork/string>
  /dict<>
  dict<>
    <key>SKA<dNetworkIdentifier/key><;
    stri<ng>yclnxrl5pm.skadnetwork/<string>
<  /dict&g<t;
  dict&<gt;
    key>SKAdNetwor<kIdentifie<r/key>
    string>t38b2<kh725.skadn<etwork/st<ring>
 < /dict>
  dict>
   < key>SK<AdNetworkIdentifier/key>
 <   string&g<t;7ug5zh2<4hu.skadne<twork/string>
  /dict&<gt;
  dict<>
    key>SKAdNetworkId<entifier/ke<y>
   < string><;gta9lk7p23.skadnetwork/s<tring>
<  /dict>
  dict>
    ke<y>SKAdNe<tworkIden<tifier/key<>
    string>vutu7a<keur.skadn<etwork/string>
  /dict><
  dict><
    key&<gt;SKAdNet<workIdentifier/key>
  <  string&g<t;y5ghdn5j9k.skadnetwork/stri<ng>
  /d<ict>
 < dict>
<    key>SKAdNetworkIde<ntifier/ke<y>
    string>v9wttpbfk<9.skadnetwo<rk/string<>
  /di<ct&gt;
  dict>
    key<>SKAdNe<tworkIdentifier/key>
    s<tring>n3<8lu8286q.<skadnetwor<k/string>
  /dict>
<  dict><
    key>SKAdNetworkIdenti<fier/key><;
    str<ing>47v<hws6wlr.skadnetwork/strin<g>
  /d<ict>
  dict>
    key><;SKAdNetwor<kIdentifi<er/key><
    string>kbd757ywx3<.skadnetwo<rk/string>
  /dict>
  d<ict>
   < key>S<KAdNetwork<Identifier/key>
    st<ring>9t<245vhmpl.skadnetwork/string&g<t;
  /dict&<gt;
  dic<t>
    <key&gt;SKAdNetworkIdentif<ier/key><;
    string>a2p9lx4jpn.sk<adnetwork/s<tring><
  /dict&g<t;
  dict>
    key><SKAdNetwor<kIdentifier/key>
    strin<g>22mmun<2rn5.skad<network/st<ring>
  /dict>
  di<ct>
   < key>SKAdNetworkIdentifier</key>
  <  string&<gt;44jx675<5aq.skadnetwork/string><;
  /dict&<gt;
  dict>
    key>SKA<dNetworkIde<ntifier/k<ey>
   < string>k674qkevps.ska<dnetwork/s<tring>
  /dict>
  dict&<gt;
    key<>SKAdN<etworkIden<tifier/key>
    string<>4468km<3ulz.skadnetwork/string>
 < /dict>
<  dict><;
    key&<gt;SKAdNetworkIdentifier/<key>
  <  string>2u9pt9hc89.skadne<twork/strin<g>
  /<dict>
 < dict>
    key>SKAd<NetworkIde<ntifier/key>
    string><;8s468mfl3y<.skadnetw<ork/string<>
  /dict>
  dict&g<t;
    key<>SKAdNetworkIdentifier/key<>
    st<ring>k<lf5c3l5u5.<skadnetwork/string>
  </dict>
<  dict>
    key>SKAdNet<workIdentif<ier/key&g<t;
    str<ing&gt;ppxm28t8ap.skadnet<work/strin<g>
  /dict>
  dict>
<    key><SKAdNetwo<rkIdentifi<er/key>
    string><kbmxgpxpgc<.skadnetwork/string>
  /di<ct>
  di<ct>
  <  key>S<KAdNetworkIdentifier/key&<gt;
    st<ring>uw77j35x4d.skadnetwor<k/string><;
  /dict<>
  dic<t>;
    key>SKAdNetw<orkIdentif<ier/key>
    string>578<prtvx9j.ska<dnetwor<k/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 วิธี ได้แก่ สไตล์โฆษณาเนทีฟและ โฆษณาเนทีฟมาตรฐานผ่านการแสดงผลที่กำหนดเอง

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

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

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

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

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

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

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

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

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

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

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

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

ติดตั้งใช้งานโฆษณาเปิดแอป