Mendeteksi penyalahgunaan berulang menggunakan pengambilan data spesifik perangkat (beta)

Halaman ini menjelaskan cara menggunakan pengambilan data spesifik perangkat untuk menyimpan dan mengambil data kustom dengan perangkat tertentu. Anda dapat mengambil data kustom secara akurat nanti saat aplikasi diinstal di perangkat yang sama, bahkan setelah perangkat direset. Fitur ini memungkinkan Anda mendeteksi dan mencegah perangkat digunakan kembali berdasarkan tindakan atau perilaku yang Anda tentukan, sekaligus menjaga privasi pengguna.

Bagaimana cara kerja pengambilan data spesifik perangkat?

Pengambilan data spesifik perangkat memberi aplikasi kemampuan untuk menyimpan dan mengambil data kustom yang terkait dengan perangkat tertentu tanpa mengorbankan privasi pengguna. Data tersebut disimpan di server Google, sehingga aplikasi Anda dapat memanggil kembali data kustom secara akurat, bahkan setelah aplikasi diinstal ulang atau perangkat direset. Misalnya, Anda dapat menggunakan fitur ini untuk mengambil data spesifik perangkat yang terbukti melakukan penyalahgunaan berat, perangkat yang sudah menukarkan item bernilai tinggi (seperti uji coba gratis), atau perangkat yang digunakan berulang kali untuk membuat akun baru dengan tujuan penyalahgunaan. Pengambilan data spesifik perangkat menjaga privasi pengguna karena aplikasi yang meminta hanya dapat mengambil data terbatas yang dikaitkan dengan perangkat, tanpa mengakses ID perangkat atau pengguna. Setelah mengaktifkan pengambilan data spesifik perangkat, Anda dapat melakukan hal berikut:

  • Membaca data spesifik per perangkat: Anda dapat membaca tiga nilai kustom atau bit untuk setiap perangkat saat mendapatkan verdict integritas. Anda dapat menentukan arti sendiri untuk nilai ini; misalnya, Anda dapat memperlakukan nilai sebagai tiga flag terpisah atau menggabungkannya untuk mewakili delapan label kustom.
  • Mengubah data spesifik per perangkat: Setelah mendapatkan token integritas, Anda dapat menggunakan token tersebut untuk melakukan panggilan sisi server ke server Google Play guna mengubah satu atau beberapa nilai. Anda memiliki waktu hingga 14 hari untuk menggunakan token tersebut. Dengan demikian, Anda dapat mengubah nilai jika, misalnya, penyalahgunaan baru terbukti dalam periode dua minggu setelah Anda pertama kali melakukan pemeriksaan integritas. Saat Anda mengubah nilai, bulan dan tahun saat perubahan dilakukan juga akan disimpan.

Prasyarat dan pertimbangan pengambilan data spesifik perangkat

Pengambilan data spesifik perangkat hanya dapat digunakan untuk menyimpan dan mengambil informasi guna melindungi keamanan aplikasi serta mengurangi penyalahgunaan, penipuan, dan akses tidak sah. Anda tidak boleh menggunakan pengambilan data spesifik perangkat untuk membuat sidik jari atau melacak pengguna atau perangkat tertentu dan Anda tidak boleh menggunakan pengambilan data spesifik perangkat untuk melacak karakteristik pengguna atau perangkat sensitif seperti data gender, usia, atau lokasi.

Pengambilan data spesifik perangkat memiliki prasyarat berikut:

  • Pengambilan data spesifik perangkat dapat digunakan di ponsel, tablet, perangkat foldable, TV, Auto, dan Wear OS. Di Wear, pengambilan data spesifik perangkat hanya tersedia di perangkat yang dilengkapi dengan Wear OS 5 atau yang lebih baru. Pengambilan data spesifik perangkat tidak didukung di emulator.
  • Pengambilan data spesifik perangkat mengharuskan versi terbaru layanan Google Play Store dan Google Play diinstal dan diaktifkan di perangkat.
  • Pengambilan data spesifik perangkat mengharuskan akun pengguna memiliki lisensi Play. Jika tidak, verdict tidak akan dievaluasi.

