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 meskipun menggunakan ID selain ID hardware yang tidak dapat direset.
  2. Hindari menggunakan ID hardware. Dalam sebagian besar kasus penggunaan, Anda dapat menghindari penggunaan ID hardware, seperti Identitas Perangkat Seluler International (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 ke 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 pencegahan penipuan pembayaran dan telepon. Untuk sebagian besar kasus penggunaan non-iklan, FID atau GUID seharusnya cukup memadai.

  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 terhadap penyalahgunaan. Play Integrity API adalah cara termudah untuk menentukan apakah perangkat tersebut 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 secara ketat mengontrol dan mengaudit kemampuan untuk mengakses kedua sumber secara bersamaan (misalnya, dengan melakukan penggabungan tabel satu ke tabel lainnya), Anda mengurangi risiko menghubungkan ID Iklan dengan PII. Secara umum, mengontrol akses artinya 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.

Menggunakan FID dan GUID

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

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

Jika FID kurang praktis, 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. Karena alasan ini, 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)
  • Realm
  • Kredensial, berdasarkan kredensial yang digunakan dalam profil Passpoint:
    • Kredensial pengguna: nama pengguna
    • Kredensial sertifikat: sertifikat dan jenis 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 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 level ConnectivityManager yang lebih tinggi, bukan API level yang lebih rendah seperti NetworkInterface, getifaddrs(), atau soket Netlink. Misalnya, aplikasi yang memerlukan informasi terbaru tentang rute saat ini dapat mendapatkan informasi ini dengan memproses perubahan jaringan menggunakan ConnectivityManager.registerNetworkCallback() dan memanggil LinkProperties.getRoutes() terkait 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 operator

Dalam kasus ini, aplikasi Anda berinteraksi dengan fungsionalitas telepon dan 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 (mulai 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 ICC ID 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 membatasi akses lebih lanjut ke ICCID melalui getIccId() API, terlepas dari level API target aplikasi. Aplikasi yang terpengaruh harus dimigrasikan untuk menggunakan ID Langganan.

{i>Single Sign-On<i}

Dalam hal ini, aplikasi Anda menawarkan pengalaman login sekali, yang memungkinkan pengguna 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 menentukan dengan jelas cara data mereka digunakan.

Iklan

Penargetan

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

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

Mengapa rekomendasi ini?

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

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

Pengukuran

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

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

Mengapa rekomendasi ini?

Ini adalah kasus penggunaan yang terkait dengan periklanan yang mungkin memerlukan ID yang tersedia di banyak aplikasi organisasi Anda, sehingga 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: Advertising ID atau API perujuk penginstalan Play

Mengapa rekomendasi ini?

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

Pemasaran ulang

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

ID yang direkomendasikan untuk digunakan: ID Iklan

Mengapa rekomendasi ini?

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

Analisis aplikasi

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

  • Produk atau aplikasi lain dari organisasi Anda yang mungkin cocok untuk pengguna.
  • Cara membuat pengguna tetap tertarik menggunakan aplikasi Anda.
  • Ukur 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 periklanan. Jika Anda menargetkan perangkat yang didukung oleh layanan Google Play, sebaiknya gunakan ID Set Aplikasi.
  • Firebase ID (FID): FID dicakup ke aplikasi yang membuatnya, yang mencegah ID digunakan untuk melacak pengguna di berbagai aplikasi. ID ini juga dapat direset dengan mudah, karena pengguna dapat menghapus data aplikasi atau menginstal ulang aplikasi. Proses pembuatan FID sangat mudah; lihat panduan penginstalan Firebase.

Pengembangan aplikasi

Crash reporting

Dalam hal ini, aplikasi Anda mengumpulkan data terkait kapan dan mengapa aplikasi mengalami error di perangkat pengguna.

ID yang direkomendasikan untuk digunakan: FID atau ID kumpulan aplikasi

Mengapa rekomendasi ini?

FID dicakup ke aplikasi yang membuatnya, yang mencegah ID digunakan untuk melacak pengguna di berbagai aplikasi. ID 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, selama Anda tidak menggunakan data pengguna untuk tujuan iklan.

Pelaporan performa

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

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 menguji dampak perubahan terbaru di aplikasi Anda.

Pengujian aplikasi

Dalam hal ini, aplikasi 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. ID ini juga mudah direset, karena pengguna dapat menghapus data aplikasi atau menginstal ulang aplikasi. Proses pembuatan FID sangat mudah; lihat panduan penginstalan Firebase. ID Kumpulan Aplikasi memungkinkan Anda menganalisis perilaku pengguna di beberapa aplikasi milik organisasi, selama Anda tidak menggunakan data pengguna untuk tujuan periklanan.

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 aplikasi yang berbeda, dan akan di-reset saat aplikasi diinstal ulang. Dalam kasus yang jarang terjadi saat FID tidak mencukupi, 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 kasus 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 periklanan, 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: Penggunaan FID atau GUID akan memaksa pengguna untuk menginstal ulang aplikasi guna menghindari batasan konten, yang merupakan beban yang cukup besar untuk mencegah sebagian besar orang. Jika perlindungan ini tidak memadai, Android menyediakan DRM API, yang dapat digunakan untuk membatasi akses ke konten, termasuk ID per APK, yaitu 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.