לגבי השיקולים העיקריים בזמן הכנת האפליקציה לשינויים בתחום הפרטיות ב-iOS, כדאי לעיין במאמר אסטרטגיות פרטיות ל-iOS.
הפעלת SKAdNetwork למעקב אחרי המרות
דרישות מוקדמות: Google Mobile Ads SDK בגרסה 7.64.0 ואילך
Google Mobile Ads SDK תומך במעקב המרות באמצעות SKAdNetwork
של Apple, ומאפשר ל-Google ולקונים של צד שלישי שמשתתפים בתוכנית לשייך התקנת אפליקציה, גם כאשר ה-IDFA לא זמין.
כדי להפעיל את היכולת הזו, מעדכנים את המפתח SKAdNetworkItems
במילון נוסף שמגדיר את הערכים של SKAdNetworkIdentifier
של Google ושל קונים של צד שלישי שמשתתפים בInfo.plist
.
בדוגמה הבאה נכללים Google (cstr6suwn9.skadnetwork
) ומזהי SKAdNetwork נוספים של קונים שסופקו ל-Google. Google מחויבת לעדכן את הרשימה הזו כך שתכלול קונים נוספים, ולעבוד עם התעשייה על פתרונות לשיתוף ערכי SKAdNetworkIdentifier
באופן נרחב יותר. הדף הזה מכיל את העדכונים האחרונים.
<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>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>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>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>ppxm28t8ap.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uw77j35x4d.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>pwa73g5rt2.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>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>3qcr597p9d.skadnetwork</string>
</dict>
</array>
גישור
אם אתם משתמשים בתהליך בחירת הרשת, כדאי לבדוק את המסמכים של כל שותף של רשת מודעות כדי לראות אילו ערכים נוספים של SKAdNetworkIdentifier
נדרשים.
לגבי מקורות מודעות שלא מופיעים ברשימה, פנו לצוות ניהול החשבון כדי לקבל את הערכים הנדרשים של SKAdNetworkIdentifier
.
שליחת בקשה לקבלת הרשאה ל-App Tracking Transparency
דרישות מוקדמות: Google Mobile Ads SDK בגרסה 7.64.0 ואילך
כדי להציג את בקשת ההרשאה של App Tracking Transparency לגישה ל-IDFA, מעדכנים את Info.plist
כך שיתווסף המפתח NSUserTrackingUsageDescription
עם הודעה מותאמת אישית שמתארת את השימוש. דוגמה לטקסט של תיאור:
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
תיאור השימוש מופיע בתיבת הדו-שיח App Tracking Transparency:
כדי להציג את בקשת ההרשאה, קוראים את הפונקציה requestTrackingAuthorizationWithCompletionHandler:
.
מומלץ להמתין להשלמת הקריאה החוזרת לפני טעינת המודעות, כדי שאם המשתמש יעניק את ההרשאה 'שקיפות במעקב אחר אפליקציות', פלטפורמת Google Mobile Ads SDK תוכל להשתמש ב-IDFA בבקשות להצגת מודעות.
Swift
import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Tracking authorization completed. Start loading ads here.
// loadAd()
})
}
Objective-C
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
...
- (void)requestIDFA {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// Tracking authorization completed. Start loading ads here.
// [self loadAd];
}];
}
מידע נוסף על ערכי הסטטוס האפשריים זמין במאמר ATTrackingManager.AuthorizationStatus
.
SKOverlay
דרישות מוקדמות: Google Mobile Ads SDK מגרסה 8.5.0 ואילך
SKOverlay מציג אפליקציה מומלצת כשכבת-על מעל מודעה, כדי שהמשתמשים יוכלו להתקין אותה בלי לצאת מהאפליקציה.
אם אתם משתמשים ב-Google Mobile Ads SDK בגרסה 8.5.0 ואילך, לא תצטרכו לבצע שום פעולה כדי להפעיל את SKOverlay באפליקציה. כשיש שיפור בביצועים למשתמשים ולמפרסמים, המודעות משופרות באופן אוטומטי באמצעות SKOverlay.
דומיינים שמקושרים לאפליקציה
ביוני 2020, Apple השיקה את התכונה דומיינים שמקושרים לאפליקציה. התכונה הזו מאפשרת למפתחים להגביל את הדומיינים של כל WKWebView
באפליקציה ל-10 דומיינים או פחות, באמצעות המפתח WKAppBoundDomains
Info.plist
.
אם מוסיפים את המפתח WKAppBoundDomains
לקובץ Info.plist
, יכול להיות שטעינת המודעות ב-Google Mobile Ads SDK תיכשל.
מזהה מאינטראקציה ישירה של בעל האפליקציה, שנקרא בעבר מפתח אפליקציה זהה (SameAppKey)
דרישות מוקדמות: Google Mobile Ads SDK בגרסה 8.3.0 ואילך
ב-Google Mobile Ads SDK הושק מזהה מאינטראקציה ישירה של בעל האפליקציה (שנקרא בעבר 'מפתח אפליקציה זהה') כדי לעזור לכם להציג מודעות רלוונטיות ומותאמות אישית יותר על סמך נתונים שנאספו מהאפליקציות שלכם.
המזהה מאינטראקציה ישירה של בעל האפליקציה מופעל כברירת מחדל, אבל אפשר להשבית אותו באמצעות השיטה הבאה.
Swift
@import GoogleMobileAds
// Disables Publisher first-party ID, formerly known as same app key.
GADMobileAds.sharedInstance().requestConfiguration.setPublisherFirstPartyIDEnabled(false)
Objective-C
@import GoogleMobileAds;
// Disables Publisher first-party ID, formerly known as same app key.
[GADMobileAds.sharedInstance.requestConfiguration setPublisherFirstPartyIDEnabled:NO];