Mendeteksi penyalahgunaan berulang menggunakan pengambilan data spesifik perangkat (beta)

Halaman ini menjelaskan cara menggunakan fitur panggil kembali perangkat untuk menyimpan dan mengambil data kustom dengan perangkat tertentu. Anda dapat memanggil kembali data kustom secara andal nanti saat aplikasi Anda 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 penarikan perangkat?

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

  • Membaca data per perangkat: Anda dapat membaca tiga nilai kustom atau bit untuk setiap perangkat saat Anda mendapatkan verdict integritas. Anda dapat menentukan makna Anda sendiri untuk nilai ini; misalnya, Anda dapat memperlakukan nilai tersebut sebagai tiga tanda terpisah atau menggabungkannya untuk merepresentasikan delapan label kustom.
  • Memodifikasi data per perangkat: Setelah mendapatkan token integritas, Anda dapat menggunakan token tersebut untuk melakukan panggilan sisi server ke server Google Play guna memodifikasi satu atau beberapa nilai. Anda memiliki waktu hingga 14 hari untuk menggunakan token. Hal ini memungkinkan Anda mengubah nilai jika, misalnya, penyalahgunaan baru terlihat dalam jangka waktu 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

Panggilan kembali perangkat hanya dapat digunakan untuk menyimpan dan memanggil kembali informasi guna melindungi keamanan aplikasi serta memitigasi penyalahgunaan, penipuan, dan akses tidak sah. Anda tidak boleh menggunakan pemberitahuan penarikan perangkat untuk membuat sidik jari atau melacak pengguna atau perangkat tertentu dan Anda tidak boleh menggunakan pemberitahuan penarikan perangkat untuk melacak karakteristik pengguna atau perangkat yang sensitif seperti data gender, usia, atau lokasi.

Pengambilan data spesifik perangkat memiliki prasyarat berikut:

  • Fitur Panggilan darurat dapat digunakan di ponsel, tablet, perangkat foldable, TV, Auto, dan Wear OS. Di Wear, penarikan perangkat hanya tersedia di perangkat yang dilengkapi dengan Wear OS 5 atau yang lebih tinggi. Pencabutan akses perangkat tidak didukung di emulator.
  • Penarikan perangkat mengharuskan versi terbaru layanan Google Play Store dan Google Play diinstal dan diaktifkan di perangkat.
  • Penarikan perangkat mengharuskan akun pengguna memiliki lisensi Play. Jika tidak, verdict tidak akan dievaluasi.

Penarikan perangkat memiliki pertimbangan waktu berikut:

  • Setelah memverifikasi token integritas, Anda memiliki waktu hingga 14 hari untuk menggunakannya guna menyimpan data penarikan perangkat kustom.
  • Pemberitahuan perangkat mencakup stempel waktu sehingga Anda dapat menganggap data yang baru saja dimodifikasi sebagai prioritas yang lebih tinggi daripada data yang dimodifikasi 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 panggil kembali untuk perangkat akan disimpan selama 3 tahun setelah akses baca atau tulis terakhir.
  • Jika Anda 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, penarikan kembali 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, penarikan kembali perangkat akan mencerminkan data per perangkat akun developer baru, bukan data per perangkat akun developer lama.

Mengaktifkan pengambilan data spesifik perangkat

Jika Anda sudah siap, aktifkan penarikan perangkat di Konsol Play:

  1. Login ke Konsol Play.
  2. Pilih aplikasi yang akan menggunakan fitur ingatan perangkat.
  3. Di bagian Rilis pada menu kiri, buka Integritas aplikasi.
  4. Di samping Play Integrity API, klik Setelan.
  5. Di bagian Respons pada halaman, klik Ubah respons.
  6. Aktifkan Ingatan perangkat.
  7. Klik Simpan perubahan.

Saat Anda mengaktifkan atau menonaktifkan penarikan perangkat, respons pengujian Play Integrity API yang telah Anda siapkan di Konsol Play akan dihapus dan Anda perlu membuatnya lagi.

Membaca nilai penarikan perangkat

Penarikan perangkat berfungsi dalam permintaan klasik dan standar Play Integrity API. Dalam permintaan standar, panggilan ulang perangkat diperbarui dalam panggilan persiapan. Dengan kata lain, setelah mengubah data per perangkat, Anda harus melakukan pemanasan lain untuk melihat nilai yang diperbarui. Setelah penarikan perangkat diaktifkan, Anda akan dapat membaca nilai penarikan perangkat dalam putusan integritas Anda.

Mengubah nilai penarikan perangkat

Anda dapat mengubah nilai penarikan perangkat dengan melakukan panggilan API server-ke-server yang mirip dengan mendekode putusan integritas. Menyetel bit ke true juga akan memperbarui tanggal penulisan (meskipun sudah true). Menyetel bit ke false akan mereset tanggal penulisan ke kosong. Bit yang tidak ditentukan dalam permintaan tidak akan berubah. Ada penundaan propagasi kecil antara penulisan bit dan kemampuan untuk membacanya kembali dalam putusan. Penundaan ini bisa mencapai 30 detik, meskipun biasanya jauh lebih singkat. Permintaan tulis pencabutan izin perangkat harus lebih jarang daripada permintaan token integritas Anda. Permintaan ini tidak dihitung dalam kuota permintaan token integritas Anda, tetapi tunduk pada batas kapasitas 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"}