Pengambilan data spesifik perangkat memiliki pertimbangan waktu berikut:

  • Setelah memverifikasi token integritas, Anda memiliki waktu hingga 14 hari untuk menggunakannya guna menyimpan data pengambilan data spesifik perangkat kustom.
  • Pengambilan data spesifik perangkat mencakup stempel waktu sehingga Anda dapat menganggap data yang baru diubah sebagai prioritas yang lebih tinggi daripada data yang diubah sejak lama. Pertimbangkan untuk mengabaikan atau mereset data setelah jangka waktu yang cukup lama untuk memperhitungkan bahwa perangkat dapat berpindah tangan atau diperbaiki dan dijual kembali.
  • Bit pengambilan data spesifik perangkat akan disimpan selama 3 tahun setelah akses baca atau tulis terakhir.
  • Jika perlu menghapus semua data yang terkait dengan perangkat, aplikasi Anda dapat mereset ketiga nilai di perangkat tersebut ke salah (false). Tindakan ini akan otomatis mereset stempel waktu.

Untuk developer dengan beberapa aplikasi dan developer yang mentransfer aplikasi, pengambilan data spesifik perangkat berfungsi sebagai berikut:

  • Semua aplikasi di akun developer Google Play Anda memiliki akses ke tiga nilai yang sama per perangkat. Dengan kata lain, jika salah satu aplikasi Anda mengubah salah satu nilai, semua aplikasi Anda akan membaca nilai yang diubah saat diinstal di perangkat yang sama.
  • Jika aplikasi ditransfer dari satu akun developer ke akun developer lain, pengambilan data spesifik perangkat akan mencerminkan data per perangkat akun developer baru, bukan data per perangkat akun developer lama.

Mengaktifkan pengambilan data spesifik perangkat

Jika sudah siap, aktifkan pengambilan data spesifik perangkat di Konsol Play:

  1. Login ke Konsol Play.
  2. Pilih aplikasi yang akan menggunakan pengambilan data spesifik perangkat.
  3. Buka Dilindungi dengan Google Play dari menu sebelah kiri.
  4. Di samping Play Integrity API, klik Kelola.
  5. Di bagian Respons pada halaman, klik Ubah respons.
  6. Aktifkan Pengambilan data spesifik perangkat.
  7. Klik Simpan perubahan.

Saat Anda mengaktifkan atau menonaktifkan pengambilan data spesifik perangkat, respons pengujian Play Integrity API yang telah Anda tetapkan di Konsol Play akan dihapus dan Anda perlu membuatnya lagi.

Membaca nilai pengambilan data spesifik perangkat

Pengambilan data spesifik perangkat berfungsi dalam permintaan klasik dan standar Play Integrity API. Dalam permintaan standar, pengambilan data spesifik perangkat diperbarui dalam panggilan warmup. Dengan kata lain, setelah mengubah data spesifik per perangkat, Anda harus melakukan warmup lain untuk melihat nilai yang diperbarui. Setelah pengambilan data spesifik perangkat diaktifkan, Anda akan dapat membaca nilai pengambilan data spesifik perangkat dalam verdict integritas.

Mengubah nilai pengambilan data spesifik perangkat

Anda dapat mengubah nilai pengambilan data spesifik perangkat dengan melakukan panggilan API server-ke-server yang mirip dengan mendekode integritas verdict. Menetapkan bit ke true juga akan memperbarui tanggal tulisnya (meskipun sudah true). Menetapkan bit ke false akan mereset tanggal tulisnya menjadi kosong. Setiap bit yang tidak ditentukan dalam permintaan akan tetap tidak berubah. Ada penundaan propagasi kecil antara penulisan bit dan kemampuan untuk membacanya kembali dalam verdict. Penundaan ini dapat berlangsung hingga 30 detik, meskipun umumnya jauh lebih singkat. Permintaan tulis pengambilan data spesifik perangkat harus lebih jarang daripada permintaan token integritas Anda. Permintaan ini tidak dihitung dalam kuota permintaan token integritas Anda, tetapi tunduk pada batas frekuensi defensif non-publik.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}