Menyiapkan Pemberian Lisensi

Sebelum mulai menambahkan verifikasi lisensi ke aplikasi, Anda perlu menyiapkan akun publikasi Google Play, lingkungan pengembangan, dan akun pengujian yang diperlukan untuk memverifikasi implementasi Anda.

Menyiapkan Akun Penerbit

Jika belum memiliki akun penerbit untuk Google Play, Anda perlu mendaftar satu kali menggunakan Akun Google Anda dan menyetujui persyaratan layanan Google Play.

Untuk informasi selengkapnya, lihat Memulai Publikasi.

Jika Anda sudah memiliki akun penerbit di Google Play, gunakan Konsol Play Anda untuk menyiapkan pemberian lisensi.

Dengan Konsol Google Play, Anda dapat:

  • Mendapatkan kunci publik khusus aplikasi untuk pemberian lisensi
  • Mendebug dan menguji implementasi pemberian lisensi aplikasi, sebelum memublikasikan aplikasi tersebut
  • Memublikasikan aplikasi yang sudah memiliki dukungan pemberian lisensi

Setelan administratif untuk pemberian lisensi

Anda dapat mengelola beberapa kontrol administratif untuk pemberian lisensi Google Play di Konsol Play. Kontrol tersebut memungkinkan Anda:

  • Menyiapkan beberapa "akun pengujian", yang diidentifikasi dengan alamat email. Server pemberian lisensi memungkinkan pengguna login ke akun pengujian pada perangkat atau emulator untuk mengirimkan pemeriksaan lisensi dan menerima respons pengujian statis. Anda dapat menyiapkan akun di halaman Detail Akun Konsol Play.
  • Mengonfigurasikan respons pengujian statis yang dikirimkan server, saat menerima pemeriksaan lisensi untuk aplikasi yang diupload ke akun penerbit, dari pengguna yang login ke akun penerbit atau akun pengujian. Anda dapat menetapkan respons pengujian di halaman Detail Akun Konsol Play.
  • Memperoleh kunci publik aplikasi untuk pemberian lisensi. Saat mengimplementasikan pemberian lisensi dalam aplikasi, Anda harus menyalin string kunci publik ke dalam aplikasi tersebut. Anda dapat memperoleh kunci publik aplikasi untuk pemberian lisensi di halaman Layanan & API (di bagian Semua Aplikasi).

Gambar 1. Kunci lisensi aplikasi tersedia dari halaman Layanan & API di Konsol Play.

Untuk informasi selengkapnya tentang cara bekerja dengan akun pengujian dan respons pengujian statis, lihat Menyiapkan Lingkungan Pengujian, di bawah.

Menyiapkan Lingkungan Pengembangan

Untuk menyiapkan lingkungan terkait pemberian lisensi, Anda perlu melakukan tugas berikut:

  1. Menyiapkan lingkungan runtime untuk pengembangan
  2. Mendownload LVL ke SDK Anda
  3. Menyiapkan Licensing Verification Library
  4. Menyertakan project library LVL di aplikasi Anda

Bagian di bawah menjelaskan tugas-tugas tersebut. Setelah selesai menyiapkan, Anda dapat mulai Menambahkan Pemberian Lisensi ke Aplikasi Anda.

Untuk memulai, Anda harus menyiapkan lingkungan runtime yang tepat tempat Anda dapat menjalankan, men-debug, dan menguji implementasi pemeriksaan dan penerapan lisensi aplikasi Anda.

Menyiapkan lingkungan runtime

Seperti yang dijelaskan sebelumnya, aplikasi memeriksa status pemberian lisensi bukan dengan menghubungi server pemberian lisensi secara langsung, tetapi dengan mengikat ke layanan yang disediakan oleh aplikasi Google Play dan memulai permintaan pemeriksaan lisensi. Kemudian, layanan Google Play menangani komunikasi langsung dengan server pemberian lisensi dan pada akhirnya mengarahkan respons kembali ke aplikasi Anda. Untuk mendebug dan menguji pemberian lisensi di aplikasi, Anda perlu menyiapkan lingkungan runtime yang menyertakan layanan Google Play yang diperlukan, sehingga aplikasi Anda dapat mengirimkan permintaan pemeriksaan lisensi ke server pemberian lisensi.

