Contoh lanjutan

Bagian ini mengasumsikan bahwa Anda telah menyelesaikan panduan hello world. Panduan ini akan memandu Anda mengonversinya menjadi implementasi penuh. Halaman tersebut sering kali tertaut ke bagian referensi pengembangan dari dokumen ini.

Ganti logika dari contoh hello world untuk logika lintas profil yang sebenarnya

Jangan ragu untuk membiarkannya berantakan dan jangan khawatir tentang praktik terbaik seperti kemampuan pengujian. Pastikan untuk memeriksa apakah kode tersebut berfungsi.

Hal ini mencakup mengubah class lintas profil, panggilan lintas profil, dan penyedia. Jika memerlukan Context dalam metode penyedia atau konstruktor class penyedia, Anda dapat menambahkannya sebagai parameter dan SDK akan otomatis menyediakannya.

Anda harus memutuskan apakah panggilan akan asinkron atau sinkron . Anda juga harus memastikan bahwa semua parameter dan jenis nilai yang digunakan oleh panggilan lintas profil Anda didukung.

Faktorkan ulang logika Anda agar memiliki arsitektur yang dapat Anda kirimkan

Baca setiap saran arsitektur terlebih dahulu agar Anda tidak perlu melakukan beberapa pemfaktoran ulang yang bertentangan. Setelah Anda merencanakan setiap perubahan, pelajari kembali dan centang semuanya, bangun ulang, dan lakukan pengujian setelah setiap perubahan.

Memeriksa kembali privasi dan keamanan

Periksa kembali apakah Anda tidak berisiko menyimpan data di profil yang salah atau mengirim data ke server (termasuk logging server) dari profil yang salah.

  • Pertimbangkan untuk menetapkan profil sebagai utama untuk menyederhanakan panggilan Anda. Pikirkan apa yang akan terjadi jika logika Anda dijalankan di salah satu profil.
  • Muat ulang UI Anda saat ketersediaan profil lain berubah.
  • Tinjau diskusi tentang pengecualian jika Anda perlu mengambil tindakan.
  • Jika Anda memperkirakan pengguna mungkin hanya menggunakan ikon aplikasi di salah satu dari dua profil, tambahkan atribut Manifes android:crossProfile = "true". Hal ini mencegah aplikasi yang tidak langsung digunakan oleh pengguna didelegasikan ke bucket aplikasi standby yang lebih rendah.

Menambahkan pengujian

Lihat dokumentasi pengujian.

Pertimbangkan izin

  • Jika aplikasi Anda izin penuh, alihkan izin dari INTERACT_ACROSS_USERS ke INTERACT_ACROSS_PROFILES dan terapkan permintaan izin dari pengguna. Aplikasi yang mendeklarasikan INTERACT_ACROSS_PROFILES tidak dapat diupload ke Play Store hingga diizinkan, sehingga perubahan manifes ini harus berada di belakang tanda hingga hal ini dilakukan.

  • Jika aplikasi Anda diberi izin sebelumnya, Anda mungkin juga ingin melakukannya jika ingin meminta pengguna yang sebelumnya menonaktifkannya (tetapi harus bertanggung jawab - jangan mengirim spam kepada pengguna).