מתחילים!

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

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

השילוב של Google Mobile Ads SDK באפליקציה הוא השלב הראשון בהצגת מודעות וייצור הכנסות. אחרי שתטמיעו את ה-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, קראו את המסמך הרשמי שבו מוסבר איך ליצור ולהשתמש ב-Podfiles.

מנהל חבילות SWIFT

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

  1. ב-Xcode, מתקינים את חבילת ה-Swip Ads של Google לנייד על ידי ניווט אל קובץ > הוספת חבילות....

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

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

בסיום, Xcode יתחיל לפתור את התלות בחבילה ולהוריד אותם ברקע. למידע נוסף על הוספת יחסי תלות של חבילות, קראו את המאמר של Apple.

הורדה ידנית

  1. מורידים את ה-SDK של ה-SDK ומחלצים אותו ישירות, ומייבאים את המסגרות הבאות לפרויקט Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. הוסיפו את הסימונים של המקשר -ObjC אל Flags Linker Flags נוספים בהגדרות ה-build של הפרויקט:

עדכון 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>4pfyvq9l8r.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>ludvb6z3bs.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>cp8zw746q7.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>y5ghdn5j9k.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>n6fk4nfna4.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>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>ecpz2srf59.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>uw77j35x4d.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>mlmmfzh3r3.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>gta9lk7p23.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>3rd42ekr43.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

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

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

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

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

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

פרסומת מרווח ביניים

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

הטמעת מעברון

מותאמת

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

הטמעה Native Ads

ההטבה הופעלה

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

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