Ada dua jenis lingkungan runtime yang dapat Anda gunakan:

  • Perangkat Android yang menyertakan aplikasi Google Play, atau
  • Emulator Android yang menjalankan Add-on Google API, API level 8 (rilis 2) atau yang lebih tinggi

Menjalankan di perangkat

Untuk menggunakan perangkat Android dalam proses debug dan menguji pemberian lisensi, perangkat harus:

  • Menjalankan versi yang kompatibel dari Android 1.5 atau yang lebih baru (API level 3 atau yang lebih tinggi), dan
  • Menjalankan image sistem tempat aplikasi klien Google Play sudah diinstal sebelumnya.

Jika Google Play belum diprainstal di image sistem, aplikasi Anda tidak akan dapat berkomunikasi dengan server pemberian lisensi Google Play.

Untuk informasi umum tentang cara menyiapkan perangkat untuk digunakan dalam mengembangkan aplikasi Android, lihat Menggunakan Perangkat Hardware.

Menjalankan di emulator Android

Jika tidak memiliki perangkat yang tersedia, Anda dapat menggunakan emulator Android untuk proses debug dan menguji pemberian lisensi.

Karena platform Android yang disediakan di Android SDK tidak menyertakan Google Play, Anda perlu mendownload platform Add-On Google API, API level 8 (atau yang lebih tinggi), dari repositori SDK. Setelah mendownload add-on, Anda perlu membuat konfigurasi AVD yang menggunakan image sistem tersebut.

Add-On Google API tidak menyertakan klien Google Play sepenuhnya. Namun, cara ini menyediakan:

  • Layanan latar belakang Google Play yang mengimplementasikan antarmuka jarak jauh ILicensingService, sehingga aplikasi Anda dapat mengirimkan pemeriksaan lisensi melalui jaringan ke server pemberian lisensi.
  • Kumpulan layanan akun dasar yang memungkinkan Anda menambahkan Akun Google di AVD dan login menggunakan kredensial akun penerbit atau akun pengujian.

    Login menggunakan akun penerbit atau pengujian memungkinkan Anda mendebug dan menguji aplikasi tanpa memublikasikannya. Untuk informasi selengkapnya, lihat Login ke akun yang sah, di bawah.

Beberapa versi add-on Google API tersedia melalui SDK Manager, tetapi hanya versi untuk Android 2.2 dan yang lebih tinggi yang menyertakan layanan Google Play yang diperlukan.

Untuk menyiapkan emulator guna menambahkan pemberian lisensi pada aplikasi, ikuti langkah-langkah ini:

  1. Luncurkan Android SDK Manager, yang tersedia di bagian menu Tools Android Studio (Tools > Android > SDK Manager) atau dengan menjalankan <sdk>/tools/android sdk.
  2. Pilih dan download Google API untuk versi Android yang ingin Anda targetkan (harus Android 2.2 atau yang lebih tinggi).
  3. Setelah download selesai, buka AVD Manager, yang tersedia di menu Tools Android Studio (Tools > Android > AVD Manager) atau dengan menjalankan <sdk>/tools/android avd.
  4. Di jendela Android Virtual Device Manager, pilih + Create Virtual Device untuk menetapkan detail konfigurasi bagi AVD baru.
  5. Pada jendela Virtual Device Configuration, pilih hardware perangkat, lalu pilih Next.
  6. Pilih Google API sebagai image sistem untuk dijalankan di AVD baru, lalu pilih Next.
  7. Pindahkan nama deskriptif ke AVD, lalu tetapkan detail konfigurasi lainnya sesuai kebutuhan.
  8. Pilih Finish untuk membuat konfigurasi AVD baru, yang akan muncul dalam daftar Perangkat Virtual Android yang tersedia.

Jika Anda tidak terbiasa dengan AVD atau cara menggunakannya, lihat Mengelola Perangkat Virtual.

Mengupdate konfigurasi project Anda

Setelah Anda menyiapkan lingkungan runtime yang memenuhi persyaratan seperti yang dijelaskan di atas, baik pada perangkat yang sebenarnya atau emulator, pastikan untuk mengupdate project aplikasi atau mem-build skrip sesuai kebutuhan, sehingga file .apk terkompilasi yang menggunakan pemberian lisensi akan di-deploy ke lingkungan tersebut. Khususnya, jika mengembangkan di Android Studio, pastikan bahwa Anda menyiapkan Konfigurasi Run/Debug yang menargetkan perangkat atau AVD yang sesuai.

