במאמר אסטרטגיות לשמירה על הפרטיות ב-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 לא יצליח לטעון מודעות.
מזהה מאינטראקציה ישירה (First-Party) של בעל האפליקציה, שנקרא בעבר מפתח אפליקציה זהה (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];