Pendaftaran Program Loyalitas Pengguna

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

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

Ringkasan

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

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

  1. Siapkan kelas pengujian di Google Wallet untuk menguji alur pendaftaran/login Anda.
  2. Kembangkan halaman pendaftaran/login yang menggunakan Google Wallet SharedDataType.
  3. Terapkan penolakan 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, dan kolom pengguna yang dipilih. Lalu: gunakan kolom bertingkat discoverableProgram di loyaltyclass untuk menetapkan nilai-nilai yang sesuai.

Tetapkan nilai di discoverableProgram untuk membuat versi draf program loyalitas yang mengaktifkan pendaftaran/login. Untuk memastikan elemen ini dapat dilihat oleh penguji, pastikan bahwa penguji memiliki akses ke Konsol Google Pay dan Wallet Anda. Untuk detail tentang cara berbagi Akses Google Pay dan Konsol Wallet dengan orang lain, lihat Pelajari halaman Pengguna.

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

Mengembangkan halaman pendaftaran dan login yang menggunakan data pengguna Google Wallet

Saat pengguna memilih untuk login atau mendaftar ke program loyalitas Anda, mereka diarahkan ke halaman yang disesuaikan di {i>website<i} Anda untuk menyelesaikan proses pendaftaran atau login. Jika pengguna memilih untuk mendaftar, Google Wallet akan meminta pengguna tersebut untuk menyetujui pembagian data pengguna mereka dengan Anda.

Anda wajib memberikan salah satu dari dua halaman, 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 proses login atau pendaftaran dalam satu halaman.
  • Gunakan enkripsi HTTPS dengan sertifikat yang valid untuk memastikan data pengguna ditransmisikan dengan aman.
  • Pastikan halaman login dan pendaftaran Anda memiliki waktu beroperasi setidaknya 99,9%.

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

  • Dengan memanfaatkan data pengguna yang disediakan di SharedDataType, Anda dapat membuat akun dan segera menolak kartu loyalitas mereka.
  • Selanjutnya Anda dapat mengirimkan email kepada pengguna sandi sekali pakai, atau tautan untuk mengonfigurasi {i>password<i} dan detail akun opsional mereka.
  • Hal ini mengurangi kemungkinan pengguna mengabaikan proses pendaftaran mereka, karena setiap langkah tambahan dapat menyebabkan penurunan pengguna.

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

Bergantung pada tindakan yang dipilih oleh pengguna dan kolom yang telah Anda tentukan diminta dari pengguna, objek JSON mungkin berisi kolom berikut.

Kolom Pendaftaran
email
firstName
lastName
addressLine [1-3]
kota
dengan status tersembunyi akhir
kode pos
negara
telepon

Lihat di bawah untuk mendapatkan contoh objek JSON yang didekode yang terdapat 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"
}

Terapkan penolakan 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 mendorong kembali kartu loyalitas ke Google Wallet dengan mengalihkannya ke yang mengikuti struktur di bawah.

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

Panjang aman untuk URL adalah 2.000 karakter. Tautan Anda harus tetap berada di bawah batas ini. Objek yang dienkode dalam JWT harus kecil, hanya berisi data yang spesifik untuk pengguna. Coba simpan sebagian besar data di class objek, membuatnya sebelum membuat JWT. Untuk objek yang lebih besar yang tidak sesuai dengan batas, pertimbangkan pertama kali membuat objek di Google Wallet API dan hanya mengirimkan ID objek di JWT.

Alur Komunikasi Umum

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

Alur login pendaftaran

Meminta verifikasi dan aktivasi

Setelah Anda menyelesaikan pekerjaan pengembangan dan menguji alur pendaftaran/login, kirim permintaan melalui Hubungi dukungan Konsol Google Pay dan Wallet .

Setelah peninjauan menyeluruh terhadap implementasi Anda yang mengonfirmasi fungsi yang benar dalam dikombinasikan dengan aplikasi Google Wallet, fitur masuk/pendaftaran loyalitas akan diluncurkan secara publik untuk program loyalitas Anda. Ini akan memungkinkan setiap pengguna untuk melihat program dan memanfaatkan fungsionalitas ini.

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

Pertanyaan Umum (FAQ)

  • Apakah ada persyaratan untuk gambar yang digunakan dalam program loyalitas saya?
    • Ya, gambar Anda harus dihosting di HTTPS lokasi karena tidak akan terlihat di Google Wallet.
  • 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, memungkinkan Anda untuk memverifikasi konten yang Anda kirimkan. Perhatikan bahwa Google tidak memiliki afiliasi dan tidak secara khusus merekomendasikan pihak ketiga tersebut.
  • Bagaimana cara menangani data SharedDataType berenkode Base64 dengan benar?
    • Pastikan Anda menggunakan encoding UTF-8 selama proses berlangsung. String JSON pertama kali dikodekan dengan UTF-8 dan kemudian dikodekan menggunakan android.util.Base64 dengan opsi NO_WRAP dan URL_SAFE. Hal ini sesuai dengan RFC 3548 bagian 4.