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

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 אפשר לקרוא מידע על מעקב אחרי ניסוי ועל השקת וריאציה מוצלחת.