תמיכה ב-iOS 14

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

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

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

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

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

צור ניסוי חדש

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

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

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

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