Praktik terbaik untuk ID unik

Dokumen ini memberikan panduan memilih ID yang sesuai untuk aplikasi Anda, berdasarkan kasus penggunaan.

Untuk pembahasan umum tentang izin Android, lihat Ringkasan izin. Untuk praktik terbaik khusus mengenai penggunaan izin Android, lihat Praktik terbaik untuk izin aplikasi.

Praktik terbaik untuk penggunaan ID Android

Untuk melindungi privasi pengguna, gunakan ID paling ketat yang memenuhi kasus penggunaan aplikasi Anda. Secara khusus, ikuti praktik terbaik berikut:

  1. Pilih ID yang dapat direset oleh pengguna jika memungkinkan. Aplikasi Anda dapat mencapai sebagian besar kasus penggunaannya bahkan saat menggunakan ID selain ID hardware yang tidak dapat direset.
  2. Hindari menggunakan ID hardware. Pada sebagian besar kasus penggunaan, Anda dapat menghindari penggunaan ID hardware, seperti International Mobile Equipment Identity (IMEI), tanpa membatasi fungsi yang diperlukan.

    Android 10 (API level 29) menambahkan batasan untuk ID yang tidak dapat direset, yang mencakup IMEI dan nomor seri. Aplikasi Anda harus berupa perangkat atau aplikasi pemilik profil, memiliki izin operator khusus, atau memiliki izin hak istimewa READ_PRIVILEGED_PHONE_STATE untuk mengakses ID ini.

  3. Hanya gunakan ID Iklan untuk profiling pengguna atau kasus penggunaan iklan. Saat menggunakan ID Iklan, selalu hormati pilihan pengguna terkait pelacakan iklan. Jika Anda harus menghubungkan ID iklan dengan informasi identitas pribadi, lakukan hanya dengan izin eksplisit dari pengguna.

  4. Jangan menjembatani reset ID Iklan.

  5. Gunakan ID penginstalan Firebase (FID) atau GUID yang disimpan secara pribadi jika memungkinkan untuk semua kasus penggunaan lainnya, kecuali telepon dan pencegahan penipuan pembayaran. Untuk sebagian besar kasus penggunaan non-iklan, FID atau GUID seharusnya mencukupi.

  6. Gunakan API yang sesuai pada kasus penggunaan Anda untuk meminimalkan risiko privasi. Gunakan DRM API untuk perlindungan konten bernilai tinggi dan Play Integrity API untuk perlindungan dari penyalahgunaan. Play Integrity API adalah cara termudah untuk menentukan apakah perangkat asli tanpa menyebabkan risiko privasi.

Bagian selanjutnya dari panduan ini menguraikan aturan tersebut dalam konteks mengembangkan aplikasi Android.

Menggunakan ID iklan

ID Iklan adalah ID yang dapat di-reset oleh pengguna dan sesuai untuk kasus penggunaan iklan. Namun, ada beberapa poin utama yang perlu diingat saat Anda menggunakan ID ini:

Selalu hormati maksud pengguna dalam mereset ID iklan. Jangan mengaitkan suatu tindakan reset pengguna dengan menggunakan ID lain atau sidik jari untuk menautkan beberapa ID Iklan yang digunakan berurutan tanpa persetujuan pengguna. Kebijakan Konten Developer Google Play menyatakan berikut ini:

"...saat mereset, ID iklan baru tidak boleh terkait dengan ID iklan sebelumnya atau data yang berasal dari ID iklan sebelumnya tanpa persetujuan eksplisit dari pengguna."

Selalu hormati preferensi Iklan yang Dipersonalisasi terkait. ID Iklan dapat dikonfigurasi sehingga pengguna dapat membatasi jumlah pelacakan yang terkait dengan ID tersebut. Selalu gunakan metode AdvertisingIdClient.Info.isLimitAdTrackingEnabled() untuk memastikan Anda tidak melanggar keinginan pengguna. Kebijakan Konten Developer Google Play menyatakan berikut ini:

"...Anda harus mematuhi setelan 'Memilih tidak ikut periklanan menurut minat' atau 'Memilih tidak ikut Personalisasi Iklan' pengguna. Jika pengguna telah mengaktifkan setelan ini, Anda tidak boleh menggunakan ID iklan tersebut untuk membuat profil pengguna demi tujuan periklanan, atau untuk menargetkan pengguna dengan periklanan yang dipersonalisasi. Aktivitas yang diizinkan mencakup pengiklanan kontekstual, pembatasan frekuensi, pelacakan konversi, pelaporan dan keamanan, serta deteksi penipuan".

