Pendaftaran Program Loyalitas Pengguna

Fitur pendaftaran dan login loyalitas memungkinkan pengguna menelusuri program loyalitas Anda dan bergabung atau login ke akun mereka dari Google Wallet. Pengguna akan diarahkan ke situs Anda yang mobile-friendly untuk menyelesaikan proses. Setelah itu, mereka dapat menambahkan kartunya ke Google Wallet.

Panduan ini memberikan ringkasan langkah-langkah penerapan yang diperlukan untuk mengaktifkan program loyalitas Anda untuk fitur ini.

Ringkasan

Untuk memulai, pastikan Anda telah menyiapkan project sebelumnya dan memiliki akses ke Google Wallet API.

Anda harus mengikuti empat langkah berikut untuk menerapkan fitur pendaftaran dan login untuk program loyalitas:

  1. Siapkan kelas pengujian di Google Wallet untuk menguji alur pendaftaran/login Anda.
  2. Kembangkan halaman pendaftaran/login yang menggunakan Google Wallet SharedDataType.
  3. Menerapkan dukungan untuk kartu loyalitas ke Google Wallet setelah pendaftaran/login.
  4. Minta verifikasi dan aktivasi.

Menyiapkan kelas pengujian di Google Wallet

Tentukan URL pendaftaran dan login, logo program Anda, dan kolom pengguna yang dipilih. Kemudian, gunakan kolom bertingkat discoverableProgram di loyaltyclass untuk menetapkan nilai yang sesuai.

Tetapkan nilai di discoverableProgram untuk membuat versi draf program loyalitas yang mengaktifkan pendaftaran/login. Agar dapat dilihat oleh penguji, pastikan penguji memiliki akses ke Konsol Google Pay dan Wallet Anda. Untuk mengetahui detail cara membagikan akses Google Pay dan Konsol Wallet kepada orang lain, lihat Mempelajari halaman Pengguna.

Untuk menyelesaikan verifikasi fungsi penerapan Anda selama proses pengembangan, hubungi kami menggunakan widget dukungan kontak di Konsol Google Pay dan Wallet. Saat berada di konsol, pilih Google Wallet API pada topik, lalu pilih Login/pendaftaran loyalitas di subtopik.

Kembangkan halaman pendaftaran dan login yang menggunakan data pengguna Google Wallet

Saat pengguna memilih untuk login atau mendaftar ke program loyalitas Anda, mereka akan diarahkan ke halaman yang disesuaikan di situs Anda untuk menyelesaikan proses pendaftaran atau login. Jika pengguna memilih untuk mendaftar, Google Wallet akan meminta pengguna menyetujui pembagian data pengguna dengan Anda.

Anda harus menyediakan salah satu dari dua halaman tersebut, atau keduanya, yang memungkinkan pengguna menyelesaikan tindakan ini.

  1. URL login tempat pengguna dapat login ke akun yang sudah ada.
  2. URL pendaftaran tempat pengguna dapat membuat akun baru.

Halaman login dan pendaftaran Anda harus memenuhi persyaratan berikut:

  • Berikan pengalaman pengguna yang mobile-friendly.
  • Minimalkan jumlah kolom yang wajib diisi selama proses pendaftaran.
  • Izinkan pengguna menyelesaikan login atau pendaftaran dalam satu halaman.
  • Gunakan enkripsi HTTPS dengan sertifikat yang valid untuk memastikan data pengguna dikirim dengan aman.
  • Pastikan waktu beroperasi halaman login dan pendaftaran Anda setidaknya 99,9%.

Selain persyaratan di atas, sebaiknya Anda mengizinkan pengguna untuk mendaftar ke program loyalitas tanpa mengisi formulir apa pun atau menjaga halaman hanya untuk menyetujui persyaratan layanan Anda.

  • Dengan memanfaatkan data pengguna yang disediakan di SharedDataType, Anda dapat membuat akun dan segera menolak kartu loyalitasnya.
  • Selanjutnya, Anda dapat mengirimkan sandi sekali pakai melalui email, atau link untuk mengonfigurasi sandi dan detail akun opsional mereka.
  • Tindakan ini akan mengurangi kemungkinan pengguna meninggalkan proses pendaftaran, karena setiap langkah tambahan dapat menyebabkan pengguna keluar dari proses.

