ฟีเจอร์การลงทะเบียนสมาชิกและการลงชื่อเข้าใช้ช่วยให้ผู้ใช้ค้นหาโปรแกรมสะสมคะแนน และเข้าร่วมหรือลงชื่อเข้าใช้บัญชีของตนจาก Google Wallet ได้ ระบบจะนำผู้ใช้ไปยังเว็บไซต์ที่เหมาะกับอุปกรณ์เคลื่อนที่เพื่อดำเนินการตามขั้นตอนให้เสร็จสมบูรณ์ หลังจากนั้นผู้ใช้จะเพิ่มบัตรลงใน Google Wallet ได้
คู่มือนี้อธิบายภาพรวมของขั้นตอนการติดตั้งใช้งานที่จําเป็นเพื่อเปิดใช้โปรแกรมสะสมคะแนนสำหรับฟีเจอร์นี้
ภาพรวม
หากต้องการเริ่มต้นใช้งาน ให้ตรวจสอบว่าคุณได้ตั้งค่าโปรเจ็กต์ไว้ก่อนหน้านี้และมีสิทธิ์เข้าถึง Google Wallet API
คุณต้องทำตาม 4 ขั้นตอนต่อไปนี้เพื่อใช้งานฟีเจอร์การลงทะเบียนและการลงชื่อเข้าใช้สำหรับโปรแกรมสะสมคะแนน
- สร้างชั้นเรียนทดสอบใน Google Wallet เพื่อทดสอบขั้นตอนการลงทะเบียน/ลงชื่อเข้าใช้
- พัฒนาหน้าลงทะเบียน/ลงชื่อเข้าใช้ที่ใช้ Google Wallet
SharedDataType
- นำบัตรสะสมคะแนนกลับไปที่ Google Wallet หลังจากลงทะเบียน/ลงชื่อเข้าใช้
- ขอการยืนยันและเปิดใช้งาน
ตั้งค่าชั้นเรียนทดสอบใน Google Wallet
กำหนด URL การลงทะเบียนและการลงชื่อเข้าใช้ โลโก้โปรแกรม และช่องของผู้ใช้ที่เลือก จากนั้นใช้ช่องที่ซ้อนกันของ discoverableProgram
ใน loyaltyclass
เพื่อตั้งค่าที่เหมาะสม
ตั้งค่าใน discoverableProgram
เพื่อสร้างเวอร์ชันฉบับร่างของโปรแกรมสะสมคะแนนที่เปิดใช้การลงทะเบียน/การลงชื่อเข้าใช้ โปรดตรวจสอบว่าผู้ทดสอบมีสิทธิ์เข้าถึง Google Pay และ Wallet Console เพื่อให้แน่ใจว่าผู้ทดสอบจะเห็นข้อมูลนี้ ดูรายละเอียดเกี่ยวกับวิธีแชร์สิทธิ์เข้าถึง Google Pay และ Wallet Console กับผู้อื่นได้ที่ดูข้อมูลเกี่ยวกับหน้าผู้ใช้
หากต้องการยืนยันฟังก์ชันการทำงานของการใช้งานในระหว่างขั้นตอนการพัฒนา โปรดติดต่อเราโดยใช้วิดเจ็ตการสนับสนุนสำหรับการติดต่อใน Google Pay และ Wallet Console ขณะอยู่ในคอนโซล ให้เลือก Google Wallet API ในหัวข้อดังกล่าว แล้วเลือกการลงชื่อเข้าใช้/การลงทะเบียนโปรแกรมสะสมคะแนนในหัวข้อย่อย
พัฒนาหน้าการลงทะเบียนและลงชื่อเข้าใช้ที่ใช้ข้อมูลผู้ใช้ Google Wallet
เมื่อผู้ใช้เลือกที่จะลงชื่อเข้าใช้หรือลงทะเบียนในโปรแกรมสะสมคะแนน ระบบจะนำผู้ใช้ไปยังหน้าที่ปรับแต่งบนเว็บไซต์ของคุณเพื่อดำเนินการลงทะเบียนหรือลงชื่อเข้าใช้ให้เสร็จสิ้น หากผู้ใช้เลือกที่จะลงทะเบียน Google Wallet จะขอให้ผู้ใช้อนุมัติการแชร์ข้อมูลผู้ใช้กับคุณ
คุณต้องระบุหน้าใดหน้าหนึ่งหรือทั้ง 2 หน้าหรือทั้ง 2 หน้าเพื่อให้ผู้ใช้ดำเนินการเหล่านี้ได้
- URL สำหรับลงชื่อเข้าใช้ที่ผู้ใช้สามารถลงชื่อเข้าใช้บัญชีที่มีอยู่ได้
- URL การลงทะเบียนที่ผู้ใช้สร้างบัญชีใหม่ได้
หน้าลงชื่อเข้าใช้และหน้าลงทะเบียนของคุณจะต้องเป็นไปตามข้อกำหนดต่อไปนี้
- มอบประสบการณ์การใช้งานที่เหมาะกับอุปกรณ์เคลื่อนที่
- ลดจำนวนช่องที่ต้องกรอกในระหว่างขั้นตอนการลงทะเบียน
- อนุญาตให้ผู้ใช้ลงชื่อเข้าใช้หรือลงทะเบียนให้เสร็จสมบูรณ์ภายในหน้าเดียว
- ใช้การเข้ารหัส
HTTPS
กับใบรับรองที่ถูกต้องเพื่อให้แน่ใจว่ามีการส่งข้อมูลผู้ใช้อย่างปลอดภัย - ดูแลให้หน้าลงชื่อเข้าใช้และหน้าลงทะเบียนมีระยะเวลาทำงานอย่างน้อย 99.9%
นอกจากข้อกำหนดข้างต้นแล้ว เราขอแนะนำให้คุณอนุญาตให้ผู้ใช้ลงทะเบียนในโปรแกรมสะสมคะแนนโดยไม่ต้องกรอกแบบฟอร์มหรือกำหนดให้หน้ามีเพียงข้อกำหนดในการให้บริการเท่านั้น
- การใช้ข้อมูลผู้ใช้ที่ระบุไว้ใน
SharedDataType
ช่วยให้คุณสร้างบัญชีและยกเลิกบัตรสะสมคะแนนของผู้ใช้รายนั้นได้ทันที - หลังจากนั้นคุณสามารถส่งอีเมลรหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว หรือลิงก์ เพื่อกำหนดค่ารหัสผ่านและรายละเอียดบัญชี (ไม่บังคับ) ให้ผู้ใช้
- ซึ่งช่วยลดโอกาสที่ผู้ใช้จะออกจากขั้นตอนการลงทะเบียนเนื่องจากขั้นตอนเพิ่มเติมทั้งหมดอาจนำไปสู่การออกจากขั้นตอนเพิ่มเติม
เมื่อแสดงหน้าลงชื่อเข้าใช้หรือหน้าการลงทะเบียน Google Wallet จะสร้าง Android WebView และจะมีการส่งคำขอ POST
ไปยัง URL ที่คุณให้ไว้ มีการระบุข้อมูลผู้ใช้ในพารามิเตอร์ SharedDataType
ซึ่งอยู่ในคำขอ POST
โดยใช้ประเภทเนื้อหา
application/x-www-form-urlencrypted และการเข้ารหัส UTF-8
ค่าของพารามิเตอร์ SharedDataType
คือออบเจ็กต์ JSON ที่เข้ารหัส Base64
ออบเจ็กต์ JSON อาจมีช่องต่อไปนี้ขึ้นอยู่กับการดำเนินการที่ผู้ใช้เลือกและช่องที่คุณระบุเพื่อขอจากผู้ใช้
ฟิลด์ | การลงทะเบียน |
---|---|
อีเมล | ✓ |
firstName | ✓ |
lastName | ✓ |
บรรทัดที่อยู่ [1-3] | ✓ |
city | ✓ |
state | ✓ |
รหัสไปรษณีย์ | ✓ |
country | ✓ |
โทรศัพท์ | ✓ |
ดูตัวอย่างออบเจ็กต์ JSON ที่ถอดรหัสแล้วซึ่งอยู่ใน SharedDataType
ได้ที่ด้านล่าง
ทรัพยากร
{ "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" }
นำบัตรสะสมคะแนนกลับไปยัง Google Wallet ทันที
เมื่อตรวจสอบสิทธิ์ (ลงชื่อเข้าใช้) หรือหลังจากสร้างบัญชี (การลงทะเบียน) แล้ว หน้าเว็บของคุณควรพุชบัตรสะสมคะแนนของผู้ใช้ไปยัง Google Wallet ทันที
คุณพุชบัตรสะสมคะแนนไปยัง Google Wallet ได้โดยเปลี่ยนเส้นทางไปยังลิงก์ที่เป็นไปตามโครงสร้างด้านล่าง
https://pay.google.com/gp/v/save/{jwt_generated}
ความยาวที่ปลอดภัยสำหรับ URL คือ 2,000 อักขระ ลิงก์ของคุณควร ต่ำกว่าขีดจำกัดนี้ ออบเจ็กต์ที่เข้ารหัสใน JWT ควรมีขนาดเล็ก และมีเฉพาะข้อมูลที่เจาะจงสำหรับผู้ใช้เท่านั้น พยายามเก็บข้อมูลส่วนใหญ่ไว้ในคลาสของออบเจ็กต์ โดยสร้างข้อมูลก่อนสร้าง JWT สำหรับออบเจ็กต์ขนาดใหญ่ที่ไม่เกินขีดจำกัด ให้ลองสร้างออบเจ็กต์ใน Google Wallet API ก่อน แล้วส่งเฉพาะรหัสออบเจ็กต์ใน JWT
ขั้นตอนการสื่อสารทั่วไป
โปรดดูภาพขั้นตอนการสื่อสารสำหรับผู้ใช้ที่ลงทะเบียนหรือลงชื่อเข้าใช้เรียบร้อยแล้วในภาพต่อไปนี้ การดำเนินการทั้งหมดระหว่าง "เซิร์ฟเวอร์ของคุณ" ถือเป็นความรับผิดชอบของคุณที่จะนำมาใช้งาน
ขอการยืนยันและเปิดใช้งาน
หลังจากที่พัฒนาและทดสอบขั้นตอนการลงทะเบียน/ลงชื่อเข้าใช้เรียบร้อยแล้ว ให้ส่งคำขอผ่านวิดเจ็ตติดต่อทีมสนับสนุนสำหรับ Google Pay และ Wallet Console
หลังการตรวจสอบการติดตั้งใช้งานอย่างสมบูรณ์และยืนยันว่ามีฟังก์ชันการทำงานที่ถูกต้องเมื่อใช้ร่วมกับแอป Google Wallet แล้ว ฟีเจอร์การลงทะเบียนสะสมคะแนน/การลงชื่อเข้าใช้จะเปิดให้บริการต่อสาธารณะสำหรับโปรแกรมสะสมคะแนน ซึ่งจะทำให้ผู้ใช้ทุกคนดูโปรแกรม และใช้ประโยชน์จากฟังก์ชันนี้ได้
เราจะทำการตรวจสอบการลงทะเบียน/การลงชื่อเข้าใช้ของคุณเป็นประจำเพื่อให้แน่ใจถึงการปฏิบัติตามข้อกำหนดของฟีเจอร์อย่างต่อเนื่องเพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ดีที่สุด ในกรณีที่ข้อมูลไม่ตรงกันและฟังก์ชันการลงชื่อเข้าใช้/การลงทะเบียนอาจถูกปิดใช้จนกว่าปัญหาจะได้รับการแก้ไข
คำถามที่พบบ่อย
- มีข้อกำหนดใดๆ สำหรับรูปภาพที่ใช้ในโปรแกรมสะสมคะแนนของฉันไหม
- ใช่ รูปภาพของคุณควรโฮสต์อยู่ในตำแหน่งที่ตั้ง
HTTPS
ตำแหน่งเนื่องจากจะไม่ปรากฏใน Google Wallet หากไม่เป็นเช่นนั้น
- ใช่ รูปภาพของคุณควรโฮสต์อยู่ในตำแหน่งที่ตั้ง
- มีเครื่องมืออะไรบ้างที่ช่วยลดความซับซ้อนในการติดตั้งใช้งานและแก้ไขข้อบกพร่องของ JWT
- ได้ แพลตฟอร์มอย่าง www.jwt.io ช่วยให้คุณถอดรหัสและแก้ไขข้อบกพร่องของโทเค็นในระหว่างขั้นตอนการพัฒนา ซึ่งช่วยให้คุณยืนยันเนื้อหาที่กำลังส่งได้ โปรดทราบว่า Google ไม่มีความเกี่ยวข้องใดๆ และไม่ได้แนะนำบุคคลที่สามใดๆ ดังกล่าวเป็นการเฉพาะ
- เราจัดการข้อมูล SharedDataType ที่เข้ารหัสของ Base64 อย่างถูกต้องได้อย่างไร
- ตรวจสอบว่าคุณใช้การเข้ารหัส UTF-8 ตลอดทั้งกระบวนการ สตริง JSON มีการเข้ารหัส UTF-8 รายการแรกและเข้ารหัสในภายหลังโดยใช้ android.util.Base64 พร้อมตัวเลือก NO_WRAP และ URL_SAFE ซึ่งสอดคล้องกับ RFC 3548 ส่วน 4