מתחילים!

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

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

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

  • שימוש ב-Xcode 13.2.1 ואילך
  • מיקוד ל-iOS 10.0 ואילך

ייבוא Mobile Ads SDK

CocoaPods (מועדף)

הדרך הפשוטה ביותר לייבא את ה-SDK לפרויקט iOS היא להשתמש ב-CocoaPods. יש לפתוח את ה-Podfile של הפרויקט ולהוסיף את השורה הזו ליעד האפליקציה:

pod 'Google-Mobile-Ads-SDK'

לאחר מכן מריצים את שורת הפקודה:

pod install --repo-update

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

מנהל חבילת סוויפט

ה-SDK של Google Mobile Ads תומך ב-Swift Package Manager החל מגרסה 9.0.0. כדי לייבא את חבילת Swift יש לפעול לפי השלבים הבאים.

  1. ב-Xcode, מתקינים את חבילת הסוויפט של Google Mobile Ads בקטע File > Add Packages (הוספת חבילות).

  2. בהודעה שמופיעה, מחפשים את המאגר של Google Mobile Ads Swift Package GitHub:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. בוחרים את הגרסה של חבילת הסוויפט של Google Mobile Ads שבה רוצים להשתמש. לפרויקטים חדשים, מומלץ להשתמש בגרסה הראשית הבאה של הפרויקט.

כשתסיימו, Xcode יתחיל לפתור את התלות בחבילה ולהוריד אותן ברקע. לפרטים נוספים על הוספת תלויות חבילה, אפשר לעיין במאמר של Apple&33.

הורדה ידנית

  1. ניתן להוריד את קובץ ה-framework של SDK ולהפיץ אותו ישירות, ולייבא את המסגרות הבאות לפרויקט Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. הוסיפו את התכונה -ObjC Linker Flagger ל-Other Linker Flags בפרויקט שלכם?##99;s

עדכון Info.plist

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

  1. מפתח GADApplicationIdentifier עם ערך מחרוזת של AdMob מזהה האפליקציה שלך (שזוהה ב AdMob ממשק המשתמש).
  2. מפתח SKAdNetworkItems עם ערכי SKAdNetworkIdentifier עבור Google (cstr6suwn9.skadnetwork) ובחירת קונים נוספים שמסרו את הערכים האלה ל-Google.
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</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>5a6flpkh64.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>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>3sh42y64q3.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>prcb7njmu6.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>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>9rd848q2bz.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>n6fk4nfna4.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>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>av6w8kgt66.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>424m5254lk.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>e5fvkxwrpn.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>8c4e2ghe7u.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>zq492l623r.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>3qcr597p9d.skadnetwork</string>
    </dict>
  </array>

אם עדיין לא יצרת חשבון AdMob ורשמת אפליקציה, זה הזמן לעשות זאת.

הפעלה של Mobile Ads SDK

לפני טעינת מודעות, יש לקרוא לשיטה startWithCompletionHandler: ב-GADMobileAds.sharedInstance, שמפעילה את ה-SDK ומפעילה handler של סיום כשהאתחול יסתיים (או אחרי תום הזמן הקצוב של 30 שניות). את זה צריך לבצע רק פעם אחת, באופן אידיאלי בעת הפעלת האפליקציה. מומלץ להתקשר אל startWithCompletionHandler: בהקדם האפשרי.

הנה דוגמה לקריאת השיטה startWithCompletionHandler: בAppDelegate:

דוגמה ל-AppDelegate.m (לא נכלל)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }

}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

אם משתמשים בתהליך בחירת הרשת (Mediation), מומלץ להמתין עד שה-handler של ההשלמה יתקשר לפני שטוענים את המודעות. כך ניתן להבטיח שכל המתאמים לבחירת רשת (Mediation) יאופסו.

בחירה של פורמט מודעה

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

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

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

מעברון

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

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

מקומי

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

יישום Native Ads

ההטבה הופעלה

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

הטמעה של מודעות מתגמלות הטמעה של מודעות מתגמלות (ממשקי API חדשים)