תמיכה ב-iOS 14

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

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

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

בטבלה הבאה מפורטים מוצרי Firebase שזמינים בפלטפורמות של Apple, ומוסבר איך הפונקציונליות של כל מוצר מושפעת אם אין גישה ל-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, המערכת של Google Analytics תתעד באופן אוטומטי חלק מאירועי ההמרה שקשורים ל-FCM. שיוך (Attribution) של האירועים האלה דורש גישה ל-IDFA.
Cloud Storage אין השפעה
Crashlytics אין השפעה. השילוב של Crashlytics עם Google Analytics שמספק נתוני קריסות בזמן אמת ופרטי נתיב לא תלוי ב-IDFA.
In-App Messaging אין השפעה
Firebase התקנות אין השפעה
Performance Monitoring אין השפעה
Realtime Database אין השפעה
Remote Config כשמשתמשים במאפיין Google Analytics, המאפיין Remote Config לא מאפשר ליצור באופן אוטומטי מאפייני משתמש לטירגוט ללא גישה ל-IDFA.
ספריות שהוצאו משימוש או לא נתמכות
Dynamic Links אין השפעה על הפונקציונליות של פתיחת קישורים. כשמשתמשים ב-Google Analytics, השיוך של אירועי המרה של קישורים לא זמין.
InstanceID אין השפעה
Firebase ML אין השפעה

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

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

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

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

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

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