การแจ้งเตือนที่พาร์ทเนอร์ทริกเกอร์
เพิ่มข้อความและแจ้งเตือน
ฉากหลัง
หลังจากที่ผู้ใช้เพิ่มบัตรแล้ว คุณอาจต้องการส่งข้อความที่เกี่ยวข้องกับบัตรให้ผู้ใช้และตรวจสอบว่าผู้ใช้ได้รับการแจ้งเตือนเกี่ยวกับบัตร เมื่อใช้คำขอ Add Message API
ที่มี message_type
เท่ากับ
TEXT_AND_NOTIFY
จะเกิดสิ่งต่อไปนี้
- ระบบจะเพิ่มรายการ "ข้อความ" ลงใน "ด้านหลังของบัตร" (หรือที่เรียกว่าเทมเพลตรายละเอียด) และจะส่งการแจ้งเตือนแบบพุชไปยังผู้ใช้ที่บันทึกบัตรไว้
- เมื่อผู้ใช้แตะการแจ้งเตือน ระบบจะเปิด Google Wallet ไปที่ด้านหน้าของบัตร (หรือที่เรียกว่ามุมมองบัตร) และผู้ใช้จะเห็นข้อความไฮไลต์ที่ด้านบนของหน้าจอพร้อมปุ่ม "ดูข้อความ"
- การคลิกข้อความไฮไลต์จะนำผู้ใช้ไปยังด้านหลังของบัตร ซึ่งจะมีการไฮไลต์ข้อความใหม่ที่ยังไม่อ่าน
ข้อควรพิจารณาบางประการเมื่อส่งข้อความพร้อมการแจ้งเตือนถึงผู้ใช้
- ผู้ใช้ต้องเปิดใช้การแจ้งเตือนสำหรับบัตรเพื่อรับ การแจ้งเตือนแบบพุชที่เกี่ยวข้องกับข้อความ
- ข้อความอาจมี URI ไปยังเว็บไซต์หรือแอปของคุณ ไฮเปอร์ลิงก์ต้องเป็นเว็บไซต์หรือแอปที่เกี่ยวข้องกับบัตร การนำผู้ใช้ไปยังลิงก์ที่ไม่เกี่ยวข้องกับบัตรถือเป็นการละเมิดนโยบายการใช้งานที่ยอมรับได้
- คุณส่งข้อความที่ทริกเกอร์ข้อความ Push ได้สูงสุด 3 ข้อความในระยะเวลา 24 ชั่วโมง Google อาจจำกัดโควต้าการนำส่งการแจ้งเตือนแบบพุชหากเห็นว่าคุณส่งสแปมให้ผู้ใช้
- Google Wallet เป็นผู้ควบคุมการแจ้งเตือนแบบพุชที่ผู้ใช้เห็นในหน้าจอล็อก
- คุณสามารถใช้วิธี 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 เพื่อเพิ่มข้อความและแจ้งเตือนในออบเจ็กต์บัตร
… "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 เมื่ออัปเดตฟิลด์บางรายการ การแจ้งเตือนจะปรากฏในหน้าจอล็อกของผู้ใช้และแจ้งให้ทราบว่ามีการอัปเดตบัตร การแจ้งเตือนนี้จะทริกเกอร์สำหรับฟิลด์บางส่วนที่เฉพาะเจาะจงเท่านั้น ซึ่งกำหนดไว้ด้านล่างโดยใช้เมธอด API UPDATE และ PATCH เมื่อมีการเรียก API เพื่ออัปเดตบัตร สิ่งที่จะเกิดขึ้นมีดังนี้
- ระบบจะทริกเกอร์ข้อความ Push และแสดงในหน้าจอล็อกของผู้ใช้เพื่อแจ้งให้ทราบเกี่ยวกับการอัปเดตบัตร
- เมื่อผู้ใช้แตะการแจ้งเตือน ระบบจะเปิด Google Wallet ไปที่ด้านหน้าของ บัตรผ่าน (หรือที่เรียกว่ามุมมองบัตร) และผู้ใช้จะเห็นข้อความไฮไลต์ที่ด้านบนของหน้าจอพร้อมปุ่ม "ตรวจสอบ การอัปเดต"
- การคลิกปุ่มจะนำผู้ใช้ไปยังหน้าจอที่ผู้ใช้สามารถดูช่องที่การอัปเดตเปลี่ยนแปลงได้
ข้อควรพิจารณาบางประการเมื่อส่งการแจ้งเตือนการอัปเดตฟิลด์
- ผู้ใช้ต้องเปิดใช้การแจ้งเตือนสำหรับบัตรเพื่อให้ได้รับข้อความ Push ที่เกี่ยวข้องกับการอัปเดต
- คุณส่งการอัปเดตที่ทริกเกอร์ข้อความ Push ได้สูงสุด 3 รายการในช่วงเวลา 24 ชั่วโมง Google อาจจำกัดโควต้าการนำส่งการแจ้งเตือนแบบพุชหากเห็นว่าคุณ ส่งสแปมให้ผู้ใช้
- Google Wallet เป็นผู้ควบคุมการแจ้งเตือนแบบพุชที่ผู้ใช้เห็นในหน้าจอล็อก
- ฟิลด์
notifyPreference
เป็นฟิลด์ชั่วคราว ซึ่งมีอยู่ในคำขอนี้เท่านั้น สำหรับคำขอในอนาคตเมื่อคุณต้องการทริกเกอร์การแจ้งเตือน คุณจะต้องรีเซ็ตฟิลด์นี้ในคำขอระดับชั้นเรียนหรือออบเจ็กต์
ขั้นตอนการผสานรวม
หากต้องการทริกเกอร์การแจ้งเตือนเหล่านี้ คุณจะต้องใช้การเรียก UPDATE หรือ PATCH
ที่มีอยู่ และระบุ notifyPreference เมื่ออัปเดตฟิลด์ในชั้นเรียนหรือออบเจ็กต์ คุณจะ
เพิ่มฟิลด์ใหม่ notifyPreference
ลงในคำขอของชั้นเรียนหรือออบเจ็กต์เพื่อทริกเกอร์
การแจ้งเตือนได้
ตัวอย่างคำขอ JSON เพื่ออัปเดตและแจ้งเตือนในชั้นเรียน
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
การตั้งค่า notifyPreference
เป็น notifyOnUpdate
จะทริกเกอร์การแจ้งเตือน หากฟิลด์ที่อัปเดตรองรับในปัจจุบัน
ฟิลด์ที่รองรับ
FlightObject
- boardingAndSeatingInfo.seatNumber
- boardingAndSeatingInfo.seatAssignment
การแจ้งเตือน Nearby
ฟีเจอร์นี้จะแสดงการแจ้งเตือนแบบพุชแก่ผู้ใช้ที่เปิดใช้การแจ้งเตือนและให้สิทธิ์เข้าถึงตำแหน่งที่แน่นอนตลอดเวลาแก่แอป Google Wallet เพื่อเตือนว่าผู้ใช้ได้บันทึกบัตรที่เกี่ยวข้องกับตำแหน่งปัจจุบันไว้แล้วขั้นตอนการผสานรวม
วิธีใช้
หากต้องการใช้ฟีเจอร์นี้ คุณต้องเพิ่มสถานที่ตั้งลงในชั้นเรียนและออบเจ็กต์ คุณเพิ่มสถานที่ได้สูงสุด 10 แห่งต่อชั้นเรียนและ 10 แห่งต่อออบเจ็กต์ ใช้ MerchantLocations
ในคลาสหรือออบเจ็กต์
คำจำกัดความ คุณเพิ่มสถานที่เหล่านี้ได้เมื่อใช้วิธี insert
, patch
หรือ update
หลังจากเพิ่มสถานที่ตั้งลงในชั้นเรียนหรือออบเจ็กต์แล้ว Google จะส่งการแจ้งเตือนให้ผู้ใช้เมื่อผู้ใช้ อยู่ใกล้สถานที่ตั้ง Google จะเป็นผู้กำหนดว่าผู้ใช้ต้องอยู่ใกล้กับพื้นที่ดังกล่าวมากน้อยเพียงใดและต้องอยู่ในพื้นที่นานเท่าใด ก่อนที่จะส่งการแจ้งเตือน นอกจากนี้ Google ยังควบคุมข้อความของการแจ้งเตือนด้วย
ตัวอย่าง LoyaltyClass ที่ตั้งค่า MerchantLocations{ "kind": "walletobjects#loyaltyClass", "programLogo": { "kind": "walletobjects#image", "sourceUri": { "uri": ... } }, "localizedProgramName": { "kind": "walletobjects#localizedString", "defaultValue": { "kind": "walletobjects#translatedString", "language": "en", "value": "Program Name", } }, "id": Id1234, "version": "1", "allowMultipleUsersPerObject": true, "reviewStatus": "underReview", "enableSmartTap": false, "localizedIssuerName": { "kind": "walletobjects#localizedString", "defaultValue": { "kind": "walletobjects#translatedString", "language": "en", "value": "Issuer Name" } }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "merchantLocations": [ { "latitude": 37.79020867928078, "longitude": -122.39004 }, { "latitude": 37.42587, "longitude": -122.08620 }, ] }
ลักษณะการทำงานที่คาดไว้
ผู้ใช้ควรได้รับการแจ้งเตือนแบบติดหนึบเกี่ยวกับบัตรเมื่ออยู่ที่ MerchantLocation ที่ระบุ หากคลิกการแจ้งเตือน ระบบจะเปิดบัตรใน Google Wallet ผู้ใช้สามารถปิดการแจ้งเตือนด้วยท่าทางสัมผัสการปัด เมื่อผู้ใช้ออกจากสถานที่ การแจ้งเตือนจะหายไป
การแจ้งเตือนอัตโนมัติที่ทริกเกอร์โดย Google Wallet
การแจ้งเตือนที่กำลังจะมาถึง
Google Wallet จะส่งการแจ้งเตือนให้ผู้ใช้ 3 ชั่วโมงก่อน
เที่ยวบิน ระยะเวลาของเที่ยวบินกำหนดโดย
class.localScheduledDepartureDateTime
หากต้องการรับการแจ้งเตือนนี้ ผู้ใช้ต้องเปิดใช้การแจ้งเตือน โดยผู้ใช้สามารถตรวจสอบได้โดย ไปที่การตั้งค่า > การแจ้งเตือน แล้วดูว่าข้อมูลอัปเดตเกี่ยวกับบัตรเปิดอยู่หรือไม่
การแจ้งเตือนจะปรากฏในพื้นที่การแจ้งเตือนและในหน้าจอล็อก หากผู้ใช้ เปิดใช้การแจ้งเตือนสำหรับหน้าจอล็อก
การแจ้งเตือนจะมีรูปแบบต่อไปนี้ซึ่งแก้ไขไม่ได้
Boarding pass for your flight to class.destination.airportIataCode
หากแตะการแจ้งเตือนและปลดล็อกอุปกรณ์ บัตรจะปรากฏในแอป Google Wallet
หากผู้ใช้มีบัตรหลายใบ ระบบจะแสดงเฉพาะบัตรที่ใช้ได้เร็วที่สุด หากผู้ใช้เพิ่มบัตรหลายใบที่จัดกลุ่มไว้ตามจัดกลุ่มบัตรขึ้นเครื่องหลายใบ การแจ้งเตือนจะแสดงบัตรเพียงใบเดียวในกลุ่ม แต่เมื่อแตะแล้ว ผู้ใช้จะปัดไปทางซ้ายและขวาเพื่อดูบัตรอื่นๆ ในกลุ่มนั้นได้
การแจ้งเตือนจะปักหมุดไว้และจะไม่ปิดโดยอัตโนมัติหลังจากที่ผู้ใช้เปิด ระบบจะปิดโดยอัตโนมัติหลังจาก class.localScheduledDepartureDateTime
ผ่านไป 60
นาที
การแจ้งเตือนข้อมูลอัปเดตเกี่ยวกับเที่ยวบิน
เมื่อมีการเปลี่ยนแปลงฟิลด์บางอย่างของเที่ยวบิน ผู้ใช้ที่เพิ่มบอร์ดดิ้งพาสอย่างน้อย 1 รายการ จะได้รับการแจ้งเตือนแบบพุชในอุปกรณ์ ซึ่งจะเกิดขึ้นก็ต่อเมื่อเป็นไปตามเงื่อนไขบางประการเท่านั้น
อาคารผู้โดยสารและประตูต้นทาง
หากคุณเปลี่ยน class.origin.terminal
หรือ class.origin.gate
และเป็นไปตามเงื่อนไขต่อไปนี้ ระบบจะส่งการแจ้งเตือนว่ามีการเปลี่ยนแปลงฟิลด์
- เหลือเวลาอีกไม่ถึง 3 ชั่วโมง
ก่อนถึง
class.localScheduledDepartureDateTime
การแจ้งเตือนจะมีรูปแบบดังนี้ "สายการบินตัวอย่างได้อัปเดตประตูขึ้นเครื่องเป็น A1" คุณเปลี่ยนรูปแบบ ไม่ได้
เวลาขึ้นเครื่องและเวลาออกเดินทาง
หากคุณเปลี่ยน class.localBoardingDateTime
หรือ class.localEstimatedOrActualDepartureDateTime
และเป็นไปตามเงื่อนไขด้านล่าง ระบบจะส่งการแจ้งเตือนว่ามีการเปลี่ยนแปลงฟิลด์
- เหลือเวลาอีกไม่ถึง 24 ชั่วโมง
ก่อนถึง
class.localScheduledDepartureDateTime
- เวลาที่เกี่ยวข้องจะเปลี่ยนไปอย่างน้อย 10 นาทีหรือมากกว่านั้น
การแจ้งเตือนจะอยู่ในรูปแบบ "_Sample Airlines ได้อัปเดตเวลาขึ้นเครื่องเป็น 18:00 น._" คุณปรับแต่งรูปแบบหรือภาษาไม่ได้