Saat menampilkan halaman login atau pendaftaran, Google Wallet akan membuat Android WebView dan permintaan POST dibuat ke URL yang Anda berikan. Data pengguna disediakan dalam parameter SharedDataType yang disertakan dalam permintaan POST menggunakan jenis konten application/x-www-form-urlencoding dan encoding UTF-8. Nilai parameter SharedDataType adalah objek JSON yang dienkode Base64.

Bergantung pada tindakan yang dipilih oleh pengguna dan kolom yang telah Anda tetapkan untuk diminta dari pengguna, objek JSON dapat berisi kolom berikut.

Kolom Pendaftaran Login
email
firstName  
lastName  
addressLine [1-3]  
city  
state  
kode pos  
country  
telepon  

Lihat di bawah untuk contoh objek JSON hasil dekode yang dimuat dalam SharedDataType.

Resource

{
  "firstName": "Jane",
  "lastName": "Doe",
  "addressLine1": "1600 Amphitheatre Pkwy",
  "addressLine2": "Apt 123",
  "addressLine3": "Attn:Jane",
  "city": "Mountain View",
  "state": "CA",
  "zipcode": "94043",
  "country": "US",
  "email": "jane.doe@example.com",
  "phone": "555-555-5555"
}

Menerapkan dukungan langsung kartu loyalitas ke Google Wallet

Setelah diautentikasi (login), atau setelah pembuatan akun (pendaftaran), halaman Anda akan segera mengembalikan kartu loyalitas pengguna ke Google Wallet.

Anda dapat mengirim kembali kartu loyalitas ke Google Wallet dengan mengalihkannya ke link yang mengikuti struktur di bawah ini.

https://pay.google.com/gp/v/save/{jwt_generated}

Panjang URL yang aman adalah 2.000 karakter. Link Anda harus tetap berada di bawah batas ini. Objek yang dienkode dalam JWT harus berukuran kecil, dan hanya berisi data yang spesifik untuk pengguna. Cobalah untuk menyimpan sebagian besar data dalam class objek, membuatnya sebelum membuat JWT. Untuk objek yang lebih besar yang tidak sesuai dengan batas, sebaiknya buat objek di Google Wallet API terlebih dahulu, lalu kirim ID objek di JWT saja.

Alur Komunikasi Umum

Alur komunikasi untuk pengguna yang menyelesaikan pendaftaran atau login diilustrasikan dalam gambar berikut. Semua tindakan di antara "Server Anda" adalah tanggung jawab Anda untuk diterapkan.

Alur login pendaftaran

Meminta verifikasi dan aktivasi

Setelah menyelesaikan pengembangan dan menguji alur pendaftaran/login, kirimkan permintaan melalui widget dukungan kontak Konsol Google Pay dan Wallet.

Setelah meninjau penerapan Anda secara menyeluruh yang mengonfirmasi fungsi yang benar dalam kombinasi dengan aplikasi Google Wallet, fitur pendaftaran/login loyalitas akan diluncurkan secara publik untuk program loyalitas Anda. Hal ini akan memungkinkan pengguna melihat program dan memanfaatkan fungsi ini.

Untuk memastikan pengalaman pengguna yang optimal, pemeriksaan berulang terhadap penerapan pendaftaran/login Anda akan dilakukan untuk memastikan kepatuhan berkelanjutan terhadap persyaratan fitur. Anda akan diberi tahu jika terjadi perbedaan dan fungsi login/pendaftaran dapat dinonaktifkan hingga masalah teratasi.

Pertanyaan Umum (FAQ)

  • Apakah ada persyaratan untuk gambar yang digunakan dalam program loyalitas saya?
    • Ya, gambar Anda harus dihosting di lokasi HTTPS karena gambar tersebut tidak akan terlihat di Google Wallet jika tidak.
  • Apakah ada alat yang menyederhanakan implementasi dan proses debug JWT?
    • Ya, platform seperti www.jwt.io memungkinkan Anda mendekode dan men-debug token selama proses pengembangan, sehingga Anda dapat memverifikasi konten yang dikirimkan. Perhatikan bahwa Google tidak memiliki afiliasi dan tidak merekomendasikan pihak ketiga tersebut secara khusus.
  • Bagaimana cara menangani data SharedDataType yang dienkode Base64 dengan benar?
    • Pastikan Anda menggunakan encoding UTF-8 selama proses. String JSON pertama-tama dienkode UTF-8 dan kemudian dienkode menggunakan android.util.Base64 dengan opsi NO_WRAP dan URL_SAFE. Ini sesuai dengan RFC 3548 bagian 4.