Fitur pendaftaran dan login program loyalitas memungkinkan pengguna menelusuri program loyalitas Anda dan bergabung atau login ke akun mereka langsung dari Google Wallet. Pengguna akan diarahkan ke situs Anda yang mobile-friendly untuk menyelesaikan prosesnya, setelah itu mereka dapat menambahkan kartu resmi mereka ke Google Wallet.
Penerapan fitur ini merupakan prasyarat untuk mengonversi kartu yang ditambahkan pengguna "statis" menjadi kartu yang ditautkan ke API "dinamis". Panduan ini memberikan ringkasan manfaat dan langkah-langkah penerapan yang diperlukan untuk mengaktifkan program loyalitas Anda untuk pendaftaran, login, dan upgrade kartu.
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 ini:
- Siapkan class pengujian: Konfigurasi Google Wallet untuk menguji alur Anda.
- Mengembangkan halaman: Buat halaman pendaftaran/login menggunakan Google Wallet
SharedDataType. - Menerapkan penolakan: Kirim kartu loyalitas ke Google Wallet setelah tindakan.
- Minta verifikasi: Kirim untuk ditinjau dan minta aktivasi upgrade.
Mengapa Menerapkan Pendaftaran Program Loyalitas?
Untuk memahami nilai integrasi ini, penting untuk membedakan dua jenis kartu yang ada di Google Wallet: L1 (Ditambahkan Pengguna) dan L2 (Dikeluarkan Partner).
Perbedaan Antara L1 dan L2
| Fitur | Kartu L1 (Ditambahkan Pengguna) | Kartu Lulus L2 (Dikeluarkan Partner) |
|---|---|---|
| Asal | Dibuat saat pengguna memindai kartu fisik secara manual atau mengetik nomor. | Dibuat dan didorong menggunakan Wallet API setelah pengguna mendaftar atau login menggunakan alur Anda. |
| Kontrol | Statis. Partner tidak memiliki visibilitas atau kontrol atas kartu ini. | Dinamis. Partner memiliki kontrol penuh menggunakan API. |
| Fungsi | Gambar statis kode batang. Tidak dapat diperbarui. | Dapat memperbarui saldo poin, status tingkat, menampilkan penawaran yang dipersonalisasi, dan menerima notifikasi. |
Jalur Upgrade: "Jembatan" menuju Program Anda
Dengan membuat alur Pendaftaran Loyalitas (tujuan), Anda memungkinkan Google membuat "jembatan" yang mengupgrade pengguna dari kartu L1 statis ke kartu L2 resmi Anda. Ada dua pemicu upgrade utama:
- Upgrade Kartu L1 ke L2: Jika pengguna sebelumnya telah menambahkan kartu Anda secara manual (L1), Google Wallet dapat meminta mereka untuk membuka alur login baru Anda guna mengupgrade ke kartu dinamis resmi (L2).
- Peningkatan Kualitas Kartu yang Diimpor dari Gmail: Jika Google Wallet mendeteksi kartu loyalitas yang menggunakan Gmail pengguna, Google Wallet dapat meminta pengguna untuk membuka alur Anda dan melakukan autentikasi untuk menerima kartu L2 resmi.
Langkah 1: Siapkan kartu uji di Google Wallet
Tentukan URL pendaftaran dan login, logo program, dan kolom pengguna yang dipilih. Kemudian, gunakan kolom bertingkat discoverableProgram di
loyaltyclass
untuk menetapkan nilai yang sesuai.
Tetapkan nilai dalam discoverableProgram untuk membuat versi draf program loyalitas yang mengaktifkan pendaftaran/login. Untuk memastikan ini terlihat oleh penguji, verifikasi bahwa penguji memiliki akses ke Konsol Google Pay dan Wallet Anda. Untuk mengetahui detail cara membagikan akses Google Pay dan Konsol Wallet Anda 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 di topik, lalu pilih Login/pendaftaran program loyalitas di subtopik.
Langkah 2: Kembangkan halaman pendaftaran dan login
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 untuk menyetujui berbagi data pengguna mereka dengan Anda.
Anda diwajibkan untuk memberikan salah satu atau kedua halaman yang memungkinkan pengguna menyelesaikan tindakan berikut:
- URL login tempat pengguna dapat login ke akun yang sudah ada.
- URL pendaftaran tempat pengguna dapat membuat akun baru.
Halaman pendaftaran dan login Anda harus memenuhi persyaratan berikut:
- Berikan pengalaman pengguna yang mobile-friendly.
- Minimalkan jumlah kolom wajib diisi selama proses pendaftaran.
- Izinkan pengguna menyelesaikan login atau pendaftaran dalam satu halaman.
- Gunakan enkripsi
HTTPSdengan sertifikat yang valid untuk memastikan data pengguna dikirim dengan aman. - Pastikan waktu beroperasi halaman pendaftaran dan login Anda minimal 99,9%.
Selain persyaratan ini, sebaiknya Anda mengizinkan pengguna mendaftar ke program loyalitas Anda tanpa mengisi formulir apa pun atau membiarkan halaman hanya berisi persetujuan persyaratan layanan Anda.
- Dengan memanfaatkan data pengguna yang diberikan di
SharedDataType, Anda dapat membuat akun dan langsung mengirimkan kembali kartu loyalitas mereka. - Selanjutnya, Anda dapat mengirimkan email kepada pengguna yang berisi sandi sekali pakai, atau link untuk mengonfigurasi sandi dan detail akun opsional.
- Hal ini mengurangi kemungkinan pengguna menghentikan proses pendaftaran mereka, karena setiap langkah tambahan dapat menyebabkan penghentian tambahan.
Saat menampilkan halaman pendaftaran atau login, Google Wallet akan membuat
Android WebView dan permintaan POST akan dibuat ke URL yang Anda berikan. Data pengguna diberikan dalam parameter SharedDataType yang disertakan dalam permintaan POST dengan Content-Type application/x-www-form-urlencoded 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 tentukan untuk diminta dari pengguna, objek JSON dapat berisi kolom berikut.
| Kolom | Pendaftaran |
|---|---|
| ✓ | |
| firstName | ✓ |
| lastName | ✓ |
| addressLine [1-3] | ✓ |
| kota | ✓ |
| dengan status tersembunyi akhir | ✓ |
| kode pos | ✓ |
| country | ✓ |
| telepon | ✓ |
Lihat contoh objek JSON yang didekode yang terdapat dalam SharedDataType berikut.
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"
}
Langkah 3: Menerapkan penolakan langsung ke Google Wallet
Setelah diautentikasi (login), atau setelah pembuatan akun (pendaftaran), halaman Anda harus segera mengirimkan kembali kartu loyalitas pengguna ke Google Wallet.
Anda dapat mengirimkan kembali kartu loyalitas ke Google Wallet dengan mengalihkan ke link yang mengikuti struktur sebagai berikut.
https://pay.google.com/gp/v/save/{jwt_generated}
Panjang URL yang aman adalah 2.000 karakter. Link Anda tidak boleh melebihi batas ini. Objek yang dienkode dalam JWT harus berukuran kecil, hanya berisi data yang khusus untuk pengguna. Usahakan untuk menyimpan sebagian besar data di class objek, membuatnya sebelum membuat JWT. Untuk objek yang lebih besar yang tidak memenuhi batas, pertimbangkan untuk membuat objek terlebih dahulu di Google Wallet API dan hanya mengirimkan ID objek di JWT.
Alur Komunikasi Umum
Alur komunikasi untuk pengguna yang menyelesaikan pendaftaran atau login diilustrasikan dalam gambar berikut. Semua tindakan antara "Server Anda" adalah tanggung jawab Anda untuk diterapkan.

