应用元数据软件包的架构

החל מ-Android 14, מנהל ההתקנה של חבילת Android יכול להטמיע מטא-נתונים על אפליקציה, כמו נוהלי אבטחת נתונים, לשימוש בתכונות של פלטפורמת Android, בתור הבקשה המעודכנת להרשאת מיקום.

יש שתי דרכים לספק את המטא-נתונים האלה:

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

  • עבור אפליקציות שמותקנות או מתעדכנות, כדי לציין את המטא-נתונים האלה, אפליקציה מנהלי התקנה צריכים להעביר אובייקט PersistableBundle לתוך setAppMetadata().

החבילה הקבועה ברמה העליונה מורכבת מצמדי המפתח/ערכים הבאים. אם לא צוין אחרת, כל מפתח הוא אופציונלי.

version (שדה חובה)
מספר הגרסה של פורמט המטא-נתונים של האפליקציה. שימוש ב-2 כערך את הגרסה הנוכחית ואת long כסוג. אם המפתחות הצפויים או סוגי התוכן הצפויים שינוי אחד (AppMetadata), מערכת Android תשנה את מספר הגרסה.
safety_labels
אובייקט PersistableBundle שמציין את תוויות הבטיחות של האפליקציה.
system_app_safety_label
אובייקט PersistableBundle שמציין את המיקום של האפליקציה system-app-safety-label. באפליקציות שמשמשות כשירות מערכת, החבילה system_app_safety_label בשימוש במקום החבילה safety_labels.
transparency_info
אובייקט PersistableBundle שמציין את השקיפות של האפליקציה מידע.

הפורמט של תוויות בטיחות

החבילה safety_labels מכילה את צמדי המפתח/ערך הבאים:

version (שדה חובה)
מספר הגרסה של הפורמט של תוויות בטיחות. שימוש ב-1 כערך את הגרסה הנוכחית ואת long כסוג.
data_labels
אובייקט PersistableBundle שמציין את הנתונים שהאפליקציה אוספת ושיתופים.
security_labels
אובייקט PersistableBundle שמציין את שיטות ההצפנה והמחיקה של הנתונים באפליקציה.
third_party_verification
אובייקט PersistableBundle שמציין איך אבטחת הנתונים של האפליקציה שיטות העבודה מאומתות על ידי צד שלישי.

נתונים שנאספים ומשותפים

החבילה data_labels מכילה את צמדי המפתח/ערך הבאים:

data_collected
אובייקט PersistableBundle שמציין את סוגי הנתונים שהאפליקציה אוספת.
data_shared
אובייקט PersistableBundle שמציין את סוגי הנתונים שהאפליקציה משותפים.

קטגוריות נתונים

גם המפתחות data_collected וגם המפתחות data_shared משתמשים בחבילה של data_category שמכיל את צמדי המפתח/ערך שמוצגים ברשימה הבאה. כל מקש ממופה לאובייקט PersistableBundle שמציין את סוגי הנתונים של לקטגוריה מסוימת.

  • personal
  • financial
  • location
  • email_text_message
  • photo_video
  • audio
  • storage
  • health_fitness
  • contacts
  • calendar
  • identifiers
  • app_performance
  • actions_in_app
  • search_and_browsing

סוגי הנתונים

כל מפתח בחבילה של data_category ממופה לחבילה אחרת שמשתמשת ב פורמט data_type. המפתחות שציינתם בפורמט data_type תלויים בבחירה שלכם ל-data_category.

צמד המפתח/ערך האפשריים של data_type מופיעים ברשימות הבאות. הערך של כל אחד מהמפתחות האלה הוא אובייקט PersistableBundle שמתאר את השיטות של האפליקציה לשימוש בנתונים לאותו סוג נתונים. חלק מסוגי הנתונים להשתמש רק במפתח אחד.

אישי

  • name
  • email_address
  • physical_address
  • phone_number
  • race_ethnicity
  • political_or_religious_beliefs
  • sexual_orientation_or_gender_identity
  • personal_identifiers
  • other

