כדי להציג מודעות ולהרוויח מהן, צריך לשלב את Google Mobile Ads SDK באפליקציה ל-iOS. כדי להכין את הפרויקט, צריך לייבא ולהפעיל את Google Mobile Ads SDK לפני ששולחים בקשות להצגת מודעות.
במדריך הזה נסביר איך לייבא ולהפעיל את Google Mobile Ads SDK, ואיך לבחור פורמט מודעה.
דרישות מוקדמות
לפני שממשיכים, חשוב לוודא שהתנאים הבאים מתקיימים:
- צריך להשתמש ב-Xcode מגרסה 16.0 ואילך.
- יעד iOS מגרסה 13.0 ואילך.
ייבוא של Google Mobile Ads SDK
כדי לייבא את Google Mobile Ads SDK, צריך לבצע את הפעולות באחד מהסעיפים הבאים:
Swift Package Manager (מומלץ)
כדי להוסיף תלות בחבילה לפרויקט:
- פותחים את Xcode.
- עוברים אל File > Add Package Dependencies... (קובץ > הוספת יחסי תלות של חבילות...).
מתקינים את חבילת Swift של Google Mobile Ads SDK.
בהודעה שמופיעה, מחפשים את מאגר GitHub של חבילת Swift של מודעות Google לנייד:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitבוחרים את הגרסה של חבילת Swift של Google Mobile Ads SDK שבה רוצים להשתמש. בפרויקטים חדשים, מומלץ להשתמש באפשרות Up to Next Major Version.
CocoaPods
כדי להשתמש ב-CocoaPods, פועלים לפי השלבים הבאים:
פותחים את ה-Podfile של הפרויקט ומוסיפים את השורה הזו לתצורת ה-build של
targetבאפליקציה:pod 'Google-Mobile-Ads-SDK'במסוף, מריצים את הפקודה הבאה:
pod install --repo-update
הגדרת יעד הפריסה ל-Xcode 27
ב-Xcode 27, יעד הפריסה המינימלי לכל היעדים הוא iOS 15.0. Google Mobile Ads SDK תומך ב-iOS 13.0, ולכן גרסאות build של Xcode 27 נכשלות כשמשתמשים ב-CocoaPods.
כדי לפתור את הבעיה, עליך:
פותחים את הקובץ
Podfileשל הפרויקט ומוסיפים הוק (hook) מסוגpost_installשמגדיר את יעד הפריסה ל-15.0. אם יש לכם בלוקpost_install, הוסיפו את הלולאה הפנימית לבלוק הקיים.בדוגמה הבאה, המפתח
IPHONEOS_DEPLOYMENT_TARGETמוגדר ל-15.0לכל יעדי ה-Pod:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' end end endכדי להתקין מחדש את ה-pods, מריצים את הפקודה הבאה:
pod install --repo-update
הורדה ידנית
כדי להוריד את Google Mobile Ads SDK באופן ידני:
- הורדה Google Mobile Ads SDK.
- מחלצים את החבילה
googlemobileadssdkios.zip. בפרויקט Xcode, מוסיפים את ה-frameworks הבאים:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
בהגדרות General של היעד, עוברים אל Frameworks, Libraries, and Embedded Content.
מוודאים שהגדרתם את
GoogleMobileAds.xcframeworkואתUserMessagingPlatform.xcframeworkלערך Embed & Sign.בהגדרות ה-build של הפרויקט:
- מוסיפים את הנתיב
/usr/lib/swiftאל Runpath Search Paths. - מוסיפים את דגל המקשר
-ObjCל-Other Linker Flags (דגלי מקשר אחרים).
- מוסיפים את הנתיב
עדכון הקובץ Info.plist
בקובץ Info.plist של האפליקציה, מוסיפים את המפתחות הבאים:
מפתח
GADApplicationIdentifierעם ערך מחרוזת של מזהה האפליקציה ב-Ad Manager שמופיע בממשק המשתמש של Ad Manager, בפורמטca-app-pub-################~##########.מפתח
SKAdNetworkItems. המפתח הזה כולל ערכים שלSKAdNetworkIdentifierל-Googlecstr6suwn9.skadnetworkולקונים נבחרים של צד שלישי.
דוגמה פתורה
<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, אבל לא מקושרת לאפליקציה, Google שולחת את הקבוצה לכל האפליקציות ל-iOS בחשבון שלכם. הגישה הזו יכולה להאט את הביצועים.
מפעילים את Google Mobile Ads SDK
לפני שטוענים מודעות, צריך להפעיל את Google Mobile Ads SDK באמצעות קריאה ל-method start() מהמאפיין GADMobileAds.sharedInstance. השיטה הזו מפעילה handler להשלמה אחרי ש-Google Mobile Ads SDK ומתאמי תהליך בחירת הרשת מסיימים את העיבוד, או אחרי 30 שניות.
בדוגמה הבאה מאתחלים את Google Mobile Ads SDK:
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 יטען מראש מודעות או יפעיל ערכות SDK של צד שלישי כשמתבצעת קריאה ל-method startWithCompletionHandler:. אם אתם צריכים לקבל הסכמה ממשתמשים באזור הכלכלי האירופי (EEA), בבריטניה או בשווייץ, אתם צריכים להגדיר דגלים ספציפיים לבקשה. אם אתם צריכים להגדיר דגלים ספציפיים לבקשה, הקפידו להגדיר את הדגלים לפני ההפעלה של Google Mobile Ads SDK. פרטים נוספים זמינים במאמר בנושא טירגוט.
בחירת פורמט מודעה
אחרי שמייבאים את Google Mobile Ads SDK, אפשר לבחור פורמט מודעה להטמעה.
ב-Ad Manager אפשר להשתמש בפורמטים הבאים של מודעות:
| פורמט מודעה | תיאור | מאמרי עזרה |
|---|---|---|
| מודעת באנר | מודעות מלבניות שמוצגות בחלק מהפריסה של האפליקציה. המודעה הזו מתרעננת באופן אוטומטי במרווחי זמן קבועים. המשתמשים רואים את המודעות האלה מדי פעם כשהם נשארים באותו מסך. | הגדרת מודעות באנר |
| מעברון | מודעות במסך מלא שמוצגות באפליקציה. כדאי למקם את המודעות האלה בנקודות עצירה ומעבר טבעיות בממשק של האפליקציה, כמו אחרי השלמת שלב באפליקציית משחקים. | מודעות מעברון |
| מותאמת | מאפשרת להתאים אישית נכסים, כמו כותרות וקריאות לפעולה, באפליקציות. כשאתם מתאימים אישית את המודעה, אתם יוצרים מודעות שתואמות לעיצוב החזותי של האפליקציה. | טעינה של מודעה מותאמת |
| ההטבה הופעלה | המשתמשים מקבלים תגמולים באפליקציה, כמו מטבעות או נקודות, בתמורה למשחק, למילוי סקרים או לצפייה בסרטונים. אתם יכולים להגדיר תגמולים ליחידות מודעות ולציין אילו פריטים המשתמשים יקבלו ומה ערך התגמולים. | מודעות מתגמלות |
| מודעת מעברון מתגמלת | מאפשרים לכם להציע תגמולים, כמו מטבעות או תוספת חיים, בתמורה לצפייה במודעות שמופיעות במהלך מעברים באפליקציה. | מודעות מעברון מתגמלות |
| מודעה בפתיחת אפליקציה | המודעה מופיעה כשמשתמשים פותחים את האפליקציה או חוזרים אליה, ומוצגת כשכבת-על במסך הטעינה. | מודעות בפתיחת האפליקציה |