การลงทะเบียนโปรแกรมสะสมคะแนนของผู้ใช้

ฟีเจอร์การลงทะเบียนสมาชิกและการลงชื่อเข้าใช้ช่วยให้ผู้ใช้ค้นหาโปรแกรมสะสมคะแนน และเข้าร่วมหรือลงชื่อเข้าใช้บัญชีของตนจาก Google Wallet ได้ ระบบจะนำผู้ใช้ไปยังเว็บไซต์ที่เหมาะกับอุปกรณ์เคลื่อนที่เพื่อดำเนินการตามขั้นตอนให้เสร็จสมบูรณ์ หลังจากนั้นผู้ใช้จะเพิ่มบัตรลงใน Google Wallet ได้

คู่มือนี้อธิบายภาพรวมของขั้นตอนการติดตั้งใช้งานที่จําเป็นเพื่อเปิดใช้โปรแกรมสะสมคะแนนสำหรับฟีเจอร์นี้

ภาพรวม

หากต้องการเริ่มต้นใช้งาน ให้ตรวจสอบว่าคุณได้ตั้งค่าโปรเจ็กต์ไว้ก่อนหน้านี้และมีสิทธิ์เข้าถึง Google Wallet API

คุณต้องทำตาม 4 ขั้นตอนต่อไปนี้เพื่อใช้งานฟีเจอร์การลงทะเบียนและการลงชื่อเข้าใช้สำหรับโปรแกรมสะสมคะแนน

  1. สร้างชั้นเรียนทดสอบใน Google Wallet เพื่อทดสอบขั้นตอนการลงทะเบียน/ลงชื่อเข้าใช้
  2. พัฒนาหน้าลงทะเบียน/ลงชื่อเข้าใช้ที่ใช้ Google Wallet SharedDataType
  3. นำบัตรสะสมคะแนนกลับไปที่ Google Wallet หลังจากลงทะเบียน/ลงชื่อเข้าใช้
  4. ขอการยืนยันและเปิดใช้งาน

ตั้งค่าชั้นเรียนทดสอบใน 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 หน้าเพื่อให้ผู้ใช้ดำเนินการเหล่านี้ได้

  1. URL สำหรับลงชื่อเข้าใช้ที่ผู้ใช้สามารถลงชื่อเข้าใช้บัญชีที่มีอยู่ได้
  2. 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