איך להתכונן לקראת דרישות הגילוי הנאות של Apple לגבי איסוף נתונים ב-App Store

Apple דורשת ממפתחים שמפרסמים אפליקציות ב-App Store להציג גילוי נאות הכולל פרטים מסוימים לגבי האופן שבו האפליקציה משתמשת בנתונים.

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

אם אתם משתמשים בתכונות מוצר אופציונליות שכוללות נתונים נוספים או משתתפים בבדיקות של תכונות מוצר חדשות שכוללות נתונים נוספים, חשוב לבדוק אם התכונות או הבדיקות האלה דורשות גילוי נאות נוסף לגבי הנתונים.

כדי לוודא שהגילויים הנאותים באפליקציה יהיו מדויקים, מומלץ תמיד להשתמש בגרסה העדכנית ביותר של כל Firebase SDK.

סוכן משתמש ב-Firebase

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

FirebaseCore

  • לא אוסף נתונים.

GoogleUtilities

  • לא אוספת נתונים, אבל כוללת כלי רשתות שערכות SDK אחרות עשויות להשתמש בהם כדי לאסוף נתונים.

GoogleDataTransport

כולל שירותי רשת שערכות SDK אחרות עשויות להשתמש בהם לאיסוף נתונים.

נאספים תמיד

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

FirebaseABTesting

התכונה A/B Testing לא אוספת נתונים.

ה-SDK של Firebase A/B Testing מגדיר נכסי משתמש מסוג Google Analytics ומשתמש בהם כדי לציין את החברות בקבוצות הניסוי של Firebase Remote Config ו-Firebase In-App Messaging.

Google Analytics

מידע על איסוף הנתונים של Google Analytics זמין במאמר התמיכה הזה.

FirebaseAppCheck

נאסף כברירת מחדל

תלוי שימוש

  • אם ספק DeviceCheck מותקן, אוספת את האסימון DCDevice מ-DeviceCheck.
  • אם ספק האימות של האפליקציה מותקן, אוסף את אובייקט האימות וגם את אובייקט טענת הנכוֹנוּת (assertion) מ-App Attest.

FirebaseAppDistribution

ה-SDK להפצת אפליקציות מיועד לשימוש בגרסת בטא בלבד. אל תכללו את ה-App Distribution SDK באפליקציה כששולחים אותה ל-App Store.

FirebaseAuthentication

תמיד נאספים

  • יצירת מזהים ושמירתם לצורכי אימות משתמשים.

נאסף כברירת מחדל

תלות בשימוש

  • איסוף שם מוצג, אם המפתח מספק שם מוצג למשתמש.
  • איסוף כתובות האימייל של המשתמשים כפי שהן צוינו על ידי המפתח כשנעשה שימוש באימות באמצעות סיסמה באימייל או באימות באמצעות קישור באימייל, או כפי שהן מופיעות בתגובה מהספק המאוחד אם המפתח משתמש בזהות מאוחדת.
  • איסוף מספרי הטלפון של משתמשים כפי שסופקו על ידי המפתח בזמן השימוש באימות הטלפון, או אם מספר הטלפון של המשתמש נוסף כשיטת אימות. הנתונים האלה נאספים גם במהלך תהליכי אימות באמצעות SMS כגורם אימות שני.
  • איסוף פרטים ליצירת קשר שקשורים לספקי אימות של צד שלישי, אם המפתח משתמש בספק אימות של צד שלישי עם Firebase Authentication. לדוגמה, המזהה של משתמש עשוי להיות מקושר לפרופיל שלו ב-Facebook אם המפתח משתמש באימות של Facebook, בהתאם להיקפי הגישה שהוקצו. למידע נוסף, אפשר לעיין במסמכי התיעוד של ספק האימות.
  • שומר את מזהה המשתמש ב-Game Center אם האפליקציה מקושרת ל-Game Center.
  • האסימון הזה נאסף אם האפליקציה משתמשת ב-reCAPTCHA Enterprise כדי להגן על תהליכי Authentication. פרטים נוספים על הפרטיות ב-Apple ב-reCAPTCHA Enterprise

FirebaseCrashlytics

תמיד נאספים

  • אוספת את נתוני המעקב אחר סטאק ואת מצב האפליקציה הרלוונטי כשהיא קורסה.
  • אוסף מידע על המכשיר ועל מערכת ההפעלה כדי לעזור בניפוי באגים של קריסות.