נושאים פיננסיים

  • card_bank_account
  • purchase_history
  • credit_score
  • other

מיקום

  • approx_location
  • precise_location

הודעות אימייל והודעות טקסט

  • emails
  • text_messages
  • other

תמונות וסרטונים

  • photos
  • videos

אודיו

  • sound_recordings
  • music_files
  • other

אחסון

files_docs

בריאות וכושר

  • health
  • fitness

אנשי קשר

contacts

יומן Google

calendar

מזהי פריטים

other

ביצועי האפליקציה

  • crash_logs
  • performance_diagnostics
  • other

פעולות באפליקציה

  • user_interaction
  • in_app_search_history
  • installed_apps
  • user_generated_content
  • other

חיפוש ועיון

web_browsing_history

שימוש בחבילת הגלישה

החבילה data_usage מכילה את צמדי המפתח/ערך הבאים:

purposes(חובה)

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

  • 1: PURPOSE_APP_FUNCTIONALITY
  • 2: PURPOSE_ANALYTICS
  • 3: PURPOSE_DEVELOPER_COMMUNICATIONS
  • 4: PURPOSE_FRAUD_PREVENTION_SECURITY
  • 5: PURPOSE_ADVERTISING
  • 6: PURPOSE_PERSONALIZATION
  • 7: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional

ערך בוליאני. מציין אם משתמשים יכולים להביע הסכמה או לבטל הסכמה איסוף נתונים.

הערה: מגדירים את הערך הזה רק לחבילות data_category שמייצגות איסוף נתונים. לא מגדירים אותו לשיתוף נתונים.

ephemeral

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

הערה: מגדירים את הערך הזה רק לחבילות data_category שמייצגות איסוף נתונים. לא מגדירים אותו לשיתוף נתונים.

שיטות להצפנה ולמחיקה של נתונים

החבילה security_labels מכילה צמדי מפתח/ערך שמייצגים את שיטות המחיקה וההצפנה של הנתונים באפליקציה:

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

אימות על ידי צד שלישי

החבילה third_party_verification מורכבת ממפתח יחיד, url. כתובת ה-URL הזו, שמיוצג כערך מחרוזת, מציין את אתר הצד השלישי המשמש אימות פרטי אבטחת הנתונים של האפליקציה.

פורמט תוויות בטיחות של שירות מערכת

עבור אפליקציות שמשמשות כשירות מערכת, החבילה system_app_safety_label משמש במקום החבילה safety_labels, ומכיל את הטקסט הבא צמדי מפתח/ערך:

url (חובה)

  • כתובת ה-URL שמפנה לדף שמכיל מידע על בטיחות האפליקציה לשמש כשירות מערכת.
  • יש להשתמש ב-string כסוג.
  • אם לא סיפקת כתובת URL, צריך להשתמש בכתובת ה-URL של מדיניות הפרטיות כחלופה.
  • הערה: חנות Google Play משתמשת ב-privacy_policy כחלופה.

פורמט של פרטי שקיפות

החבילה transparency_info מכילה את צמדי המפתח/ערך הבאים:

developer_info
אובייקט PersistableBundle שמציין מידע על האפליקציה מפתח.
app_info
אובייקט PersistableBundle שמציין מידע על האפליקציה.

פרטי המפתח

החבילה developer_info מכילה את צמדי המפתח/ערך הבאים:

developer_#
אובייקט PersistableBundle שמזהה את המפתח. developer_info מכיל developer_# אחד או יותר, כאשר # הוא מספר שלם. לדוגמה, developer_0, developer_1, developer_2 וכן הלאה.

מפתח

החבילה developer_# מכילה את המפתח/הערך הבא זוגות:

name (חובה)
מחרוזת שמציינת את שם המפתח.
email (חובה)
מחרוזת שמציינת את כתובת האימייל של המפתח.
address (חובה)
מחרוזת שמציינת את הכתובת למשלוח דואר של המפתח.
country_region (חובה)
מחרוזת שמציינת את המדינה או האזור של המפתח.
website
מחרוזת שמציינת את האתר של המפתח.

