התחל בעבודה

בחירת פלטפורמה: 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, מתקינים את חבילת Swift של Google Mobile Ads. לשם כך, עוברים אל 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 ואת Embed & Sign המסגרות הבאות לפרויקט Xcode:

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

    • מוסיפים את הנתיב /usr/lib/swift אל נתיבי החיפוש של Runpath.
    • מוסיפים את דגל הקישור -ObjC לקטע דגלי קישור אחרים.

עדכון קובץ 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 ומפעילה חזרה את פונקציית הטיפול בהשלמה בסיום האינטראליזציה (או אחרי זמן קצוב של 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 יש כמה פורמטים שונים של מודעות, כך שתוכלו לבחור את הפורמט שמתאים ביותר לחוויית המשתמש באפליקציה.

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

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

מעברון

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

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

מותאם

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

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

ההטבה הופעלה

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

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

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

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

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

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

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

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

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

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