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

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

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

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