תמיכה ב-iOS 14

ב-iOS מגרסה 14.5 ואילך, Apple דורשת מהמפתחים לקבל את הרשאת המשתמש באמצעות מסגרת השקיפות בנושא מעקב אחרי אפליקציות (ATT), כדי לעקוב אחרי המשתמש או לגשת למזהה הפרסום (IDFA) של המכשיר שלו. פרטים נוספים זמינים במסמכי התיעוד של Apple בנושא השימוש בנתונים ופרטיות המשתמשים ושקיפות לגבי מעקב אחר אפליקציות.

מוצרי Firebase שמושפעים

ערכות Firebase SDK לא ניגשות ל-IDFA, אבל חלק מהן משולבות עם Google Analytics, מה שעשוי לכלול גישה ל-IDFA.

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

מוצר ההשפעה אם אין גישה ל-IDFA
A/B Testing חלק מנתוני הטירגוט (כמו נתונים דמוגרפיים) בשילוב של A/B Testing עם Google Analytics נגזרים מ-IDFA. באפליקציות שאין להן גישה ל-IDFA, הטירגוט הזה לא זמין.
Firebase AI Logic 1 אין השפעה
App Check אין השפעה
App Distribution אין השפעה
Authentication אין השפעה על ספקי Authentication וספקי צד ראשון Authentication, כמו כניסה באמצעות חשבון Google ואימות טלפוני.
Cloud Firestore אין השפעה
Cloud Functions אין השפעה
Cloud Messaging כשמשתמשים ב-Google Analytics, המערכת מתעדת באופן אוטומטי חלק מאירועי ההמרה שקשורים ל-FCM.Google Analytics שיוך של האירועים האלה מחייב גישה ל-IDFA.
Cloud Storage אין השפעה
Crashlytics אין השפעה. השילוב של Crashlytics עם Google Analytics שמספק נתוני קריסה בזמן אמת ופרטי נתיב (breadcrumbs) לא תלוי ב-IDFA.
Dynamic Links לא תהיה השפעה על הפונקציונליות של פתיחת קישורים. כשמשתמשים ב-Google Analytics, השיוך של אירועי המרה של קישורים לא זמין.
In-App Messaging אין השפעה
Firebase התקנות אין השפעה
InstanceID אין השפעה
Firebase ML אין השפעה
Performance Monitoring אין השפעה
Realtime Database אין השפעה
Remote Config כשמשתמשים ב-Google Analytics, המאפיין Remote Config לא מאפשר טירגוט של מאפייני משתמש שנוצרו אוטומטית בלי גישה ל-IDFA.

1 Firebase AI Logic נקרא בעבר "Vertex AI in Firebase".

שילובים מושפעים עם Firebase

בטבלה שלמטה מפורטים מוצרים שמשולבים עם Firebase ומושפעים אם אין גישה ל-IDFA.

מוצר ההשפעה אם אין גישה ל-IDFA
Google Analytics Analytics רישום האירועים, הדיווח על האירועים ומדידת ההמרות לא מושפעים, אבל הייחוס מושפע אם אין גישה ל-IDFA. מידע נוסף על התגובה של Google ל-iOS 14 זמין בפוסט שלנו בבלוג.

בקשת הרשאת מעקב אחר אפליקציות ב-iOS 14

אם רוצים שהאפליקציה שלכם ב-Apple תוכל לגשת ל-IDFA, אפשר להוסיף לאפליקציה את מסגרת App Tracking Transparency של אפל ולבקש הרשאה לעקוב אחרי מזהה ה-IDFA של המשתמשים או לגשת אליו.

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

אם אתם בעלי תוכן דיגיטלי באפליקציות ב-AdMob או ב-Ad Manager, מומלץ להשתמש ב-Funding Choices. הפלטפורמה הזו מטפלת אוטומטית בקבלת הסכמה להצגת מודעות מותאמות אישית וגם בהסכמה למעקב אחרי המשתמש בהתאם להנחיות של Apple. פרטים נוספים זמינים AdMobבדף בנושא הסכמה עם הכלי 'הודעות למשתמשים'.

במדריך הבא מוצג פתרון באמצעות Firebase In-App Messaging ליצירה ולהצגה של מסך הסבר לפני בקשת גישה למעקב באמצעות App Tracking Transparency.

הוספת In-App Messaging לאפליקציה

פועלים לפי ההוראות כדי להוסיף את In-App Messaging לאפליקציית Apple.

טיפול בסגירה של הודעות בתוך האפליקציה

קודם כל, צריך לוודא שלא מוצג מסך ההסבר במכשירים שלא יכולים להציג את תיבת הדו-שיח לבקשת הסכמה, כמו מכשירים עם iOS 13. חשוב לוודא שהקוד הזה מופעל מיד אחרי FirebaseApp.configure().

Swift

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

מטמיעים את פרוטוקול InAppMessagingDisplayDelegate כדי לטפל באירועים כשהמשתמש סוגר את מסך ההסבר. אם המשתמש מקיש על אישור, מוצגת בקשת המערכת דרך מסגרת App Tracking Transparency.

Swift

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

יצירת קמפיין In-App Messaging

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

  1. במסוף Firebase, יוצרים קמפיין חדש של In-App Messaging.
  2. מאכלסים את ההודעות באפליקציה בתוכן הרצוי ומגדירים את ההודעה כך שתופעל באירוע app_launch.
  3. בקטע טירגוט, מוודאים שהקמפיין מטרגט רק את הגרסה העדכנית ביותר של האפליקציה ומעלה.

כדי להתאים אישית את המראה של מסך ההסבר, פועלים לפי ההוראות במסמכי התיעוד של In-App Messaging.

אופציונלי: בדיקת A/B של מסכי הסבר שונים

ב-In-App Messaging יש שילוב מובנה עם Firebase A/B Testing, שבו אפשר להשתמש כדי לבדוק מסכי הסבר שונים.

Firebase A/B Testing יוצרת באופן אוטומטי קבוצות ניסוי ועוזרת לכם להציג באופן חזותי את האינטראקציה של המשתמשים עם וריאציות שונות של האפליקציה.

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

אם לא רשמתם אירוע Google Analytics כשטיפלתם בתגובה לבקשת הרשאות המעקב באפליקציה, תצטרכו לעשות זאת כדי למדוד את השינויים בשיעור התגובה כשמפעילים ניסוי A/B.

Swift

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

יצירת אירוע המרה חדש

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

צור ניסוי חדש

בתפריט In-App Messaging של המסוף, לוחצים על New Experiment (ניסוי חדש) ופועלים לפי ההוראות במסכים שמופיעים.

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

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

בתיעוד של Firebase A/B Testing מוסבר איך לעקוב אחרי ניסוי ולהשיק וריאציה מוצלחת.