Waspadalah terhadap segala kebijakan keamanan atau privasi terkait SDK yang Anda gunakan dan terkait dengan penggunaan ID iklan. Misalnya, jika Anda meneruskan true ke dalam metode enableAdvertisingIdCollection() dari SDK Google Analytics, pastikan untuk meninjau dan mematuhi semua kebijakan SDK Analytics yang berlaku.

Perlu diketahui juga, bahwa Kebijakan Konten Developer Google Play mengharuskan ID Iklan "tidak boleh terhubung dengan informasi identitas pribadi atau terkait dengan ID perangkat persisten (misalnya: SSAID, alamat MAC, IMEI, dll.,)."

Misalnya, anggap saja Anda ingin mengumpulkan informasi untuk mengisi tabel database dengan kolom berikut:

TABLE-01
timestamp ad_id account_id clickid
TABLE-02
account_id name dob country

Dalam contoh ini, kolom ad_id dapat digabungkan dengan PII melalui kolom account_id di kedua tabel, yang merupakan pelanggaran terhadap Kebijakan Konten Developer Google Play, jika Anda tidak mendapatkan izin eksplisit dari pengguna.

Perlu diingat bahwa hubungan antara ID Iklan dan PII tidak selalu eksplisit seperti ini. Dimungkinkan untuk memiliki “ID-semu” yang terlihat pada tabel yang menyertakan PII dan ID Iklan, dan ini juga menyebabkan masalah. Misalnya, anggap saja kita mengubah TABLE-01 dan TABLE-02 sebagai berikut:

TABLE-01
timestamp ad_id clickid dev_model
TABLE-02
timestamp demo account_id dev_model name

Dalam kasus ini, dengan peristiwa klik yang cukup jarang, masih mungkin untuk menggabungkan antara TABLE-01 ID Iklan dan PII yang ada di TABLE-02 menggunakan stempel waktu peristiwa dan model perangkat.

Meski sering kali sulit untuk menjamin bahwa tidak ada ID-semu dalam set data, Anda dapat mencegah risiko penggabungan yang paling jelas dengan menggeneralisasi data yang unik jika memungkinkan. Dalam contoh sebelumnya, ini berarti mengurangi akurasi stempel waktu sehingga beberapa perangkat dengan model yang sama muncul untuk setiap stempel waktu.

Solusi lain mencakup berikut ini:

  • Tidak mendesain tabel yang secara eksplisit menautkan PII dengan ID Iklan. Pada contoh pertama di atas, ini berarti tidak menyertakan kolom account_id pada TABLE-01.

  • Memisahkan dan memantau daftar kontrol akses untuk pengguna atau peran yang memiliki akses ke data yang menyertakan ID Iklan dan PII. Dengan mengontrol dan mengaudit kemampuan untuk mengakses kedua sumber secara bersamaan (misalnya, dengan melakukan penggabungan di antara tabel), Anda mengurangi risiko pengaitan antara ID Iklan dan PII. Secara umum, mengontrol akses berarti melakukan hal berikut:

    1. Menjaga agar daftar kontrol akses (ACL) untuk data yang menyertakan ID Iklan dan PII tetap terpisah untuk meminimalkan jumlah individu atau peran yang ada di kedua ACL.
    2. Mengimplementasikan logging akses dan audit untuk mendeteksi dan mengelola setiap pengecualian untuk aturan ini.

Untuk mengetahui informasi selengkapnya tentang menggunakan ID Iklan secara bertanggung jawab, lihat referensi API AdvertisingIdClient.

Bekerja dengan FID dan GUID

Solusi paling mudah untuk mengidentifikasi instance aplikasi yang berjalan di perangkat adalah dengan menggunakan ID penginstalan Firebase (FID), dan ini merupakan solusi yang direkomendasikan pada sebagian besar kasus penggunaan non-iklan. Hanya instance aplikasi yang telah disediakan yang dapat mengakses ID ini, dan ID ini (relatif) mudah direset karena hanya bertahan selama aplikasi diinstal.