Anda tidak perlu melakukan perubahan apa pun pada konfigurasi build aplikasi, asalkan project tersebut sudah dikonfigurasikan untuk mengompilasi dari library standar Android 1.5 (API level 3) atau yang lebih tinggi. Menambahkan pemberian lisensi pada aplikasi seharusnya tidak berdampak sama sekali terhadap konfigurasi build aplikasi.

Mendownload LVL

License Verification Library (LVL) adalah koleksi class helper yang sangat mempermudah tugas yang harus Anda lakukan untuk menambahkan pemberian lisensi ke aplikasi Anda. Apa pun kasusnya, sebaiknya Anda mendownload LVL dan menggunakannya sebagai dasar untuk implementasi pemberian lisensi di aplikasi Anda.

License Verification Library (LVL) dikembangkan di GitHub. Anda dapat meng-clone repositori LVL dan menetapkannya sebagai project library. Clone repositori dengan mengetik perintah berikut pada command line:

git clone https://github.com/google/play-licensing

Repositori ini menyertakan:

  • Sumber LVL yang disimpan di dalam project library Android.
  • Aplikasi contoh yang disebut "contoh" yang bergantung pada project library LVL. Contoh tersebut mengilustrasikan cara aplikasi menggunakan class helper library untuk memeriksa dan menerapkan pemberian lisensi.

Menyiapkan Licensing Verification Library

Setelah mendownload LVL ke komputer, Anda harus menyiapkannya di lingkungan pengembangan, baik sebagai project library Android atau dengan menyalin (atau mengimpor) sumber library secara langsung ke dalam paket aplikasi yang sudah ada. Secara umum, menggunakan LVL sebagai project library direkomendasikan, karena Anda dapat menggunakan kembali kode pemberian lisensi di beberapa aplikasi dan mempertahankannya lebih mudah dari waktu ke waktu. Perlu diperhatikan bahwa LVL tidak didesain untuk dikompilasi secara terpisah dan ditambahkan ke aplikasi sebagai file .jar statis.

Cara yang direkomendasikan untuk menggunakan LVL adalah dengan menyiapkannya sebagai project library Android baru. Project library adalah jenis project pengembangan yang menangguhkan resource dan kode sumber Android bersama. Project aplikasi Android lainnya dapat mereferensikan project library dan, pada waktu build, menyertakan sumber terkompilasi dalam file .apk-nya. Dalam konteks pemberian lisensi, ini berarti bahwa Anda dapat melakukan sebagian besar pengembangan pemberian lisensi sekaligus, dalam sebuah project library, lalu menyertakan sumber library di berbagai project aplikasi Anda. Dengan cara ini, Anda dapat dengan mudah mempertahankan implementasi pemberian lisensi yang seragam di seluruh project dan mempertahankannya secara terpusat. Jika Anda tidak mengetahui tentang project library atau cara menggunakannya, lihat Mengelola Project.

LVL disediakan sebagai project library yang dikonfigurasi. Setelah mendownloadnya, Anda dapat langsung menggunakannya.

Jika menggunakan Android Studio, Anda perlu menambahkan LVL ke project sebagai modul baru.

  1. Gunakan jendela "Import Module from Source" untuk mengimpor modul library dengan memilih File > New > Import Module.
  2. Di jendela Import Module from Source, dalam Source directory, masukkan direktori library LVL (direktori yang berisi file AndroidManifest.xml library) sebagai direktori root project (<sdk>/extras/google/play_licensing/library/AndroidManifest.xml), lalu pilih Next.
  3. Pilih Finish untuk mengimpor modul library.

Untuk informasi selengkapnya tentang cara menggunakan modul library di Android Studio, lihat Membuat Library Android.

Menyertakan sumber project library LVL di dalam aplikasi Anda

Jika ingin menggunakan sumber LVL sebagai project library, Anda harus menambahkan referensi ke project library LVL di properti project aplikasi Anda. Tindakan ini akan memberi tahu alat build untuk menyertakan sumber project library LVL di dalam aplikasi Anda pada waktu kompilasi. Proses penambahan referensi ke project library bergantung pada lingkungan pengembangan Anda, seperti yang dijelaskan di bawah.

