Bersiaplah untuk menggunakan 12L, yaitu update fitur baru untuk perangkat layar besar yang akan hadir awal tahun depan. Coba sekarang juga!

Perubahan pada pencadangan dan pemulihan

Cara kerja pencadangan dan pemulihan di aplikasi yang berjalan dan menargetkan Android 12 mengalami perubahan. Ada dua bentuk pencadangan dan pemulihan Android:

  • Pencadangan cloud: Data pengguna disimpan di Google Drive pengguna agar dapat dipulihkan di perangkat tersebut atau di perangkat baru.
  • Transfer perangkat ke perangkat (D2D): Data pengguna dikirim langsung ke perangkat baru pengguna dari perangkat lama mereka, seperti dengan menggunakan kabel.

Untuk informasi selengkapnya tentang cara pencadangan dan pemulihan data, lihat Mencadangkan data pengguna dengan Pencadangan Otomatis dan Mencadangkan pasangan nilai kunci dengan Android Backup Service.

Perubahan fungsi transfer D2D

Untuk aplikasi yang berjalan di dan menargetkan Android 12 dan versi lebih tinggi:

  • Menentukan bahwa android:allowBackup="false" akan menonaktifkan pencadangan ke Google Drive, tetapi tidak menonaktifkan transfer D2D untuk aplikasi.

  • Menentukan aturan yang disertakan dan dikecualikan dengan mekanisme konfigurasi XML tidak lagi memengaruhi transfer D2D, meskipun masih memengaruhi pencadangan Google Drive. Untuk menentukan aturan transfer D2D, Anda harus menggunakan konfigurasi baru yang dibahas di bagian berikutnya.

Format baru yang disertakan dan dikecualikan

Aplikasi yang berjalan di dan menargetkan Android 12 dan versi yang lebih tinggi menggunakan format berbeda untuk konfigurasi XML. Format ini menjadi pembeda antara pencadangan Google Drive dan transfer D2D dengan mengharuskan Anda menentukan aturan yang disertakan dan dikecualikan secara terpisah untuk pencadangan cloud dan untuk transfer D2D.

Secara opsional, Anda juga dapat menggunakannya untuk menentukan aturan pencadangan yang dalam hal ini mengabaikan konfigurasi lama.

Perubahan format XML

Berikut adalah format yang digunakan untuk konfigurasi pencadangan dan pemulihan di Android 11 dan yang lebih lama:

<full-backup-content>
    <include domain=["file" | "database" | "sharedpref" | "external" |
                     "root"] path="string"
    requireFlags=["clientSideEncryption" | "deviceToDeviceTransfer"] />
    <exclude domain=["file" | "database" | "sharedpref" | "external" |
                     "root"] path="string" />
</full-backup-content>

Berikut ini menunjukkan perubahan dalam format yang dicetak tebal.

<data-extraction-rules>
  <cloud-backup [disableIfNoEncryptionCapabilities="true|false"]>
    ...
    <include domain=["file" | "database" | "sharedpref" | "external" |
                        "root"] path="string"/>
    ...
    <exclude domain=["file" | "database" | "sharedpref" | "external" |
                        "root"] path="string"/>
    ...
  </cloud-backup>
  <device-transfer>
    ...
    <include domain=["file" | "database" | "sharedpref" | "external" |
                        "root"] path="string"/>
    ...
    <exclude domain=["file" | "database" | "sharedpref" | "external" |
                        "root"] path="string"/>
    ...
  </device-transfer>
</data-extraction-rules>

Setiap bagian konfigurasi (<cloud-backup>, <device-transfer>) berisi aturan yang hanya berlaku untuk jenis transfer tertentu. Hal itu memungkinkan Anda, misalnya, mengecualikan file atau direktori dari pencadangan Google Drive sembari masih mentransfernya selama transfer D2D. Hal ini mungkin berguna jika Anda memiliki file berukuran terlalu besar untuk dicadangkan ke cloud, tetapi dapat ditransfer antar perangkat tanpa masalah.

Jika tidak ada aturan untuk mode pencadangan tertentu, seperti jika bagian <device-transfer> tidak ada, mode tersebut akan diaktifkan sepenuhnya untuk semua konten kecuali untuk direktori no-backup dan cache, seperti yang dijelaskan di File yang dicadangkan.

Aplikasi Anda dapat menetapkan flag disableIfNoEncryptionCapabilities di bagian <cloud-backup> untuk memastikan pencadangan hanya terjadi jika dapat dienkripsi, seperti saat pengguna memiliki layar kunci. Menyetel batasan ini akan mencegah cadangan dikirim ke cloud jika perangkat pengguna tidak dapat mendukung enkripsi. Akan tetapi, karena transfer D2D tidak dikirim ke server, pencadangan akan terus berjalan bahkan pada perangkat yang tidak mendukung enkripsi.

Flag manifes untuk aplikasi

Arahkan aplikasi ke konfigurasi XML baru menggunakan atribut android:dataExtractionRules di file manifes. Saat Anda mengarahkan kursor ke konfigurasi XML baru, atribut android:fullBackupContent yang mengarah ke konfigurasi lama akan diabaikan. Contoh kode berikut menunjukkan entri file manifes yang baru:

<application
    ...
    <!-- The below attribute is ignored. -->
    android:fullBackupContent="old_config.xml"
    <!-- You can point to your new configuration using the new
         dataExtractionRules attribute . -->
    android:dataExtractionRules="new_config.xml"
    ...>
</application>