Hasilnya, FID memberikan properti privasi yang lebih baik dibandingkan dengan ID hardware cakupan perangkat yang tidak dapat direset. Untuk mengetahui informasi selengkapnya, lihat referensi API firebase.installations.

Jika tidak memungkinkan FID, Anda juga dapat menggunakan ID unik global (GUID) kustom untuk mengidentifikasi instance aplikasi secara unik. Cara termudah untuk melakukannya adalah dengan membuat GUID sendiri menggunakan kode berikut:

Kotlin

var uniqueID = UUID.randomUUID().toString()

Java

String uniqueID = UUID.randomUUID().toString();

Karena ID bersifat unik secara global, ID juga dapat digunakan untuk mengidentifikasi instance aplikasi tertentu. Untuk menghindari masalah yang terkait dengan menghubungkan ID ke berbagai aplikasi, simpan GUID di penyimpanan internal, bukan penyimpanan eksternal (bersama). Untuk informasi selengkapnya, lihat halaman Ringkasan penyimpanan data dan file.

Jangan menggunakan alamat MAC

Alamat MAC bersifat unik secara global, tidak dapat di-reset pengguna, dan tidak dapat dihapus meski dilakukan reset ke setelan pabrik. Oleh karena itu, untuk melindungi privasi pengguna, pada Android versi 6 dan yang lebih tinggi, akses ke alamat MAC dibatasi untuk aplikasi sistem. Aplikasi pihak ketiga tidak dapat mengaksesnya.

Perubahan ketersediaan alamat MAC di Android 11

Pada aplikasi yang menargetkan Android 11 dan yang lebih tinggi, pengacakan MAC untuk jaringan Passpoint adalah per profil Passpoint, yang menghasilkan alamat MAC unik berdasarkan kolom berikut:

  • Nama domain yang sepenuhnya memenuhi syarat (FQDN)
  • Ranah
  • Kredensial, berdasarkan kredensial yang digunakan di profil Passpoint:
    • Kredensial pengguna: nama pengguna
    • Kredensial sertifikat: jenis sertifikat dan sertifikat
    • Kredensial SIM: Jenis EAP dan IMSI

Selain itu, aplikasi yang tidak memiliki hak istimewa tidak dapat mengakses alamat MAC perangkat. Hanya antarmuka jaringan dengan alamat IP yang akan terlihat. Hal ini memengaruhi metode getifaddrs() dan NetworkInterface.getHardwareAddress(), serta pengiriman pesan Netlink RTM_GETLINK.

Berikut adalah daftar tentang bagaimana aplikasi terpengaruh oleh perubahan ini:

  • NetworkInterface.getHardwareAddress() menampilkan null untuk setiap antarmuka.
  • Aplikasi tidak dapat menggunakan fungsi bind() pada soket NETLINK_ROUTE.
  • Perintah ip tidak menampilkan informasi tentang antarmuka.
  • Aplikasi tidak dapat mengirim pesan RTM_GETLINK.

Perlu diperhatikan bahwa sebagian besar developer harus menggunakan API ConnectivityManager dengan level lebih tinggi, bukan API level lebih rendah seperti NetworkInterface, getifaddrs(), atau soket Netlink. Misalnya, aplikasi yang memerlukan informasi terbaru tentang rute saat ini dapat memperoleh informasi ini dengan memproses perubahan jaringan menggunakan ConnectivityManager.registerNetworkCallback() dan memanggil LinkProperties.getRoutes() terkait dari jaringan.

Karakteristik ID

OS Android menyediakan sejumlah ID dengan karakteristik perilaku berbeda. ID yang harus Anda gunakan bergantung pada cara karakteristik berikut berfungsi dengan kasus penggunaan Anda. Namun, karakteristik tersebut juga disertai dengan implikasi privasi, jadi, penting untuk memahami cara karakteristik tersebut berinteraksi satu sama lain.

Cakupan

Cakupan ID menjelaskan sistem mana yang dapat mengakses ID. Cakupan ID Android umumnya dibagi menjadi tiga kategori:

  • Satu aplikasi: Ini adalah ID internal aplikasi dan tidak dapat diakses oleh aplikasi lain.
  • Grup aplikasi: ID dapat diakses oleh grup aplikasi terkait yang telah ditentukan.
  • Perangkat: ID dapat diakses oleh semua aplikasi yang diinstal di perangkat.