Jika mengembangkan di Android Studio, seharusnya Anda telah menambahkan modul library ke project Anda, seperti yang dijelaskan di bagian sebelumnya. Jika belum, lakukan sekarang sebelum melanjutkan.

Jika Anda mengembangkan dengan alat command line SDK, lihat direktori yang berisi project aplikasi Anda dan buka file project.properties. Tambahkan baris ke file yang menentukan kunci android.library.reference.<n> dan jalur ke library. Contoh:

android.library.reference.1=path/to/library_project

Atau, Anda dapat menggunakan perintah ini untuk mengupdate properti project, termasuk referensi ke project library:

android update lib-project
--target <target_ID> \
--path path/to/my/app_project \
--library path/to/my/library_project

Untuk informasi selengkapnya tentang menggunakan project library, lihat Menyiapkan Project Library.

Menyiapkan Lingkungan Pengujian

Konsol Google Play menyediakan alat konfigurasi yang memungkinkan Anda dan orang lain menguji pemberian lisensi pada aplikasi Anda sebelum dipublikasikan. Saat mengimplementasikan pemberian lisensi, Anda dapat menggunakan alat Konsol Play untuk menguji Kebijakan aplikasi Anda dan menangani berbagai respons pemberian lisensi serta kondisi error.

Komponen utama lingkungan pengujian untuk pemberian lisensi meliputi:

  • Konfigurasi "Respons pengujian" di akun penayang yang memungkinkan Anda menetapkan respons pemberian lisensi statis agar ditampilkan, saat server memproses pemeriksaan lisensi untuk aplikasi yang diupload ke akun penayang, dari pengguna yang login ke akun penayang atau akun pengujian.
  • Kumpulan akun pengujian opsional yang akan menerima respons pengujian statis saat memeriksa lisensi aplikasi yang telah Anda upload (terlepas apakah aplikasi dipublikasikan atau tidak).
  • Lingkungan runtime untuk aplikasi yang menyertakan aplikasi Google Play atau Add-On Google API, yang digunakan pengguna untuk login ke akun penerbit atau salah satu akun pengujian.

Menyiapkan lingkungan pengujian dengan benar mencakup:

  1. Menetapkan respons pengujian statis yang ditampilkan oleh server pemberi lisensi.
  2. Menyiapkan akun pengujian sesuai kebutuhan.
  3. Login dengan benar ke emulator atau perangkat, sebelum memulai pengujian pemeriksaan lisensi.

Bagian berikut menyediakan informasi selengkapnya.

Menetapkan respons pengujian untuk pemeriksaan lisensi

Google Play menyediakan setelan konfigurasi di akun penerbi yang memungkinkan Anda mengganti pemrosesan normal pada pemeriksaan lisensi dan menampilkan kode respons statis tertentu. Setelan ini hanya untuk pengujian dan hanya berlaku untuk pemeriksaan lisensi aplikasi yang telah Anda upload, yang dibuat oleh pengguna mana pun yang login ke emulator atau perangkat menggunakan kredensial akun penerbit atau akun pengujian yang terdaftar. Untuk pengguna lain, server akan selalu memproses pemeriksaan lisensi sesuai aturan normal.

Untuk menetapkan respons pengujian bagi akun Anda, login ke akun penerbit dan klik “Edit Profil”. Di halaman Edit Profil, temukan menu Respons Pengujian di panel Pemberian Lisensi, yang ditunjukkan di bawah. Anda dapat memilih dari kumpulan lengkap kode respons server yang valid untuk mengontrol respons atau kondisi yang ingin Anda uji di aplikasi.

Secara umum, Anda harus memastikan untuk menguji implementasi pemberian lisensi aplikasi dengan setiap kode respons yang tersedia di menu Respons Pengujian. Untuk deskripsi kode, lihat Kode Respons Server dalam Referensi Pemberian Lisensi.

Gambar 2. Panel Pengujian Lisensi pada halaman detail Akun memungkinkan Anda menyiapkan akun pengujian dan mengelola respons pengujian.

Perhatikan bahwa respons pengujian yang Anda konfigurasikan berlaku di seluruh akun — dalam hal ini, tidak berlaku untuk satu aplikasi, tetapi untuk semua aplikasi yang teratribusi dengan akun penerbit. Jika Anda menguji beberapa aplikasi sekaligus, mengubah respons pengujian akan memengaruhi semua aplikasi tersebut pada pemeriksaan lisensi berikutnya (jika pengguna login ke emulator atau perangkat menggunakan akun penerbit atau akun pengujian).