app_registry

  • מחרוזת שמציינת את החנות או המרשם של המפתח.
  • אם המפתח רשום גם בחנות או במרשם אחר, הערך צריך להיות שם החבילה של האפליקציה ל-Android בחנות או כתובת ה-URL של המרשם.
  • מותר להוסיף כמה רשומות למספר חנויות.
  • ל-Google Play, צריך להשתמש ב-com.android.vending.
  • אם המפתח הוא ערכת SDK שמופיעה ב-Google Play SDK Index, יש להשמיט אותה .
  • אם המפתח לא רשום בחנות אפליקציות או במרשם כלשהו, יש להשמיט אותו .

app_registry_id

  • מחרוזת שמציינת את מזהה המפתח של app_registry שצוין.
  • אם המפתח רשום גם בחנות או במרשם אחר, הערך צריך להיות זהות החנות או המרשם.
  • מותר להוסיף כמה רשומות למספר חנויות.
  • למפתחים שרשומים ב-Google Play, הערך הזה חייב להיות כתובת ה-URL של דף המפתח (לדוגמה, https://play.google.com/store/apps/dev?id=5700313618786177705 הוא כתובת URL של המפתח Google LLC).
  • אם המפתח הוא מפתח SDK שרשום ב-Google Play SDK Index, יש להשתמש ב- כתובת ה-URL של Google Play SDK Index של ה-SDK (לדוגמה, https://play.google.com/sdks/details/com-google-android-gms-play-services-ads היא כתובת ה-URL של Google Play SDK Index של Google Mobile Ads (GMA) SDK).
  • אם המפתח רשום בחנות או במרשם אחר, חנות אפליקציות ניתן לספק כתובת URL או מזהה אחר.
  • אם המפתח לא רשום באף חנות אפליקציות, אפשר להשמיט את המאפיין הזה.

פרטי האפליקציה

החבילה app_info מכילה את צמדי המפתח/ערך הבאים:

title (חובה)
מחרוזת שמציינת את שם האפליקציה.
description (חובה)
מחרוזת שמציינת את מטרת האפליקציה ב-blob קריא לאנשים באנגלית.
contains_ads (חובה)
ערך בוליאני שמציין אם באפליקציה מוצגות מודעות.

privacy_policy (חובה)

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

מחרוזת שמכילה את אחת מקטגוריות האפליקציות הבאות שהכי מתאימות המטרה העיקרית של האפליקציה:

  • Android (רק לרכיב AOSP)*
  • אומנות ועיצוב
  • מכוניות וכלי רכב
  • טיפוח ויופי
  • ספרים ועיון
  • עסקים
  • קומיקס
  • תקשורת
  • היכרויות
  • חינוך
  • בידור
  • אירועים
  • פיננסים
  • מזון ומשקאות
  • משחק
  • בריאות וכושר
  • בית
  • מנהל התקנה (רק לחנות אפליקציות או למתקין אחר)*
  • ספריות והדגמות
  • סגנון חיים
  • מפות וניווט
  • רפואה
  • מוזיקה ואודיו
  • חדשות וכתבי-עת
  • הורות
  • התאמה אישית
  • צילום
  • פרודוקטיביות
  • אבטחה*
  • קניות
  • רשתות חברתיות
  • ספורט
  • כלים
  • נסיעות מקומיות ובין-לאומיות
  • Updater (רק לאפליקציית ברירת המחדל של המכשיר לעדכון אוויר (OTA))**
  • נגנים וכלי עריכה לווידאו
  • מזג אוויר
contact_info
אובייקט PersistableBundle שכולל פרטים ליצירת קשר עם האפליקציה (בהמשך).

פרטים ליצירת קשר

החבילה contact_info מכילה את צמדי המפתח/ערך הבאים:

email (חובה)
מחרוזת שמציינת את כתובת האימייל של האפליקציה.
website
מחרוזת שמציינת את האתר של האפליקציה.