Semakin luas cakupan yang diberikan ke ID, semakin besar risiko untuk digunakan demi tujuan pelacakan. Sebaliknya, jika ID hanya dapat diakses oleh instance satu aplikasi, ID tidak dapat digunakan untuk melacak perangkat di berbagai transaksi dalam aplikasi yang berbeda.

Kemampuan reset dan persistensi

Kemampuan reset dan persistensi menentukan masa aktif ID dan menjelaskan cara ID dapat di-reset. Pemicu reset umum mencakup: reset dalam aplikasi, reset melalui Setelan Sistem, reset saat peluncuran, dan reset saat penginstalan. ID Android dapat memiliki masa aktif yang berbeda, tetapi masa aktifnya biasanya terkait dengan cara ID di-reset.

  • Khusus sesi: ID baru digunakan setiap kali pengguna memulai ulang aplikasi.
  • Reset saat instal: ID baru digunakan setiap kali pengguna meng-uninstal dan menginstal ulang aplikasi.
  • Reset saat FDR: ID baru digunakan setiap kali pengguna melakukan reset ke setelan pabrik.
  • Persisten saat FDR: ID tidak dapat dihapus meski telah dilakukan reset ke setelan pabrik.

Kemampuan reset menyebabkan pengguna dapat membuat ID baru yang tidak terkait dengan informasi profil yang sudah ada. Semakin lama dan semakin andal suatu ID bertahan, seperti ID yang bertahan setelah beberapa kali reset ke setelan pabrik, semakin besar risiko pengguna mengalami pelacakan jangka panjang. Jika ID di-reset saat penginstalan ulang, tindakan ini mengurangi persistensi dan memberikan cara agar ID di-reset, meski tidak terdapat kontrol pengguna yang eksplisit untuk mereset dari dalam aplikasi atau Setelan Sistem.

Keunikan

Keunikan menciptakan kemungkinan konflik, yaitu bahwa ID yang identik ada dalam cakupan terkait. Pada tingkat yang paling tinggi, ID unik global tidak akan mengalami konflik, bahkan pada perangkat atau aplikasi lain. Jika tidak, tingkat keunikan bergantung pada entropi ID dan sumber acak yang digunakan untuk membuatnya. Misalnya, peluang konflik jauh lebih tinggi untuk ID acak yang ditambahi tanggal kalender penginstalan (seperti 2019-03-01) daripada untuk ID yang ditambahi stempel waktu Unix penginstalan (seperti 1551414181).

Secara umum, ID akun pengguna dapat dianggap unik. Artinya, setiap perangkat/kombinasi akun memiliki ID unik. Di sisi lain, semakin tidak unik suatu ID dalam populasi, semakin besar perlindungan privasi karena kurang berguna untuk melacak pengguna individu.

Perlindungan integritas dan non-repudiability

Anda dapat menggunakan ID yang sulit untuk di-spoofing atau diputar ulang guna membuktikan bahwa perangkat atau akun terkait memiliki properti tertentu. Misalnya, Anda dapat membuktikan bahwa suatu perangkat bukan perangkat virtual yang digunakan oleh spammer. ID yang sulit untuk di-spoofing juga memberikan non-repudiability. Jika perangkat menandatangani pesan dengan kunci rahasia, akan sulit untuk mengklaim bahwa perangkat orang lain yang mengirim pesan tersebut. Non-repudiability dapat menjadi fitur yang diinginkan oleh pengguna, seperti saat mengautentikasi pembayaran, atau dapat menjadi properti yang tidak diinginkan, seperti saat mengirim pesan yang akan mereka sesali.

Kasus penggunaan umum dan ID yang sesuai untuk digunakan

Bagian ini menyediakan alternatif penggunaan ID hardware, seperti IMEI. Menggunakan ID hardware tidak disarankan karena pengguna tidak dapat mereset ID tersebut, dan cakupannya untuk perangkat. Dalam banyak kasus, ID lingkup aplikasi sudah cukup.

Akun

Status ekspedisi

Dalam hal ini, aplikasi Anda berinteraksi dengan fungsi telepon dan pengiriman SMS perangkat menggunakan akun operator.

ID yang direkomendasikan untuk digunakan: IMEI, IMSI, dan Line1

Mengapa rekomendasi ini?

