应用元数据软件包的架构

Android 14 से, Android पैकेज इंस्टॉलर किसी ऐप्लिकेशन के मेटाडेटा को डाल सकता है. जैसे, डेटा की सुरक्षा के तरीके. इसका इस्तेमाल, Android प्लैटफ़ॉर्म की सुविधाओं में किया जा सकता है. जैसे, जगह की जानकारी की अनुमति देने के लिए अपडेट किया गया प्रॉम्प्ट.

यह मेटाडेटा दो तरीकों से दिया जा सकता है:

  • सिस्टम इमेज में पहले से लोड किए गए ऐप्लिकेशन के लिए, डिवाइस बनाने वाली कंपनियां ये काम कर सकती हैं: सिस्टम इमेज में एक्सएमएल फ़ाइल जोड़कर, ऐप्लिकेशन के बारे में मेटाडेटा दें मैनेज करने लायक बंडल के साथ, नीचे बताए गए हैं.

  • इंस्टॉल या अपडेट किए जा रहे ऐप्लिकेशन के लिए, इस मेटाडेटा की जानकारी देने के लिए, ऐप्लिकेशन इंस्टॉलर को एक PersistableBundle ऑब्जेक्ट setAppMetadata() तरीका.

सेव किए जा सकने वाले टॉप-लेवल बंडल में, ये की/वैल्यू पेयर होते हैं. जब तक अलग से न बताया गया हो, तब तक हर कुंजी ज़रूरी नहीं होती.

version (ज़रूरी)
ऐप्लिकेशन के मेटाडेटा फ़ॉर्मैट का वर्शन नंबर. इसके लिए वैल्यू के तौर पर 2 का इस्तेमाल करें मौजूदा वर्शन और long को प्रकार के रूप में शामिल करें. अगर अपेक्षित कुंजियां या सामग्री प्रकार AppMetadata में बदलाव करने पर, Android वर्शन नंबर बदल देगा.
safety_labels
PersistableBundle ऑब्जेक्ट जो ऐप्लिकेशन के सुरक्षा-लेबल के बारे में बताता है.
system_app_safety_label
एक PersistableBundle ऑब्जेक्ट जो ऐप्लिकेशन के सिस्टम ऐप्लिकेशन सुरक्षा लेबल. सिस्टम सेवा के तौर पर काम करने वाले ऐप्लिकेशन के लिए, safety_labels बंडल के बजाय, system_app_safety_label बंडल का इस्तेमाल किया गया है.
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

Calendar

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(ज़रूरी है)

पूर्णांकों की ऐसी कैटगरी जो इकट्ठा करने की खास वजहों के बारे में बताती है या डेटा शेयर करता है और PersistableBundle का इस्तेमाल करता है putIntArray तरीका. हर मकसद के लिए, यहां दिए गए मकसद में से कम से कम एक को शामिल करना ज़रूरी है बंडल.

  • 1: PURPOSE_APP_FunctionALITY
  • 2: PURPOSE_ANALYTICS
  • 3: PURPOSE_Developer_COMMUNICATIONS
  • 4: PURPOSE_FRAUD_PREVENTION_SECURITY
  • 5: PURPOSE_ADVERTISING
  • 6: PURPOSE_ SMS के साथ साइन इन करना
  • 7: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional

बूलियन मान. इससे यह तय होता है कि उपयोगकर्ता, डेटा इकट्ठा करने की प्रोसेस में शामिल होने या उससे ऑप्ट आउट करने के विकल्प में से, किसी एक को चुन सकते हैं या नहीं.

ध्यान दें: इस वैल्यू को सिर्फ़ उन data_category बंडल के लिए सेट करें जो डेटा इकट्ठा करने के बारे में बताते हैं. इसे डेटा शेयर करने के लिए सेट न करें.

ephemeral

बूलियन मान. इससे पता चलता है कि ऐप्लिकेशन, डेटा को प्रोसेस करने के लिए, डिस्क के बजाय सिर्फ़ मेमोरी का इस्तेमाल करता है या नहीं. साथ ही, यह भी पता चलता है कि डेटा को प्रोसेस करने के लिए, ऐप्लिकेशन उसे ज़रूरत से ज़्यादा समय तक सेव करके नहीं रखता.

ध्यान दें: इस वैल्यू को सिर्फ़ उन data_category बंडल के लिए सेट करें जो डेटा इकट्ठा करने के बारे में बताते हैं. इसे डेटा शेयर करने के लिए सेट न करें.

डेटा मिटाने और एन्क्रिप्ट (सुरक्षित) करने के तरीके

security_labels बंडल में की/वैल्यू पेयर होते हैं, जो ऐप्लिकेशन की डेटा मिटाने और एन्क्रिप्ट (सुरक्षित) करने के तरीके:

is_data_deletable
बूलियन वैल्यू. इससे पता चलता है कि ऐप्लिकेशन, उपयोगकर्ता को अनुरोध करने की अनुमति देता है या नहीं उपयोगकर्ता का डेटा मिट जाए.
is_data_encrypted
बूलियन वैल्यू. इससे पता चलता है कि ऐप्लिकेशन, उपयोगकर्ता का इकट्ठा किया गया सारा डेटा इकट्ठा करता है या नहीं ट्रांज़िट के दौरान एन्क्रिप्ट (सुरक्षित) किया जाता है.

तीसरे पक्ष के लिए पुष्टि करना

third_party_verification बंडल में एक कुंजी, url शामिल है. यूआरएल, एक स्ट्रिंग मान के रूप में दिखाया जाता है, इससे उस तृतीय-पक्ष वेबसाइट की जानकारी मिलती है जिसका उपयोग ऐप्लिकेशन के डेटा की सुरक्षा से जुड़ी जानकारी की पुष्टि करता है.

सिस्टम सर्विस सुरक्षा के लेबल का फ़ॉर्मैट

सिस्टम सेवा के तौर पर काम करने वाले ऐप्लिकेशन के लिए, safety_labels बंडल के बजाय system_app_safety_label बंडल का इस्तेमाल किया जाता है. इसमें ये की/वैल्यू पेयर शामिल होते हैं:

url (ज़रूरी है)

  • वह यूआरएल जो ऐसे पेज पर ले जाता है जिसमें ऐप्लिकेशन के लिए सुरक्षा से जुड़ी जानकारी होती है एक सिस्टम सेवा के रूप में काम करना.
  • टाइप के तौर पर, string का इस्तेमाल करें.
  • अगर यह नहीं दिया गया है, तो निजता नीति के यूआरएल का इस्तेमाल फ़ॉलबैक.
  • ध्यान दें: Google Play Store, फ़ॉलबैक के तौर पर privacy_policy का इस्तेमाल करता है.

पारदर्शिता की जानकारी का फ़ॉर्मैट

transparency_info बंडल में ये कुंजी/वैल्यू पेयर होते हैं:

developer_info
ऐसा PersistableBundle ऑब्जेक्ट जिसमें ऐप्लिकेशन डेवलपर के बारे में जानकारी दी गई हो.
app_info
PersistableBundle ऑब्जेक्ट, जो ऐप्लिकेशन के बारे में जानकारी देता है.

डेवलपर की जानकारी

developer_info बंडल में ये कुंजी/वैल्यू पेयर होते हैं:

developer_#
एक PersistableBundle ऑब्जेक्ट जो डेवलपर की पहचान करता है. कॉन्टेंट बनाने developer_info में एक या एक से ज़्यादा developer_# हैं, जहां # एक पूर्णांक है. उदाहरण के लिए developer_0, developer_1, developer_2 वगैरह.

Developer

developer_# बंडल में यह कुंजी/वैल्यू शामिल है जोड़े:

name (ज़रूरी है)
ऐसी स्ट्रिंग जो डेवलपर का नाम बताती है.
email (ज़रूरी है)
ऐसी स्ट्रिंग जो डेवलपर का ईमेल पता बताती है.
address (ज़रूरी है)
ऐसी स्ट्रिंग जिसमें डेवलपर का डाक पता होता है.
country_region (ज़रूरी है)
ऐसी स्ट्रिंग जो डेवलपर के देश या इलाके के बारे में जानकारी देती है.
website
डेवलपर की वेबसाइट के बारे में जानकारी देने वाली स्ट्रिंग.

app_registry

  • वह स्ट्रिंग जो डेवलपर के स्टोर या रजिस्ट्री की जानकारी देती है.
  • यदि डेवलपर किसी स्टोर या अन्य रजिस्ट्री में भी पंजीकृत है, तो मान यह स्टोर के Android पैकेज का नाम या रजिस्ट्री का यूआरएल होना चाहिए.
  • एक से ज़्यादा स्टोर के लिए एक से ज़्यादा एंट्री की अनुमति है.
  • Google Play के लिए, com.android.vending का इस्तेमाल करें.
  • अगर डेवलपर Google Play SDK इंडेक्स में दी गई सूची में मौजूद SDK टूल है, तो इसे छोड़ दें एट्रिब्यूट की वैल्यू सबमिट करें.
  • अगर कोई डेवलपर किसी ऐप स्टोर या रजिस्ट्री पर रजिस्टर नहीं है, तो इसे छोड़ दें एट्रिब्यूट की वैल्यू सबमिट करें.

