应用元数据软件包的架构

ตั้งแต่ Android 14 เป็นต้นไป โปรแกรมติดตั้งแพ็กเกจ Android จะนำเข้าข้อมูลเมตาเกี่ยวกับ เช่น แนวทางปฏิบัติด้านความปลอดภัยของข้อมูล เพื่อใช้ในฟีเจอร์ต่างๆ ของแพลตฟอร์ม Android เช่น เป็นข้อความแจ้งสิทธิ์เข้าถึงตำแหน่งที่อัปเดตแล้ว

คุณระบุข้อมูลเมตานี้ได้ 2 วิธี ดังนี้

  • สำหรับแอปที่โหลดไว้ล่วงหน้าในอิมเมจระบบ ผู้ผลิตอุปกรณ์สามารถทำดังนี้ ระบุข้อมูลเมตาเกี่ยวกับแอปโดยการเพิ่มไฟล์ XML ลงในอิมเมจระบบ ด้วยแพ็กเกจแบบถาวรตามที่อธิบายไว้ด้านล่าง

  • สำหรับแอปที่ติดตั้งหรืออัปเดต หากต้องการระบุข้อมูลเมตานี้ แอป installers ควรส่งออบเจ็กต์ PersistableBundle ไปยัง setAppMetadata()

กลุ่มระดับบนสุดที่คงอยู่ได้ประกอบด้วยคู่คีย์/ค่าต่อไปนี้ แต่ละคีย์เป็นตัวเลือกได้ เว้นแต่จะระบุไว้เป็นอย่างอื่น

version (ต้องระบุ)
หมายเลขเวอร์ชันของรูปแบบข้อมูลเมตาของแอป ใช้ 2 เป็นค่าของ เวอร์ชันปัจจุบันและเป็นประเภท long หากคีย์หรือประเภทเนื้อหาที่คาดไว้ของAppMetadataมีการเปลี่ยนแปลง Android จะเปลี่ยนหมายเลขเวอร์ชัน
safety_labels
ออบเจ็กต์ PersistableBundle ที่ระบุ safety-labels
ของแอป
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

ข้อความอีเมลและ SMS

  • emails
  • text_messages
  • other

รูปภาพและวิดีโอ

  • photos
  • videos

เสียง

  • sound_recordings
  • music_files
  • other

พื้นที่เก็บข้อมูล

files_docs

การออกกำลังกายเพื่อสุขภาพ

  • health
  • fitness

รายชื่อติดต่อ

contacts

ปฏิทิน

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 วัตถุประสงค์ตามที่ระบุด้านล่าง

  • 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 ของนโยบายความเป็นส่วนตัวเป็น วิดีโอสำรอง
  • หมายเหตุ: Google Play Store จะใช้ privacy_policy เป็นรายการสำรอง

รูปแบบข้อมูลความโปร่งใส

กลุ่ม transparency_info มีคู่คีย์/ค่าต่อไปนี้

developer_info
ออบเจ็กต์ PersistableBundle ที่ระบุข้อมูลเกี่ยวกับแอป
app_info
ออบเจ็กต์ PersistableBundle ที่ระบุข้อมูลเกี่ยวกับแอป

ข้อมูลนักพัฒนาแอป

แพ็กเกจ developer_info มีคู่คีย์/ค่าต่อไปนี้

developer_#
ออบเจ็กต์ PersistableBundle ที่ระบุนักพัฒนาแอป developer_info มี developer_# อย่างน้อย 1 รายการ โดยที่ # เป็นจำนวนเต็ม ตัวอย่างเช่น developer_0 developer_1, developer_2 และอื่นๆ

นักพัฒนาซอฟต์แวร์

แพ็กเกจ developer_# มีคีย์/ค่าต่อไปนี้ คู่:

name (ต้องระบุ)
สตริงที่ระบุชื่อนักพัฒนาแอป
email (ต้องระบุ)
สตริงที่ระบุอีเมลของนักพัฒนาแอป
address (ต้องระบุ)
สตริงที่ระบุที่อยู่สำหรับจัดส่งของนักพัฒนาแอป
country_region (ต้องระบุ)
สตริงที่ระบุประเทศหรือภูมิภาคของนักพัฒนาแอป
website
สตริงที่ระบุเว็บไซต์ของนักพัฒนาซอฟต์แวร์

app_registry

  • สตริงที่ระบุ Store หรือรีจิสทรีของนักพัฒนาแอป
  • หากนักพัฒนาแอปลงทะเบียนใน Store หรือรีจิสทรีอื่นๆ ด้วย ค่าควรเป็นชื่อแพ็กเกจ Android ของ Store หรือ URL ของรีจิสทรี
  • อนุญาตให้มีข้อมูลหลายรายการสำหรับร้านค้าหลายร้าน
  • สำหรับ Google Play ให้ใช้ com.android.vending
  • หากนักพัฒนาแอปเป็น SDK ที่ระบุไว้ในดัชนี SDK ของ Google Play อย่าใส่ข้อมูลนี้
  • หากนักพัฒนาแอปไม่ได้ลงทะเบียนใน App Store หรือรีจิสทรีใดๆ ให้ละเว้นแอตทริบิวต์นี้