Pemanfaatan ID hardware dapat diterima jika diperlukan untuk fungsionalitas terkait operator. Misalnya, Anda dapat menggunakan ID ini untuk beralih antara operator seluler atau slot SIM, atau untuk mengirim pesan SMS melalui IP (untuk Line1) - akun pengguna berbasis SIM. Namun, untuk aplikasi yang tidak memiliki hak istimewa, sebaiknya gunakan login akun untuk mengambil informasi perangkat dari server. Salah satu alasannya adalah bahwa, di Android 6.0 (API level 23) dan lebih tinggi, ID ini hanya dapat digunakan melalui izin runtime. Pengguna mungkin menonaktifkan izin ini, jadi aplikasi Anda dapat menangani pengecualian tersebut dengan baik.

Status langganan seluler

Dalam hal ini, Anda perlu mengaitkan fungsi aplikasi dengan langganan layanan seluler tertentu di perangkat. Misalnya, Anda mungkin memiliki persyaratan untuk memverifikasi akses ke fitur aplikasi premium tertentu berdasarkan langganan seluler perangkat melalui SIM.

ID yang direkomendasikan untuk digunakan: Subscription ID API untuk mengidentifikasi SIM yang digunakan di perangkat.

ID Langganan memberikan nilai indeks (dimulai dari 1) untuk mengidentifikasi SIM yang terpasang secara unik (termasuk fisik dan elektronik) yang digunakan di perangkat. Melalui ID ini, aplikasi Anda dapat mengaitkan fungsinya dengan berbagai informasi langganan untuk SIM tertentu. Nilai ini stabil untuk SIM tertentu kecuali jika perangkat direset ke setelan pabrik. Namun, mungkin ada kasus saat SIM yang sama memiliki ID Langganan yang berbeda di perangkat yang berbeda atau SIM yang berbeda memiliki ID yang sama di perangkat yang berbeda.

Mengapa rekomendasi ini?

Beberapa aplikasi mungkin saat ini menggunakan ID ICC untuk tujuan ini. Karena ID ICC bersifat unik secara global dan tidak dapat direset, akses telah dibatasi untuk aplikasi dengan izin READ_PRIVILEGED_PHONE_STATE sejak Android 10. Mulai Android 11, Android selanjutnya membatasi akses ke ICCID melalui getIccId() API, apa pun level API target aplikasinya. Aplikasi yang terpengaruh harus bermigrasi untuk menggunakan ID Langganan.

{i>Single Sign-On<i}

Dalam hal ini, aplikasi Anda menawarkan pengalaman single sign-on, sehingga pengguna dapat mengaitkan akun yang ada dengan organisasi Anda.

ID yang direkomendasikan untuk digunakan: Akun yang kompatibel dengan Account Manager, seperti Penautan Akun Google

Mengapa rekomendasi ini?

Penautan Akun Google memungkinkan pengguna mengaitkan Akun Google pengguna yang ada dengan aplikasi Anda, sehingga memberikan akses yang lancar dan lebih aman ke produk dan layanan organisasi Anda. Selain itu, Anda dapat menentukan cakupan OAuth kustom untuk hanya membagikan data yang diperlukan, sehingga meningkatkan kepercayaan pengguna dengan menjelaskan cara penggunaan data mereka secara jelas.

Iklan

Penargetan

Dalam hal ini, aplikasi Anda membuat profil minat pengguna untuk menampilkan iklan yang lebih relevan kepada pengguna.

ID yang direkomendasikan untuk digunakan: Jika aplikasi Anda menggunakan ID untuk iklan dan upload atau publikasikan ke Google Play, ID tersebut harus berupa ID Iklan.

Mengapa rekomendasi ini?

Ini adalah kasus penggunaan yang terkait dengan iklan yang mungkin memerlukan ID yang tersedia di berbagai aplikasi organisasi Anda. Jadi, penggunaan ID Iklan adalah solusi yang paling sesuai. Penggunaan ID Iklan bersifat wajib untuk kasus penggunaan iklan, sesuai dengan Kebijakan Konten Developer Google Play, karena pengguna dapat meresetnya.

Terlepas dari apakah Anda membagikan data pengguna di aplikasi atau tidak, jika Anda mengumpulkan dan menggunakannya untuk tujuan iklan, Anda harus menyatakan tujuan iklan di bagian Keamanan Data di halaman Konten aplikasi di Konsol Play.

