התחל בעבודה

בחירת פלטפורמה: Android iOS Unity Flutter

המדריך הזה מיועד לבעלי אפליקציות שרוצים לייצר הכנסות מאפליקציית iOS באמצעות AdMob ולא משתמשים ב-Firebase. אם אתם מתכננים לכלול את Firebase באפליקציה שלכם (או שאתם שוקלים לעשות זאת), כדאי לעיין במדריך הזה בגרסה AdMob עם Firebase .

השילוב של Google Mobile Ads SDK באפליקציה הוא השלב הראשון לקראת הצגת מודעות וייצור הכנסות. אחרי שמטמיעים את ה-SDK, אפשר להמשיך להטמיע אחד או יותר מפורמטי המודעות הנתמכים.

דרישות מוקדמות

  • שימוש ב-Xcode מגרסה 16.0 ואילך
  • טרגוט ל-iOS מגרסה 12.0 ואילך

ייבוא של Mobile Ads SDK

אפשר להשתמש באחת מהשיטות הבאות כדי לייבא את Google Mobile Ads SDK.

Swift Package Manager

כדי להוסיף תלות בחבילה לפרויקט, פועלים לפי השלבים הבאים:

  1. ב-Xcode, מתקינים את חבילת Google Mobile Ads Swift על ידי מעבר אל 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 שרוצים להשתמש בה. לפרויקטים חדשים, מומלץ להשתמש באפשרות עד הגרסה הראשית הבאה.

CocoaPods

לפני שממשיכים, כדאי לעיין במאמר בנושא שימוש ב-CocoaPods כדי לקבל מידע על יצירה ושימוש בקובצי Podfile.

כדי להשתמש ב-CocoaPods, פועלים לפי השלבים הבאים:

  1. פותחים את ה-Podfile של הפרויקט ומוסיפים את השורה הזו להגדרת ה-build של האפליקציה target:

    pod 'Google-Mobile-Ads-SDK'
  2. בטרמינל, מריצים את הפקודה:

    pod install --repo-update

הורדה ידנית

  1. מורידים את Google Mobile Ads SDK ואת המסגרות הבאות לפרויקט Xcode:Embed & Sign

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. בהגדרות הבנייה של הפרויקט:

    • מוסיפים את הנתיב /usr/lib/swift אל Runpath Search Paths.
    • מוסיפים את דגל ה-linker‏ -ObjC אל Other Linker Flags (דגלי linker אחרים).

עדכון הקובץ Info.plist

מעדכנים את קובץ Info.plist של האפליקציה כדי להוסיף שני מפתחות:

  1. מפתח GADApplicationIdentifier עם ערך מחרוזת של מזהה האפליקציה ב-AdMob שמופיע בממשק המשתמש של AdMob.

  2. מפתח SKAdNetworkItems עם ערכים של 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 ורשמתם אפליקציה, עכשיו זה הזמן לעשות את זה.

הפעלה של Mobile Ads SDK

לפני טעינת המודעות, קוראים לשיטה start() ב-GADMobileAds.sharedInstance, שמאתחלת את ה-SDK ומבצעת קריאה חוזרת ל-handler של השלמת הפעולה אחרי שהאתחול מסתיים (או אחרי פסק זמן של 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];

בחירת פורמט מודעה

‫Mobile Ads SDK מיובא והופעל, ועכשיו אפשר להטמיע מודעה. ב-AdMob יש מגוון פורמטים שונים של מודעות, כך שאתם יכולים לבחור את הפורמט שהכי מתאים לחוויית המשתמש באפליקציה שלכם.

יחידות של מודעות באנר מוצגות כמלבן שתופס חלק מהפריסה של האפליקציה. יכול להיות שיתבצע רענון אוטומטי של המודעות אחרי פרק זמן מסוים. הרענון האוטומטי יגרום לכך שתוצג למשתמשים מודעה חדשה במרווחי זמן קבועים, גם אם הם יישארו באותו מסך באפליקציה. כמו כן, מודעות באנר הן פורמט המודעה הפשוט ביותר להטמעה.

הטמעה של מודעות באנר

מעברון

יחידות של מודעות מעברון משמשות להצגה של מודעות במסך מלא באפליקציה. כדאי למקם אותן בנקודות עצירה ומעבר טבעיות בממשק של האפליקציה, כמו אחרי השלמת שלב באפליקציית משחקים.

הטמעה של מודעות מעברון

מותאם

מודעות מותאמות הן מודעות שבהן אפשר להתאים אישית את האופן שבו נכסים כמו כותרות וקריאות לפעולה מוצגים באפליקציות. כשמעצבים את המודעה בעצמכם, אפשר ליצור מודעות שמשתלבות בצורה טבעית באפליקציה ולא מפריעות לחוויית המשתמש.

הטמעה של מודעות מותאמות

ההטבה הופעלה

יחידות של מודעות מתגמלות מאפשרות למשתמשים לשחק במשחקים, להשתתף בסקרים או לצפות בסרטונים כדי לזכות בתגמולים בתוך האפליקציה, כמו מטבעות, עוד חיים או נקודות. אפשר להגדיר תגמולים שונים ליחידות מודעות שונות ולציין את ערכי התגמולים ואת הפריטים שהמשתמש קיבל.

הטמעה של מודעות מתגמלות

מודעות מעברון מתגמלות

מודעת מעברון מתגמלת היא מודעה מסוג חדש שמופיעה באופן אוטומטי בנקודות מעבר טבעיות באפליקציה ומאפשרת לכם להציע תגמולים, כמו מטבעות או תוספת חיים.

בשונה ממודעות מתגמלות רגילות, המשתמשים לא צריכים להביע הסכמה לצפייה במודעת מעברון מתגמלת.

במקום זאת, צריך להציג למשתמשים מסך פתיחה שמתאר את התגמול וכולל אפשרות לסרב לצפות במודעה.

הטמעה של מודעות מעברון מתגמלות

מודעה בפתיחת אפליקציה

מודעה בפתיחת אפליקציה היא פורמט מודעה שמופיע כשמשתמשים פותחים את האפליקציה או חוזרים אליה. המודעה מוצגת כשכבת-על במסך הטעינה של האפליקציה.

הטמעה של מודעות בפתיחת האפליקציה