เรียกใช้ข้อความ Push

ประเภทการแจ้งเตือน

เพิ่มข้อความและการแจ้งเตือน

ข้อมูลเบื้องต้น

หลังจากผู้ใช้เพิ่มบัตรแล้ว คุณอาจต้องการส่งข้อความเกี่ยวกับบัตรให้ผู้ใช้และตรวจสอบว่าผู้ใช้ได้รับการแจ้งเตือนเกี่ยวกับบัตรดังกล่าว เมื่อใช้คําขอ Add Message API ที่มี message_type เท่ากับ TEXT_AND_NOTIFY ระบบจะทําสิ่งต่อไปนี้

  1. ระบบจะเพิ่มรายการ "ข้อความ" ลงในส่วน "ด้านหลังบัตร" (หรือที่เรียกว่าเทมเพลตรายละเอียด) และส่งการแจ้งเตือนแบบพุชไปยังผู้ใช้ที่บันทึกบัตรไว้
  2. เมื่อผู้ใช้แตะการแจ้งเตือน ระบบจะเปิด Google Wallet ไปที่หน้าบัตร (หรือที่เรียกว่ามุมมองการ์ด) และผู้ใช้จะเห็นข้อความไฮไลต์ที่ด้านบนของหน้าจอพร้อมปุ่ม "ดูข้อความ"
  3. การคลิกข้อความไฮไลต์จะนำผู้ใช้ไปยังด้านหลังบัตร ซึ่งจะมีข้อความใหม่ที่ไม่อ่านไฮไลต์อยู่

สิ่งที่ควรพิจารณาเมื่อส่งข้อความที่มีการแจ้งเตือนถึงผู้ใช้

  • ผู้ใช้ต้องเปิดใช้การแจ้งเตือนสำหรับบัตรของตนจึงจะได้รับข้อความ Push ที่เกี่ยวข้องกับข้อความ
  • ข้อความอาจมี URI ไปยังเว็บไซต์หรือแอปของคุณ โดยไฮเปอร์ลิงก์ต้องเป็นเว็บไซต์หรือแอปที่เกี่ยวข้องกับบัตร การส่งผู้ใช้ไปยังลิงก์ที่ไม่เกี่ยวข้องกับบัตรเป็นการละเมิดนโยบายการใช้งานที่ยอมรับได้
  • คุณส่งข้อความที่ทริกเกอร์ข้อความ Push ได้สูงสุด 3 ข้อความในช่วงเวลา 24 ชั่วโมง Google อาจจำกัดโควต้าการส่งข้อความ Push หากพิจารณาว่าคุณกำลังสแปมผู้ใช้
  • Google Wallet จะควบคุมข้อความ Push ที่ผู้ใช้เห็นบนหน้าจอล็อก
  • คุณสามารถใช้เมธอด UPDATE หรือ PATCH เพื่อแก้ไขหรือนำข้อมูลข้อความออกโดยใช้ปลายทางคลาสหรือออบเจ็กต์ปกติ

ขั้นตอนการผสานรวม

เมื่อต้องการแจ้งผู้ใช้เกี่ยวกับข้อความของผู้ออกบัตรใหม่ซึ่งเพิ่มโดยใช้ AddMessage API คุณจะต้องอัปเดต AddMessageRequest เพื่อให้ Message ซึ่งมีข้อความใหม่มี MessageType TEXT_AND_NOTIFY แทน TEXT

ตัวอย่างคําขอ JSON เพื่อเพิ่มข้อความและแจ้งเตือนในคลาสบัตร

  …
  "id": ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Class message header",
        "body": "My Class message body with a <a href="https://wallet.google">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

ตัวอย่างคําขอ JSON เพื่อเพิ่มข้อความและแจ้งเตือนในแออบเจ็กต์ Passes

  …
  "id": OBJECT_ID",
  "classId": "ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Object message header",
        "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

ตัวอย่างการตอบกลับเพื่อเพิ่มข้อความและแจ้งเตือนสำหรับชั้นเรียนที่ผ่าน

  // The updated resource
  …
    {
      "kind": "walletobjects#walletObjectMessage",
      "header": "My Object message header",
      "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
      "id": "message_id",
      "messageType": "textAndNotify"
    },
  …

การจัดการข้อยกเว้น

การพยายามแจ้งเตือนมากกว่า 3 ครั้งจะส่งผลให้ระบบแสดงการตอบกลับQuotaExceededException คุณสามารถตั้งค่าการอัปเดตเพิ่มเติมในพาสโดยใช้ "TEXT" แทน "TEXT_AND_NOTIFY" ตามที่อธิบายไว้ในขั้นตอนการผสานรวม

อัปเดตช่องและแจ้งเตือน

ข้อมูลเบื้องต้น

หลังจากผู้ใช้เพิ่มบัตรแล้ว คุณอาจต้องการเรียกให้แสดงข้อความ Push เมื่ออัปเดตบางช่อง การแจ้งเตือนจะปรากฏบนหน้าจอล็อกของผู้ใช้และแจ้งให้ทราบว่ามีการอัปเดตบัตร การแจ้งเตือนนี้จะทริกเกอร์สําหรับช่องชุดย่อยที่เฉพาะเจาะจงซึ่งระบุไว้ด้านล่างโดยใช้เมธอด UPDATE และ PATCH ของ API เท่านั้น เมื่อมีการเรียก API เพื่ออัปเดตบัตร ระบบจะดำเนินการต่อไปนี้

  1. ระบบจะทริกเกอร์ข้อความ Push และแสดงบนหน้าจอล็อกของผู้ใช้เพื่อแจ้งให้ทราบถึงการอัปเดตบัตร
  2. เมื่อผู้ใช้แตะการแจ้งเตือน ระบบจะเปิด Google Wallet ไปที่หน้าบัตร (หรือที่เรียกว่ามุมมองการ์ด) และผู้ใช้จะเห็นข้อความไฮไลต์ที่ด้านบนของหน้าจอพร้อมปุ่ม "ตรวจสอบการอัปเดต"
  3. การคลิกปุ่มจะนำผู้ใช้ไปยังหน้าจอที่ผู้ใช้จะเห็นช่องที่อัปเดตแล้ว

สิ่งที่ควรพิจารณาเมื่อส่งการแจ้งเตือนการอัปเดตในสนาม

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

ขั้นตอนการผสานรวม

หากต้องการเรียกให้แสดงการแจ้งเตือนเหล่านี้ คุณจะต้องเรียกใช้ UPDATE หรือ PATCH ที่มีอยู่และระบุ notifyPreference เมื่ออัปเดตช่องในชั้นเรียนหรือออบเจ็กต์ คุณสามารถเพิ่มช่องใหม่ notifyPreference ลงในคำขอชั้นเรียนหรือออบเจ็กต์เพื่อเรียกให้ระบบส่งการแจ้งเตือน

ตัวอย่างคําขอ JSON เพื่ออัปเดตและแจ้งเตือนในชั้นเรียน

    …
    "dateTime":
        {
            "kind": "walletobjects#eventDateTime",
            "doorsOpen": "2024-09-23T19:20:50.00"
        },
    "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
    "notifyPreference": "notifyOnUpdate",
    …
  

การตั้งค่า notifyPreference เป็น notifyOnUpdate จะทริกเกอร์การแจ้งเตือน หากระบบรองรับช่องที่อัปเดตแล้ว

ฟิลด์ที่รองรับ

LoyaltyClass
  • rewardsTier
  • secondaryRewardsTier
  • programName
LoyaltyObject
  • loyaltyPoints.balance
  • secondaryLoyaltyPoints.balance