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

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

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

ภาพรวม

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

คุณต้องทำตาม 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 โดยใช้ ประเภทเนื้อหาของแอปพลิเคชัน/x-www-form-urlencrypted และ การเข้ารหัส UTF-8 ค่าของ SharedDataType คือออบเจ็กต์ JSON ที่เข้ารหัส Base64

ขึ้นอยู่กับการดำเนินการที่ผู้ใช้เลือกและช่องที่คุณระบุ คำขอจากผู้ใช้ ออบเจ็กต์ JSON อาจมีฟิลด์ต่อไปนี้

ช่อง การลงทะเบียน
อีเมล
ชื่อ
นามสกุล
บรรทัดที่อยู่ [1-3]
city
รัฐ
รหัสไปรษณีย์
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