app_registry_id

  • สตริงที่ระบุรหัสของนักพัฒนาซอฟต์แวร์สำหรับ app_registry ที่ระบุ
  • หากนักพัฒนาแอปลงทะเบียนในร้านค้าหรือรีจิสทรีอื่นๆ ด้วย ค่า ควรเป็นข้อมูลประจำตัวของร้านค้าหรือบริษัทรับจดทะเบียน
  • อนุญาตให้ใช้รหัสหลายร้านสำหรับร้านค้าหลายร้านได้
  • สำหรับนักพัฒนาแอปที่ลงทะเบียนกับ Google Play ค่านี้ต้องเป็น URL ของหน้าสำหรับนักพัฒนาแอป (เช่น https://play.google.com/store/apps/dev?id=5700313618786177705 คือ URL สำหรับนักพัฒนาซอฟต์แวร์ Google LLC)
  • หากนักพัฒนาซอฟต์แวร์เป็นนักพัฒนาซอฟต์แวร์ SDK ที่มีรายชื่ออยู่ในดัชนี SDK ของ Google Play ให้ใช้ URL ดัชนี SDK ของ Google Play ของ SDK (เช่น https://play.google.com/sdks/details/com-google-android-gms-play-services-ads คือ URL ดัชนี SDK ของ Google Play ของ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google (GMA)
  • หากนักพัฒนาแอปจดทะเบียนใน Store หรือรีจิสทรีอื่น คุณสามารถระบุ URL ของ App Store หรือตัวระบุอื่นๆ ได้
  • หากนักพัฒนาแอปไม่ได้ลงทะเบียนใน App Store ใดๆ แอตทริบิวต์นี้จะเป็น ละเว้น

ข้อมูลแอป

แพ็กเกจ app_info มีคู่คีย์/ค่าต่อไปนี้

title (ต้องระบุ)
สตริงที่ระบุชื่อแอป
description (ต้องระบุ)
สตริงที่ระบุวัตถุประสงค์ของแอปในรูปแบบข้อความที่มนุษย์อ่านได้ เป็นภาษาอังกฤษเท่านั้น
contains_ads (ต้องระบุ)
บูลีนที่ประกาศว่าแอปแสดงโฆษณาหรือไม่

privacy_policy (ต้องระบุ)

  • สตริงที่มีแอตทริบิวต์ URL ที่ลิงก์ไปยังนโยบายความเป็นส่วนตัว รายละเอียดวิธีจัดการข้อมูลผู้ใช้
  • จำเป็นสำหรับแอปที่ส่งข้อมูลผู้ใช้
  • หากแอปไม่มีลิงก์นี้ ระบบจะถือว่าแอปไม่ได้จัดการข้อมูลผู้ใช้
category (ต้องระบุ)

สตริงที่มีหมวดหมู่แอปใดหมวดหมู่หนึ่งต่อไปนี้ที่ดีที่สุด อธิบายวัตถุประสงค์หลักของแอป

  • Android (สำหรับคอมโพเนนต์ AOSP เท่านั้น)*
  • ศิลปะและการออกแบบ
  • รถยนต์และยานพาหนะ
  • ความงาม
  • หนังสือและข้อมูลอ้างอิง
  • ธุรกิจ
  • หนังสือการ์ตูน
  • การสื่อสาร
  • ออกเดท
  • การศึกษา
  • ความบันเทิง
  • กิจกรรม
  • การเงิน
  • อาหารและเครื่องดื่ม
  • เกม
  • สุขภาพและการออกกำลังกาย
  • บ้านและที่พักอาศัย
  • โปรแกรมติดตั้ง (สำหรับ App Store หรือโปรแกรมติดตั้งอื่นๆ เท่านั้น)*
  • ไลบรารีและการสาธิต
  • ไลฟ์สไตล์
  • แผนที่และการนำทาง
  • การแพทย์
  • เพลงและเสียง
  • ข่าวสารและนิตยสาร
  • การเลี้ยงดูบุตร
  • การปรับเปลี่ยนในแบบของคุณ
  • การถ่ายภาพ
  • ประสิทธิภาพการทำงาน
  • ความปลอดภัย*
  • ช็อปปิ้ง
  • โซเชียล
  • กีฬา
  • เครื่องมือ
  • การเดินทางและท้องถิ่น
  • โปรแกรมอัปเดต (สำหรับแอปอัปเดตผ่านอากาศ (OTA) เริ่มต้นของอุปกรณ์เท่านั้น)*
  • โปรแกรมเล่นและตัดต่อวิดีโอ
  • สภาพอากาศ
contact_info
ออบเจ็กต์ PersistableBundle ที่มีข้อมูลติดต่อสำหรับแอป (ด้านล่าง)

ข้อมูลติดต่อ

แพ็กเกจ contact_info มีคู่คีย์/ค่าต่อไปนี้

email (ต้องระบุ)
สตริงที่ระบุอีเมลของแอป
website
สตริงที่ระบุเว็บไซต์สำหรับแอป