Pengukuran

Dalam hal ini, aplikasi Anda akan membuat profil pengguna berdasarkan perilakunya di seluruh aplikasi organisasi pada perangkat yang sama.

ID yang direkomendasikan untuk digunakan: ID Iklan atau API perujuk penginstalan Play

Mengapa rekomendasi ini?

Ini adalah kasus penggunaan yang terkait dengan iklan yang mungkin memerlukan ID yang tersedia di berbagai aplikasi organisasi Anda. Jadi, penggunaan ID Iklan adalah solusi yang paling sesuai. Jika Anda menggunakan ID untuk kasus penggunaan iklan, ID tersebut harus berupa ID Iklan karena pengguna dapat meresetnya. Pelajari lebih lanjut di Kebijakan Konten Developer Google Play.

Konversi

Dalam kasus ini, Anda melacak konversi untuk mendeteksi apakah strategi pemasaran berhasil.

ID yang direkomendasikan untuk digunakan: ID Iklan atau API perujuk penginstalan Play

Mengapa rekomendasi ini?

Ini adalah kasus penggunaan yang terkait dengan iklan yang mungkin memerlukan ID yang tersedia di berbagai aplikasi organisasi Anda. Jadi, penggunaan ID Iklan adalah solusi yang paling sesuai. Penggunaan ID Iklan bersifat wajib untuk kasus penggunaan iklan, sesuai dengan Kebijakan Konten Developer Google Play, karena pengguna dapat meresetnya.

Pemasaran Ulang

Dalam hal ini, aplikasi Anda menampilkan iklan berdasarkan minat sebelumnya pengguna.

ID yang direkomendasikan untuk digunakan: ID Iklan

Mengapa rekomendasi ini?

Ini adalah kasus penggunaan yang terkait dengan iklan yang mungkin memerlukan ID yang tersedia di berbagai aplikasi organisasi Anda. Jadi, penggunaan ID Iklan adalah solusi yang paling sesuai. Penggunaan ID Iklan bersifat wajib untuk kasus penggunaan iklan, sesuai dengan Kebijakan Konten Developer Google Play, karena pengguna dapat meresetnya.

Analisis aplikasi

Dalam hal ini, aplikasi mengevaluasi perilaku pengguna untuk membantu Anda menentukan hal berikut:

  • Manakah produk atau aplikasi lainnya di organisasi Anda yang mungkin cocok untuk pengguna.
  • Cara membuat pengguna tetap tertarik menggunakan aplikasi Anda.
  • Mengukur statistik penggunaan dan analisis untuk pengguna yang logout atau anonim.

Solusi yang memungkinkan antara lain:

  • ID kumpulan aplikasi: ID Kumpulan Aplikasi memungkinkan Anda menganalisis perilaku pengguna di beberapa aplikasi yang dimiliki organisasi Anda, selama Anda tidak menggunakan data pengguna untuk tujuan iklan. Jika Anda menargetkan perangkat yang didukung oleh layanan Google Play, sebaiknya gunakan ID Kumpulan Aplikasi.
  • ID Firebase (FID): FID dicakupkan ke aplikasi yang membuatnya, sehingga mencegah ID digunakan untuk melacak pengguna di berbagai aplikasi. FID juga mudah direset, karena pengguna dapat menghapus data aplikasi atau menginstal ulang aplikasi. Proses pembuatan FID sangat mudah; lihat panduan penginstalan Firebase.

Pengembangan aplikasi

Laporan kerusakan

Dalam hal ini, aplikasi Anda mengumpulkan data terkait waktu dan alasan error di perangkat pengguna.

ID yang direkomendasikan untuk digunakan: FID atau ID kumpulan aplikasi

Mengapa rekomendasi ini?

FID dicakupkan ke aplikasi yang membuatnya, sehingga mencegah ID digunakan untuk melacak pengguna di berbagai aplikasi. Metode ini juga mudah direset, karena pengguna dapat menghapus data aplikasi atau menginstal ulang aplikasi. Proses pembuatan FID sangat mudah. Lihat panduan penginstalan Firebase. ID Set Aplikasi memungkinkan Anda menganalisis perilaku pengguna di beberapa aplikasi yang dimiliki organisasi Anda, selama Anda tidak menggunakan data pengguna untuk tujuan iklan.

