Android 14 bersiap untuk membuat pengalaman menjadi lebih baik bagi pengguna toko aplikasi pihak ketiga berkat API baru.
Google Play sejauh ini merupakan toko aplikasi paling populer di kalangan pengguna Android, tetapi beberapa orang mungkin berpendapat bahwa itu tidak mendapatkan posisi teratas secara adil. Google telah diteliti oleh badan pengatur dan badan pembuat undang-undang di seluruh dunia karena bagaimana ia mempertahankan dominasi toko aplikasinya, dan tidak ada tanda-tanda tekanan ini akan mereda kapan saja segera. Itu mungkin mengapa Google mengambil inisiatif untuk memperkenalkan fitur baru Android 14 yang meningkatkan pengalaman bagi pengguna toko aplikasi pihak ketiga.
Sebagian besar toko aplikasi pihak ketiga di Android tidak benar-benar bersaing dengan Google Play, dan itu bukan hanya karena pilihan aplikasi mereka. Sementara app store pihak pertama yang telah diinstal sebelumnya selalu memiliki kemampuan untuk melakukan pembaruan app otomatis, app store pihak ketiga baru-baru ini dapat melakukan update tanpa pengawasan. Google menambahkan
API di Android 12 yang memungkinkan toko aplikasi pihak ketiga memperbarui aplikasi tanpa memerlukan tindakan pengguna, mengurangi gesekan menggunakan toko aplikasi pihak ketiga.Namun, ini masih meninggalkan toko aplikasi pihak ketiga pada kerugian besar dalam hal fungsionalitas, karena mereka tidak dapat dengan mudah mengetahuinya Kapan akan aman untuk benar-benar melakukan pembaruan otomatis. Itulah yang coba dipecahkan oleh Google di Android 14 dengan API baru yang memungkinkan toko aplikasi pihak ketiga melakukan "pembaruan ringan".
Pembaruan lembut
Android 14 telah menambahkan API baru yang memungkinkan toko aplikasi pihak ketiga memeriksa apakah kondisi tertentu terpenuhi sebelum memperbarui aplikasi secara otomatis. Itu Pemasang Paket. InstallConstraints API “dapat digunakan oleh toko aplikasi untuk mengirimkan pembaruan otomatis tanpa mengganggu pengalaman pengguna (disebut sebagai pembaruan ringan) - misalnya, toko aplikasi mungkin menunda pembaruan saat menemukan [sic] aplikasi yang akan diperbarui berinteraksi dengan pengguna."
API baru ini memungkinkan toko aplikasi pihak ketiga memeriksa apakah aplikasi yang mereka siapkan untuk diperbarui memiliki layanan latar depan yang aktif (isRequireAppNotForeground), berinteraksi dengan pengguna dalam beberapa cara (isRequireAppNotInteracting), atau ada di layar (isRequireAppNotTopVisible). Toko aplikasi pihak ketiga juga dapat memeriksa apakah perangkat dalam mode istirahat (isRequireDeviceIdle) atau sedang menelepon (isRequireNotInCall).
Sementara API memungkinkan untuk menentukan kondisi apa yang harus diperiksa, dokumentasi merekomendasikan penggunaan batasan yang telah ditetapkan sebagai “sistem tahu cara terbaik untuk melakukannya.” Ini logis mengingat Google memiliki banyak waktu untuk mengembangkan cara terbaik menangani pembaruan otomatis di toko aplikasinya sendiri. Menggunakan prasetel juga bermanfaat, seperti dicatat oleh dokumentasi, karena keakuratan dan efisiensi pembaruan halus dapat ditingkatkan di rilis mendatang jika Google menambahkan lebih banyak batasan pada API.
Setiap kondisi yang PackageInstaller. InstallConstaints API memungkinkan pemeriksaan sudah dapat diperiksa melalui API yang ada, tetapi memiliki sistem yang menangani pemeriksaan ini jauh lebih mudah dan tidak terlalu mengganggu. Misalnya, toko aplikasi pihak ketiga yang ingin memeriksa apakah aplikasi yang mereka perbarui digunakan secara aktif oleh pengguna saat ini harus menggunakan API seperti UsageStats atau AccessibilityService, keduanya sensitif izin. Namun, jika mereka menggunakan API Android 14 baru ini, mereka tidak memerlukan izin ini untuk melakukan pekerjaan mereka.
Perbarui kepemilikan
Mengaktifkan "pembaruan ringan" bukan satu-satunya peningkatan di Android 14 untuk toko aplikasi pihak ketiga. Ada juga mekanisme "pembaruan kepemilikan" baru yang memungkinkan toko aplikasi pihak ketiga menjadi sumber eksklusif pembaruan otomatis di masa mendatang untuk aplikasi yang pertama kali mereka instal. Ini berarti bahwa jika Anda menggunakan toko aplikasi pihak ketiga karena aplikasi yang tersedia melaluinya diperiksa oleh komunitas, misalnya, maka pembaruan yang belum diperiksa yang tersedia melalui toko aplikasi lain tidak akan didorong secara otomatis perangkat Anda.
Saat ini, saat Anda memasang aplikasi melalui toko aplikasi pihak ketiga, tidak ada yang mencegah toko aplikasi pihak pertama memperbarui aplikasi tersebut. Sementara API pembaruan tanpa pengawasan Android 12 hanya memungkinkan toko aplikasi pihak ketiga secara diam-diam memperbarui aplikasi yang pertama kali mereka pasang, toko aplikasi pihak pertama tidak terpengaruh karena memegang hak istimewa INSTALL_PACKAGES izin.
Toko aplikasi pihak ketiga di Android 14 dapat menggunakan yang baru setRequestUpdateOwnership metode di Pemasang Paket. SessionParams, namun, untuk memberi tahu sistem bahwa mereka mengklaim memperbarui kepemilikan atas aplikasi yang akan mereka pasang. Setelah pemberlakuan pembaruan kepemilikan diaktifkan untuk aplikasi, semua toko aplikasi lain — bahkan yang memiliki izin INSTALL_PACKAGES — memerlukan tindakan dari pengguna untuk memperbarui aplikasi. Perbarui kepemilikan hanya dapat diaktifkan selama penginstalan awal aplikasi, jadi toko aplikasi lain tidak akan dapat mengambil alih pembaruan kecuali aplikasi yang dimaksud dicopot dan diinstal ulang dari situ toko. Toko aplikasi dapat memeriksa apakah kepemilikan pembaruan diaktifkan untuk suatu aplikasi, dan jika demikian, aplikasi mana yang merupakan pemilik pembaruan, melalui yang baru InstallSourceInfo#getUpdateOwnerPackageName() API.
Toko aplikasi pihak ketiga harus menyimpan yang baru ENFORCE_UPDATE_OWNERSHIP izin untuk menggunakan API pemberlakuan kepemilikan pembaruan, tetapi karena izin ini memiliki tingkat perlindungan "normal", izin ini akan diberikan oleh sistem pada waktu penginstalan. Namun, masih harus dilihat apakah Google Play akan mengaudit penggunaan izin/API ini.
Instal pra-persetujuan
API Android 14 baru terakhir yang ingin saya soroti adalah Pemasang Paket. Session#requestUserPreapproval. API ini memungkinkan toko aplikasi pihak ketiga meminta persetujuan pengguna sebelum melakukan sesi penginstalan. Saya membayangkan ini akan berguna untuk toko aplikasi pihak ketiga yang dengan sengaja ingin meminta pengguna sebelum memperbarui aplikasi di latar belakang.
Misalnya, bayangkan toko aplikasi yang berfokus pada keamanan ingin memberi tahu penggunanya saat pembaruan aplikasi menambahkan izin baru; alih-alih memperbarui aplikasi itu secara otomatis, sehingga secara otomatis memberikan izin itu jika tingkat perlindungannya "normal", toko aplikasi dapat meminta pengguna sebelum melakukan pembaruan. Saat ini, jika pengguna tidak hadir selama pembaruan otomatis, app store pihak ketiga harus melacak sesi pemasangan dan memintanya nanti. API ini menyederhanakan proses itu.
Android 14 akan memperkenalkan banyak fitur dan API baru saat dirilis ke publik akhir tahun ini. Meskipun API baru ini tidak disembunyikan seperti beberapa perubahan lain yang kami temukan, tidak ada jaminan bahwa API ini akan tersedia untuk pengembang dalam rilis stabil. Itu karena pembekuan API tidak akan terjadi hingga Android 14 mencapai "stabilitas platform" dengan Beta 3 pada Juni 2023, dan saat ini kami hanya menggunakan DP1. Kami akan mengawasi rilis Android 14 DP dan Beta di masa mendatang untuk melihat apakah API ini bertahan atau jika ada API baru yang relevan dengan app store pihak ketiga ditambahkan.