app_registry_id

  • यह स्ट्रिंग, बताए गए app_registry के लिए डेवलपर के आईडी की जानकारी देती है.
  • अगर डेवलपर ने किसी स्टोर या अन्य रजिस्ट्री पर भी रजिस्टर किया है, तो वैल्यू के तौर पर उसके स्टोर या रजिस्ट्री की पहचान होनी चाहिए.
  • एक से ज़्यादा स्टोर के लिए एक से ज़्यादा एंट्री की अनुमति है.
  • Google Play पर रजिस्टर किए गए डेवलपर के लिए, यह वैल्यू यूआरएल होनी चाहिए को डाउनलोड किया जा सकता है (उदाहरण के लिए, https://play.google.com/store/apps/dev?id=5700313618786177705 डेवलपर Google LLC के लिए यूआरएल).
  • अगर डेवलपर, Google Play SDK Index में शामिल एसडीके डेवलपर है, तो एसडीके के Google Play SDK Index के यूआरएल का इस्तेमाल करें. उदाहरण के लिए, https://play.google.com/sdks/details/com-google-android-gms-play-services-ads, Google Mobile Ads (GMA) SDK के Google Play SDK Index का यूआरएल है.
  • अगर डेवलपर ने किसी अन्य स्टोर या रजिस्ट्री में रजिस्टर किया है, तो वह ऐप स्टोर यूआरएल या कोई दूसरा आइडेंटिफ़ायर दिया जा सकता है.
  • अगर डेवलपर किसी ऐप स्टोर पर रजिस्टर नहीं है, तो यह एट्रिब्यूट छोड़ा गया.

ऐप्लिकेशन की जानकारी

app_info बंडल में ये कुंजी/वैल्यू पेयर होते हैं:

title (ज़रूरी है)
ऐप्लिकेशन के टाइटल की जानकारी देने वाली स्ट्रिंग.
description (ज़रूरी है)
ऐसी स्ट्रिंग जिसमें अंग्रेज़ी में, टेक्स्ट के ऐसे ब्लॉब में ऐप्लिकेशन के मकसद के बारे में बताया गया हो जिसे कोई भी व्यक्ति पढ़ सके.
contains_ads (ज़रूरी है)
यह एक बूलियन है. इससे पता चलता है कि ऐप्लिकेशन पर कोई विज्ञापन दिखाया जाता है या नहीं.

privacy_policy (ज़रूरी है)

  • ऐसी स्ट्रिंग जिसमें निजता नीति से जुड़ा यूआरएल एट्रिब्यूट होता है साथ ही, यह बताया गया है कि उपयोगकर्ता के डेटा को कैसे मैनेज किया जाता है.
  • उन ऐप्लिकेशन के लिए ज़रूरी है जो उपयोगकर्ता का डेटा ट्रांसमिट करते हैं.
  • अगर ऐप्लिकेशन में यह लिंक नहीं है, तो माना जाता है कि ऐप्लिकेशन में यह लिंक नहीं है उपयोगकर्ता का डेटा मैनेज करते हैं.
category (ज़रूरी है)

ऐसी स्ट्रिंग जिसमें नीचे दी गई ऐप्लिकेशन कैटगरी में से कोई एक शामिल होती है. ऐप्लिकेशन के मुख्य मकसद के बारे में बताता है:

  • Android (सिर्फ़ एओएसपी कॉम्पोनेंट के लिए)*
  • कला और डिज़ाइन से जुड़े ऐप्लिकेशन
  • कार और वाहन
  • ब्यूटी
  • किताबों और संदर्भ वाले ऐप्लिकेशन
  • कारोबार
  • कॉमिक्स
  • बातचीत
  • डेटिंग
  • शिक्षा
  • मनोरंजन
  • इवेंट
  • फ़ाइनेंस
  • खान-पान
  • गेम
  • सेहत और फ़िटनेस
  • घर और घरेलू सामान
  • इंस्टॉलर (सिर्फ़ ऐप स्टोर या अन्य इंस्टॉलर के लिए)*
  • लाइब्रेरी और डेमो से जुड़े ऐप्लिकेशन
  • जीवनशैली
  • Sogou Maps और नेविगेशन
  • चिकित्सा
  • संगीत और ऑडियो से जुड़े ऐप्लिकेशन
  • खबरों और पत्रिकाओं से जुड़े ऐप्लिकेशन
  • परवरिश
  • वैयक्तिकरण
  • फ़ोटोग्राफ़ी
  • प्रॉडक्टिविटी
  • सुरक्षा*
  • खरीदारी
  • सोशल
  • खेल
  • टूल
  • यात्रा और स्थानीय सुविधाओं की जानकारी देने वाले ऐप्लिकेशन
  • अपडेटर (सिर्फ़ डिवाइस के डिफ़ॉल्ट ओवर-द-एयर (ओटीए) अपडेट ऐप्लिकेशन के लिए)*
  • वीडियो चलाने और उसमें बदलाव करने की सुविधा देने वाले ऐप्लिकेशन
  • मौसम
contact_info
ऐसा PersistableBundle ऑब्जेक्ट जिसमें ऐप्लिकेशन (नीचे) के लिए संपर्क जानकारी शामिल होती है.

संपर्क जानकारी

contact_info बंडल में ये कुंजी/वैल्यू पेयर होते हैं:

email (ज़रूरी है)
ऐप्लिकेशन का ईमेल पता बताने वाली स्ट्रिंग.
website
ऐप्लिकेशन की वेबसाइट की जानकारी देने वाली स्ट्रिंग.