תלוי בשימוש

  • אוסף מפתחות מותאמים אישית, יומנים ומזהי משתמשים בטקסט חופשי שהמפתחים מצרפים לדוחות קריסה. בנוסף, הכלי אוסף אירועים לא קטלניים שהוגדרו על ידי המפתחים, עם מעקב סטאק מותאם אישית.
  • איסוף יומני 'נתיבים קודמים' אם משתמשים ב-Crashlytics יחד עם Google Analytics. היומנים האלה מזהים את הפעולות של המשתמשים מיד לפני קריסה, יחד עם מספרי האירועים של הקריסות.
  • אוסף חלקים מוגדרים על ידי המפתח של התבנית Remote Config ומטא-נתונים של התבנית, אם ערכת ה-SDK של Firebase Remote Config כלולה גם באפליקציה. הנתונים האלה כוללים את גרסת התבנית Remote Config, מזהה הווריאנט של ההשקה, מפתחות הפרמטרים וערכים של פרמטרים שמושפעים מהשקות פעילות.

FirebaseDatabase

נאסף כברירת מחדל

  • אוסף באופן זמני נתוני מכשיר, כולל מידות המסך, השפה, גרסת מערכת ההפעלה, מזהה החבילה, כתובת ה-IP וגרסת ה-SDK של Firebase עבור קישורים עמוקים שהושהו (קישורים עמוקים לאחר התקנת האפליקציה).
  • האפליקציה אוספת באופן זמני את כתובת ה-URL של הקישור הדינמי בלוח העריכה של המכשיר, אם הוא זמין, בהפעלה הראשונה שלה. המפתחים יכולים להשבית את השימוש בלוח הציור על ידי הגדרת המאפיין FirebaseDeepLinkPasteboardRetrievalEnabled ל-NO בקובץ Info.plist של האפליקציה.

אם משתמשים ב-Dynamic Links יחד עם Google Analytics:

  • אירועי אינטראקציה עם קישורים מתועדים באופן אוטומטי באמצעות Google Analytics. כדי להשבית את הרישום האוטומטי של אירועים ביומן, מסירים את FirebaseAnalytics מהאפליקציה.

FirebaseFirestore

נאסף כברירת מחדל

FirebaseFunctions

תמיד נאספים

  • אוסף המטא-נתונים של הפעלת הפונקציה, כולל שם הפונקציה וכתובת ה-IP של מבצע הקריאה לפונקציה.

FirebaseInAppMessaging

תמיד נאספים

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

FirebaseInstallations

נאסף כברירת מחדל

FirebaseMessaging

תמיד נאספים

  • מתעד את האסימון של APNs ומשייך אותו למזהה ההתקנה של האפליקציה שנאסף, שמשמשת כאסימון הרישום של העברת הודעות בענן ב-Firebase ‏ (FCM).
  • אוסף את דגם המכשיר, השפה, אזור הזמן, גרסת מערכת ההפעלה, מזהה האפליקציה וגרסת האפליקציה עבור מינוי לנושא וביטול מינוי.

נאסף כברירת מחדל

תלות בשימוש

אם משתמשים ב-Cloud Messaging יחד עם Google Analytics:

  • רישום אוטומטי של אינטראקציות עם התראות דרך Google Analytics. כדי להשבית את ההתנהגות הזו, מסירים את FirebaseAnalytics מהאפליקציה.

FirebaseMLModelDownloader

תמיד נאספים

  • איסוף מטא-נתונים של הורדת מודל למידת מכונה, כמו אירועי הורדה, אירועי מחיקה ושגיאות.

FirebasePerformance

נאספים תמיד

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

FirebaseRemoteConfig

תמיד נאספים

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

נאסף כברירת מחדל

תלות בשימוש

אם משתמשים בפונקציה Remote Config יחד עם Google Analytics:

  • איסוף מאפייני משתמשים שהתקבלו על ידי Firebase SDK עבור Google Analytics, כדי לטרגט פרמטרים שמבוססים על תנאים של מאפייני משתמשים.
  • הפונקציה אוספת את חותמת הזמן של האירוע first_open שהתקבלה על ידי ה-SDK של Firebase עבור Google Analytics, כדי לטרגט פרמטרים שמבוססים על מועד הפתיחה הראשונה.

אם נעשה שימוש בהתאמה אישית של Remote Config:

  • אפשר להשתמש בנתונים שנאספים על ידי Firebase Remote Config SDK ובאירועים שנאספים על ידי Firebase SDK עבור Google Analytics כדי ליצור מודלים חזויים ולמדוד את הביצועים של המודלים האלה.

FirebaseSessions

תמיד נאספים

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

FirebaseStorage

נאסף כברירת מחדל

FirebaseVertexAI

נאספים תמיד

  • האובייקט הזה אוסף את גרסת Firebase SDK ואת גרסת השפה Swift.
  • אוסף את שם המודל בהפעלה.