Pelaporan performa

Dalam hal ini, aplikasi Anda akan mengumpulkan metrik performa, seperti waktu pemuatan dan penggunaan baterai, untuk membantu meningkatkan kualitas aplikasi.

ID yang direkomendasikan untuk digunakan: Firebase Performance Monitoring

Mengapa rekomendasi ini?

Firebase Performance Monitoring membantu Anda berfokus pada metrik yang paling penting bagi Anda, dan untuk menguji dampak perubahan terbaru pada aplikasi Anda.

Pengujian aplikasi

Dalam hal ini, aplikasi akan mengevaluasi pengalaman pengguna dengan aplikasi Anda untuk tujuan pengujian atau proses debug.

ID yang direkomendasikan untuk digunakan: FID atau ID kumpulan aplikasi

Mengapa rekomendasi ini?

FID dicakupkan ke aplikasi yang membuatnya, sehingga mencegah ID digunakan untuk melacak pengguna di berbagai aplikasi. Metode ini juga mudah direset, karena pengguna dapat menghapus data aplikasi atau menginstal ulang aplikasi. Proses pembuatan FID sangat mudah. Lihat panduan penginstalan Firebase. ID Set Aplikasi memungkinkan Anda menganalisis perilaku pengguna di beberapa aplikasi yang dimiliki organisasi Anda, selama Anda tidak menggunakan data pengguna untuk tujuan iklan.

Penginstalan lintas perangkat

Dalam hal ini, aplikasi Anda harus mengidentifikasi instance aplikasi yang benar saat diinstal di beberapa perangkat untuk pengguna yang sama.

ID yang direkomendasikan untuk digunakan: FID atau GUID

Mengapa rekomendasi ini?

FID dirancang secara eksplisit untuk tujuan ini; cakupannya terbatas pada aplikasi sehingga tidak dapat digunakan untuk melacak pengguna di berbagai aplikasi, dan direset saat aplikasi diinstal ulang. Pada kasus yang jarang terjadi di mana FID tidak cukup, Anda juga dapat menggunakan GUID.

Keamanan

Deteksi penyalahgunaan

Dalam kasus ini, Anda mencoba mendeteksi beberapa perangkat palsu yang menyerang layanan backend.

ID yang direkomendasikan untuk digunakan: Token integritas Google Play Integrity API

Mengapa rekomendasi ini?

Untuk memverifikasi bahwa permintaan berasal dari perangkat Android asli—bukan emulator atau kode lain yang melakukan spoofing perangkat lain—gunakan Google Play Integrity API.

Penipuan iklan

Dalam hal ini, aplikasi Anda akan memeriksa apakah tayangan dan tindakan pengguna di aplikasi Anda asli dan dapat diverifikasi.

ID yang direkomendasikan untuk digunakan: ID Iklan

Mengapa rekomendasi ini?

Penggunaan ID Iklan bersifat wajib untuk kasus penggunaan iklan, sesuai dengan Kebijakan Konten Developer Google Play, karena pengguna dapat meresetnya.

Manajemen hak digital (DRM)

Dalam hal ini, aplikasi Anda ingin melindungi akses penipuan ke kekayaan intelektual atau konten berbayar.

ID yang direkomendasikan untuk digunakan: Menggunakan FID atau GUID akan memaksa pengguna untuk menginstal ulang aplikasi untuk menghindari batas konten, dan ini menjadi beban yang cukup untuk mencegah sebagian besar orang. Jika penggunaan ID tersebut tidak memberikan perlindungan yang memadai, Android menyediakan DRM API, yang dapat digunakan untuk membatasi akses ke konten, termasuk ID per APK, Widevine ID.

Preferensi pengguna

Dalam hal ini, aplikasi Anda menyimpan status pengguna per perangkat di aplikasi Anda, terutama untuk pengguna yang tidak login. Anda dapat mentransfer status ini ke aplikasi lain yang ditandatangani dengan kunci yang sama di perangkat yang sama.

ID yang direkomendasikan untuk digunakan: FID atau GUID

Mengapa rekomendasi ini?

Informasi yang tetap bertahan bahkan setelah dilakukan penginstalan ulang tidak direkomendasikan karena pengguna mungkin ingin mereset preferensi dengan menginstal ulang aplikasi.