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