Sebelum berhasil menerima respons pengujian untuk pemeriksaan lisensi, Anda harus login ke perangkat atau emulator tempat aplikasi diinstal dan mengkueri server. Secara khusus, Anda harus login menggunakan akun penerbit atau salah satu akun pengujian yang telah disiapkan. Untuk informasi selengkapnya tentang akun pengujian, lihat bagian berikutnya.

Lihat Kode Respons Server untuk daftar respons pengujian yang tersedia beserta artinya.

Menyiapkan akun pengujian

Dalam beberapa kasus, Anda mungkin ingin mengizinkan beberapa tim developer menguji pemberian lisensi pada aplikasi yang pada akhirnya akan dipublikasikan melalui akun penayang Anda, tetapi tanpa memberi mereka akses ke kredensial login akun penayang Anda. Untuk memenuhi kebutuhan tersebut, Konsol Google Play memungkinkan Anda menyiapkan satu atau beberapa akun pengujian opsional, yaitu akun yang diizinkan untuk mengkueri server pemberian lisensi dan menerima respons pengujian statis dari akun penerbit Anda.

Akun pengujian adalah Akun Google standar yang Anda daftarkan di akun penerbit, sehingga akun tersebut akan menerima respons pengujian untuk aplikasi yang telah Anda upload. Kemudian, developer dapat login ke perangkat atau emulator menggunakan kredensial akun pengujian dan memulai pemeriksaan lisensi dari aplikasi yang diinstal. Saat menerima pemeriksaan lisensi dari pengguna akun pengujian, server pemberian lisensi akan menampilkan respons pengujian statis yang dikonfigurasikan untuk akun penerbit.

Tentu saja, terdapat batasan pada akses dan izin yang diberikan kepada pengguna yang login melalui akun pengujian, di antaranya:

  • Pengguna akun pengujian dapat mengkueri server pemberian lisensi hanya untuk aplikasi yang telah diupload ke akun penerbit.
  • Pengguna akun pengujian tidak memiliki izin untuk mengupload aplikasi ke akun penerbit Anda.
  • Pengguna akun pengujian tidak memiliki izin untuk menetapkan respons pengujian statis akun publikasi.

Tabel di bawah meringkas perbedaan kemampuan antara akun penerbit, akun pengujian, dan akun lainnya.

Tabel 1. Perbedaan jenis akun untuk menguji pemberian lisensi.

Jenis Akun Dapat memeriksa lisensi sebelum upload? Dapat menerima respons pengujian? Dapat menetapkan respons pengujian?
Akun publikasi Ya Ya Ya
Akun pengujian Tidak Ya Tidak
Lainnya Tidak Tidak Tidak

Mendaftarkan akun pengujian di akun penerbit

Untuk memulai, Anda perlu mendaftarkan setiap akun pengujian di akun penerbit Anda. Seperti yang ditunjukkan di Gambar 2, Anda mendaftarkan akun pengujian di panel Pemberian Lisensi pada halaman Edit Profil akun penerbit Anda. Cukup masukkan akun tersebut sebagai daftar yang dipisahkan koma, lalu klik Simpan untuk menyimpan perubahan profil Anda.

Anda dapat menggunakan Akun Google apa pun sebagai akun pengujian. Jika ingin memiliki dan mengontrol akun pengujian, Anda dapat membuat akun sendiri dan mendistribusikan kredensial kepada developer atau penguji Anda.

Menangani upload aplikasi dan distribusi aplikasi untuk pengguna akun pengujian

Seperti yang disebutkan di atas, pengguna akun pengujian hanya dapat menerima respons pengujian statis untuk aplikasi yang diupload ke akun penerbit. Karena pengguna tersebut tidak memiliki izin untuk mengupload aplikasi, sebagai penayang, Anda harus bekerja sama dengan pengguna tersebut dalam mengumpulkan aplikasi untuk diupload dan mendistribusikan aplikasi yang diupload untuk pengujian. Anda dapat menangani koleksi dan distribusi dengan cara apa pun yang menurut Anda paling praktis.