Langkah 4: Minta verifikasi dan aktivasi
Setelah menyelesaikan pekerjaan pengembangan dan menguji alur pendaftaran/login, Anda harus mengirimkan permintaan agar penerapan Anda ditinjau dan diaktifkan sepenuhnya.
- Buka Konsol Google Pay dan Wallet.
- Gunakan widget Hubungi Dukungan.
- Beri tahu tim dukungan bahwa Anda telah menyelesaikan integrasi Pendaftaran Program Loyalitas.
Setelah peninjauan menyeluruh atas implementasi Anda yang mengonfirmasi fungsi yang benar bersama dengan aplikasi Google Wallet, fitur pendaftaran/login program loyalitas akan diluncurkan secara publik untuk program loyalitas Anda.
Untuk memastikan pengalaman pengguna yang optimal, pemeriksaan berulang pada penerapan pendaftaran/login Anda akan dilakukan untuk memastikan kepatuhan berkelanjutan terhadap persyaratan fitur. Anda akan diberi tahu jika ada perbedaan dan fungsi login/pendaftaran dapat dinonaktifkan hingga masalah diselesaikan.
Pertanyaan Umum (FAQ)
Apakah ada persyaratan untuk gambar yang digunakan dalam program loyalitas saya? Ya, gambar Anda harus dihosting di lokasi
HTTPSkarena jika tidak, gambar tidak akan terlihat di Google Wallet.Apakah ada alat yang menyederhanakan penerapan 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 Anda kirimkan. Perhatikan bahwa Google tidak memiliki afiliasi dan tidak secara khusus merekomendasikan pihak ketiga tersebut.
Bagaimana cara menangani data
SharedDataTypeberenkode Base64 dengan benar? Pastikan Anda menggunakan encoding UTF-8 di seluruh proses. String JSON pertama-tama dienkode UTF-8 dan selanjutnya dienkode menggunakan android.util.Base64 dengan opsi NO_WRAP dan URL_SAFE. Hal ini sesuai dengan RFC 3548 bagian 4.