Setelah aplikasi diupload dan dikenal oleh server pemberian lisensi, developer dan penguji dapat terus mengubah aplikasi di lingkungan pengembangan lokal mereka, tanpa harus mengupload versi baru. Anda hanya perlu mengupload versi baru jika aplikasi lokal menambahkan atribut versionCode di file manifes.

Mendistribusikan kunci publik Anda ke pengguna akun pengujian

Server pemberian lisensi menangani respons pengujian statis dengan cara normal, termasuk menandatangani data respons lisensi, menambahkan parameter tambahan, dan sebagainya. Untuk mendukung developer yang mengimplementasikan pemberian lisensi menggunakan akun pengujian bukan akun penerbit, Anda perlu mendistribusikan kunci publik aplikasi untuk pemberian lisensi kepada mereka. Developer tanpa akses ke Konsol Play tidak memiliki akses ke kunci publik aplikasi, dan tanpa kunci tersebut, mereka tidak dapat memverifikasi respons lisensi.

Perhatikan bahwa jika memutuskan untuk membuat pasangan kunci pemberian lisensi baru untuk aplikasi karena beberapa alasan, Anda perlu memberi tahu semua pengguna akun pengujian. Untuk penguji, Anda dapat menyematkan kunci baru tersebut di dalam paket aplikasi dan mendistribusikannya kepada pengguna. Untuk developer, Anda perlu mendistribusikan kunci baru tersebut kepada pengguna secara langsung.

Login ke akun yang diizinkan di lingkungan runtime

Layanan pemberian lisensi didesain untuk menentukan apakah pengguna tertentu memiliki lisensi untuk menggunakan aplikasi tertentu, selama pemeriksaan lisensi, aplikasi Google Play mengumpulkan ID pengguna dari akun utama di sistem dan mengirimkannya ke server, bersama dengan nama paket aplikasi dan informasi lainnya. Namun, jika tidak ada informasi pengguna yang tersedia, pemeriksaan lisensi tidak dapat berhasil, sehingga aplikasi Google Play akan menghentikan permintaan dan menampilkan error ke aplikasi.

Selama pengujian, untuk memastikan bahwa aplikasi Anda berhasil membuat kueri ke server pemberian lisensi, pastikan Anda login ke akun di perangkat atau emulator menggunakan:

  • Kredensial akun penerbit, atau
  • Kredensial akun pengujian yang didaftarkan dengan akun penerbit

Login menggunakan akun penerbit menawarkan keuntungan yang memungkinkan aplikasi Anda menerima respons pengujian statis bahkan sebelum aplikasi tersebut diupload ke Konsol Play.

Jika Anda adalah bagian dari organisasi yang lebih besar atau bekerja sama dengan grup eksternal pada aplikasi yang akan dipublikasikan melalui situs, kemungkinan besar Anda ingin mendistribusikan akun pengujian, lalu menggunakannya untuk login selama pengujian.

Untuk login ke perangkat atau emulator, ikuti langkah-langkah berikut. Pendekatan yang diutamakan adalah login sebagai akun utama, tetapi, jika ada akun lain yang sudah digunakan di perangkat atau emulator, Anda dapat membuat akun tambahan dan login ke akun tersebut menggunakan kredensial akun penerbit atau pengujian.

  1. Buka Setelan > Akun & sinkronisasi
  2. Pilih Tambahkan Akun, lalu pilih untuk menambahkan Akun Google.
  3. Pilih Berikutnya, lalu Login.
  4. Masukkan nama pengguna dan sandi akun penerbit atau akun pengujian yang terdaftar di akun penerbit.
  5. Pilih Login. Sistem akan mengarahkan Anda ke akun yang baru.

Setelah login, Anda dapat mulai menguji pemberian lisensi dalam aplikasi (jika sudah menyelesaikan langkah integrasi LVL di atas). Saat memulai pemeriksaan lisensi, aplikasi Anda akan menerima respons yang berisi respons pengujian statis yang dikonfigurasi di akun penerbit.

Perlu diperhatikan bahwa jika menggunakan emulator, Anda harus login ke akun penerbit atau pengujian setiap kali menghapus total data ketika memulai ulang emulator.

Setelah Anda menyelesaikan prosedur penyiapan, lanjutkan ke Menambahkan Pemberian Lisensi ke Aplikasi.