กระตุ้นการมีส่วนร่วมในแอปด้วยการเข้าถึงผู้ใช้ในที่ที่ผู้ใช้อยู่ ผสานรวม Engage SDK เพื่อส่งคำแนะนำที่ปรับเปลี่ยนตามการใช้งานของผู้ใช้และเนื้อหาต่อเนื่องไปยัง ผู้ใช้โดยตรงในแพลตฟอร์มต่างๆ ในอุปกรณ์ เช่น คอลเล็กชัน, Entertainment Space และ Google Play Store การผสานรวมจะเพิ่มขนาด APK โดยเฉลี่ยไม่ถึง 50 KB (บีบอัด) และใช้เวลาของนักพัฒนาแอปประมาณ 1 สัปดาห์สำหรับแอปส่วนใหญ่ ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ ธุรกิจ
คู่มือนี้มีวิธีการสำหรับพาร์ทเนอร์นักพัฒนาแอปในการส่งเนื้อหาการเดินทางและ กิจกรรมไปยังแพลตฟอร์มเนื้อหา Engage
รายละเอียดการผสานรวม
คำศัพท์
การผสานรวมนี้รวมถึงคลัสเตอร์ประเภทต่อไปนี้ คำแนะนำ แนะนำ การจอง และค้นหาต่อ
- คลัสเตอร์คำแนะนำจะแสดงคำแนะนำด้านการเดินทางและกิจกรรมที่ปรับเปลี่ยนในแบบของคุณ จากพาร์ทเนอร์นักพัฒนาแอปแต่ละราย คำแนะนำเหล่านี้อาจ ปรับเปลี่ยนในแบบของผู้ใช้หรือเป็นแบบทั่วไป (เช่น สินค้าที่กำลังมาแรง) ใช้ ข้อมูลเหล่านี้เพื่อแสดงคำแนะนำเกี่ยวกับบทความ กิจกรรม ที่พัก หรือสถานที่น่าสนใจ - คลัสเตอร์คำแนะนำอาจประกอบด้วยข้อมูล ArticleEntity,EventEntity,LodgingEntity,PointOfInterestEntityหรือStoreEntityแต่ต้องไม่ใช่การผสมผสานเอนทิตีประเภทต่างๆ
 - คำแนะนำจะมีโครงสร้างดังนี้ - คลัสเตอร์คำแนะนำ: มุมมอง UI ที่มีกลุ่มคำแนะนำจากพาร์ทเนอร์นักพัฒนาแอปรายเดียวกัน 
- เอนทิตี: ออบเจ็กต์ที่แสดงรายการเดียวในคลัสเตอร์ การผสานรวมนี้มีเอนทิตีบางอย่างที่จะแสดงโดยใช้ คลัสเตอร์คำแนะนำ ดังนี้ - ArticleEntity: ArticleEntity แสดงคำแนะนำสำหรับเนื้อหาที่เป็นข้อความซึ่งเกี่ยวข้องกับการเดินทางและกิจกรรม โดยสามารถใช้กับบทความ บล็อกโพสต์ เนื้อหาทางการตลาด ข่าวสารย่อ ฯลฯ   - รูปที่ 1: UI ที่แสดง ArticleEntity รายการเดียวภายในคลัสเตอร์คำแนะนำ 
- EventEntity: EventEntity แสดงถึงกิจกรรมที่จะเกิดขึ้นในอนาคต เวลาเริ่มต้นของกิจกรรมเป็นข้อมูลสำคัญที่ต้องแจ้งให้ผู้ใช้ทราบ   - รูปที่ 2: UI ที่แสดง EventEntity เดียวภายใน คลัสเตอร์คำแนะนำ 
- LodgingEntity: LodgingEntity แสดงถึงที่พัก เช่น โรงแรม อพาร์ตเมนต์ บ้านพักตากอากาศสำหรับเช่าระยะสั้นและระยะยาว   - รูปที่ 3: UI แสดง LodgingEntity รายการเดียว ภายในคลัสเตอร์คำแนะนำ 
- StoreEntity: StoreEntity แสดงถึงร้านค้า ร้านอาหาร คาเฟ่ ฯลฯ โดยจะไฮไลต์เนื้อหาที่ร้านอาหารหรือร้านค้าเป็น ข้อมูลสำคัญที่ต้องสื่อสารกับผู้ใช้   - รูปที่ 4: UI แสดง StoreEntity รายการเดียวภายใน คลัสเตอร์คำแนะนำ 
- PointOfInterestEntity: PointOfInterestEntity แสดงถึง สถานที่ที่น่าสนใจ เช่น ปั๊มน้ำมัน สถานที่จัดกิจกรรม สวนสนุก พิพิธภัณฑ์ สถานที่ท่องเที่ยว เส้นทางเดินป่า ฯลฯ โดยจะไฮไลต์เนื้อหา ซึ่งมีข้อมูลตำแหน่งเป็นข้อมูลสำคัญที่ต้อง สื่อสารให้ผู้ใช้ทราบ ไม่ควรใช้กับที่พัก ร้านค้า หรือสถานที่รับประทานอาหาร   - รูปที่ 5: UI ที่แสดง PointOfInterestEntity รายการเดียวภายในคลัสเตอร์คำแนะนำ 
 
 
- คลัสเตอร์คำแนะนำอาจประกอบด้วยข้อมูล 
- คลัสเตอร์การจองจะแสดงเนื้อหาที่ผู้ใช้มีส่วนร่วมด้วยล่าสุดจาก พาร์ทเนอร์นักพัฒนาแอปหลายรายในการจัดกลุ่ม UI เดียว พาร์ทเนอร์นักพัฒนาแอปแต่ละราย จะได้รับอนุญาตให้เผยแพร่เอนทิตีได้สูงสุด 10 รายการในคลัสเตอร์การจอง - เนื้อหาการจองของคุณสามารถมีโครงสร้างต่อไปนี้ - RestaurantReservationEntity: RestaurantReservationEntity แสดงถึง การจองร้านอาหารหรือคาเฟ่ และช่วยให้ผู้ใช้ติดตามการจองร้านอาหารที่กำลังจะมาถึงหรือ ที่กำลังดำเนินการอยู่   - รูปที่ 6 UI แสดง RestaurantReservationEntity รายการเดียวภายในคลัสเตอร์การจอง 
- EventReservationEntity: EventReservationEntity แสดงถึง การจองกิจกรรมและช่วยให้ผู้ใช้ติดตามการจองกิจกรรมที่กำลังจะเกิดขึ้นหรือกำลังดำเนินอยู่ กิจกรรมอาจรวมถึงแต่ไม่จำกัดเพียงกิจกรรมต่อไปนี้ - การแข่งขันกีฬา เช่น การจองตั๋วเข้าชมการแข่งขันฟุตบอล
- กิจกรรมเกม เช่น การจองสำหรับอีสปอร์ต
- กิจกรรมบันเทิง เช่น การจองตั๋วภาพยนตร์ในโรงภาพยนตร์ คอนเสิร์ต โรงละคร การแจกลายเซ็นหนังสือ
- การจองการเดินทางหรือจุดที่น่าสนใจ เช่น ทัวร์พร้อมไกด์ ตั๋วเข้าชมพิพิธภัณฑ์
- การจองกิจกรรมทางสังคม / สัมมนา / การประชุม
- การจองเซสชันการศึกษา / การฝึกอบรม
   - รูปที่ 7 UI แสดง EventReservationEntity รายการเดียวภายในคลัสเตอร์การจอง 
- LodgingReservationEntity: LodgingEntityReservation แสดงถึง การจองที่พักสำหรับการเดินทางและช่วยให้ผู้ใช้ติดตามการจองโรงแรมหรือที่พักให้เช่าที่กำลังจะมาถึงหรือ ที่กำลังดำเนินการอยู่   - รูปที่ 8 UI แสดง LodgingReservationEntity รายการเดียว ภายในคลัสเตอร์การจอง 
- TransportationReservationEntity: TransportationReservationEntity แสดงถึงการจองการเดินทางในทุกรูปแบบและช่วยให้ผู้ใช้ ติดตามการจองเที่ยวบิน เรือ รถไฟ รถประจำทาง บริการเรียกรถ หรือเรือสำราญที่กำลังจะมาถึงหรือกำลังดำเนินการ   - รูปที่ 9 UI แสดง TransportationReservationEntity รายการเดียวภายในคลัสเตอร์การจอง 
- VehicleRentalReservationEntity: VehicleRentalReservationEntity แสดงถึงการจองรถเช่าและช่วยให้ผู้ใช้ติดตามการจองรถเช่าที่กำลังจะมาถึง หรือที่กำลังดำเนินการอยู่   - รูปที่ 10 UI แสดง VehicleRentalReservationEntity รายการเดียวภายในคลัสเตอร์การจอง 
 
- คลัสเตอร์แนะนำจะแสดงตัวเลือกเอนทิตีจากพาร์ทเนอร์นักพัฒนาแอปหลายราย ในการจัดกลุ่ม UI เดียว โดยจะมีคลัสเตอร์ "แนะนำ" เพียงคลัสเตอร์เดียว ซึ่งจะแสดงที่ด้านบนของ UI พร้อมการจัดวางที่มีลำดับความสำคัญสูงกว่าคลัสเตอร์คำแนะนำทั้งหมด พาร์ทเนอร์นักพัฒนาแอปแต่ละรายจะได้รับอนุญาตให้ ออกอากาศเอนทิตีได้สูงสุด 10 รายการในคลัสเตอร์แนะนำ - GenericFeaturedEntity: GenericFeaturedEntity แตกต่างจาก รายการแนะนำตรงที่ควรใช้รายการแนะนำสำหรับ เนื้อหายอดนิยมรายการเดียวจากนักพัฒนาแอป และควรแสดงเนื้อหาที่สำคัญที่สุด เพียงรายการเดียวซึ่งจะน่าสนใจและเกี่ยวข้องกับผู้ใช้   - รูปที่ 11: UI แสดง FeaturedCluster ที่มี รายการ GenericFeaturedEntity 
 
- คลัสเตอร์ค้นหาต่อช่วยให้ผู้ใช้กลับมาค้นหาการเดินทางก่อนหน้านี้ได้ โดยการแสดงรายการคำค้นหาที่ผู้ใช้ค้นหาล่าสุดในแอปการเดินทางทั้งหมด คลัสเตอร์จะ ปักหมุดไว้ในตำแหน่งที่ 2 ต่อจากคลัสเตอร์การจอง และก่อนคลัสเตอร์แนะนำและ คลัสเตอร์ที่แนะนำ พาร์ทเนอร์นักพัฒนาแอปแต่ละรายจะได้รับอนุญาตให้เผยแพร่ เอนทิตีได้สูงสุด 3 รายการในคลัสเตอร์ "ค้นหาต่อ" - PointOfInterestEntity: PointOfInterestEntity แสดงถึงสถานที่ที่น่าสนใจ เช่น ปั๊มน้ำมัน สถานที่จัดงาน สวนสนุก พิพิธภัณฑ์ สถานที่ท่องเที่ยว เส้นทางเดินป่า ฯลฯ โดยจะไฮไลต์เนื้อหาที่ผู้ใช้เคยค้นหา
 
สิ่งที่ต้องเตรียมก่อนดำเนินการ
ระดับ API ขั้นต่ำ: 19
เพิ่มไลบรารี com.google.android.engage:engage-core ลงในแอป
dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}
สรุป
การออกแบบนี้อิงตามการใช้งานบริการที่เชื่อมโยง
ข้อมูลที่ไคลเอ็นต์เผยแพร่ได้จะขึ้นอยู่กับขีดจำกัดต่อไปนี้สำหรับคลัสเตอร์ประเภทต่างๆ
| ประเภทคลัสเตอร์ | ขีดจำกัดของคลัสเตอร์ | ขีดจำกัดของเอนทิตีขั้นต่ำในคลัสเตอร์ | ขีดจำกัดสูงสุดของเอนทิตีในคลัสเตอร์ | 
|---|---|---|---|
| คลัสเตอร์คำแนะนำ | ไม่เกิน 7 | อย่างน้อย 1 รายการ | สูงสุด 50 รายการ ( ArticleEntity,EventEntity,LodgingEntity,StoreEntityหรือPointOfInterestEntity) | 
| คลัสเตอร์การจอง | มากที่สุด 1 | อย่างน้อย 1 รายการ | สูงสุด 20 รายการ ( RestaurantReservationEntity,EventReservationEntity,LodgingReservationEntity,TransportationReservationEntityหรือVehicleRentalReservationEntity) | 
| คลัสเตอร์แนะนำ | มากที่สุด 1 | อย่างน้อย 1 รายการ | สูงสุด 20 ( GenericFeaturedEntity) | 
| ค้นหาคลัสเตอร์ต่อ | มากที่สุด 1 | อย่างน้อย 1 รายการ | สูงสุด 3 รายการ ( PointOfInterestEntity) | 
ขั้นตอนที่ 1: ระบุข้อมูลนิติบุคคล
SDK ได้กำหนดเอนทิตีต่างๆ เพื่อแสดงรายการแต่ละประเภท เรารองรับ เอนทิตีต่อไปนี้สําหรับหมวดหมู่การท่องเที่ยวและกิจกรรม
- GenericFeaturedEntity
- ArticleEntity
- EventEntity
- LodgingEntity
- StoreEntity
- PointOfInterestEntity
- RestaurantReservationEntity
- EventReservationEntity
- LodgingReservationEntity
- TransportationReservationEntity
- VehicleRentalReservationEntity
แผนภูมิด้านล่างแสดงแอตทริบิวต์ที่มีและข้อกำหนดสำหรับแต่ละประเภท
GenericFeaturedEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ภาพโปสเตอร์ | ต้องระบุ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ที่ด้านบนและด้านล่างของรูปภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| ชื่อ | ไม่บังคับ | ชื่อของเอนทิตี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 50 อักขระ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| ป้าย | ไม่บังคับ | ป้ายแต่ละป้ายเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก การจัดการ UX พิเศษที่ด้านบนของรูปภาพ/วิดีโอ เช่น การวางซ้อนป้ายบนรูปภาพ 
 | |
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อสำหรับป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ | 
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การปรับแต่ง UX พิเศษ เช่น การวางป้ายซ้อนทับบนภาพ/วิดีโอ ภาพปก หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
ArticleEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| ภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 หมายเหตุ: ขอแนะนำให้ใช้รูปภาพ หากมีป้าย ให้ตรวจสอบว่ามีพื้นที่ปลอดภัย 24 dp ทั้งที่ด้านบนและด้านล่างของ รูปภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| แหล่งที่มา - ชื่อ | ไม่บังคับ | ชื่อผู้เขียน องค์กร หรือผู้สื่อข่าว | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 25 อักขระ | 
| แหล่งที่มา - รูปภาพ | ไม่บังคับ | รูปภาพของแหล่งที่มา เช่น ผู้เขียน องค์กร นักข่าว | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| ป้าย | ไม่บังคับ | ป้ายแต่ละป้ายเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก การจัดการ UX พิเศษที่ด้านบนของรูปภาพ/วิดีโอ เช่น การวางซ้อนเป็นป้ายบนรูปภาพ 
 | |
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อสำหรับป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ | 
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การปรับแต่ง UX พิเศษ เช่น การวางป้ายซ้อนทับบนภาพ/วิดีโอ ภาพปก หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| เวลาเผยแพร่เนื้อหา | ไม่บังคับ | การประทับเวลา Epoch เป็นมิลลิวินาทีเมื่อมีการเผยแพร่ / อัปเดตเนื้อหาในแอป | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| เวลาในการมีส่วนร่วมครั้งล่าสุด | ไม่บังคับ | การประทับเวลา Epoch เป็นมิลลิวินาทีเมื่อผู้ใช้โต้ตอบกับ เอนทิตีนี้ครั้งล่าสุด | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| เปอร์เซ็นต์ความคืบหน้า | ไม่บังคับ | เปอร์เซ็นต์ของเนื้อหาทั้งหมดที่ผู้ใช้ดูจนถึงปัจจุบัน | ค่า int ระหว่าง 0~100 | 
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
EventEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| เวลาเริ่มต้นที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch เมื่อคาดว่ากิจกรรมจะเริ่มต้น | Joda-Time Instant | 
| เวลาเริ่มต้นที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาที่คาดว่ากิจกรรมจะเริ่ม | Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| โหมดกิจกรรม | ต้องระบุ | ฟิลด์สำหรับระบุว่ากิจกรรมจะเป็นแบบเสมือนจริง แบบเข้าร่วมด้วยตนเอง หรือทั้ง 2 แบบ | Enum: VIRTUAL, IN_PERSON หรือ HYBRID | 
| ภาพโปสเตอร์ | ต้องระบุ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 หมายเหตุ: ขอแนะนำให้ใช้รูปภาพ หากมีป้าย ให้ตรวจสอบว่ามีพื้นที่ปลอดภัย 24 dp ทั้งที่ด้านบนและด้านล่างของ รูปภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| สถานที่ - ประเทศ | ต้องมีแบบมีเงื่อนไข | ประเทศที่เกิดเหตุการณ์ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - เมือง | ต้องมีแบบมีเงื่อนไข | เมืองที่เกิดเหตุการณ์ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - แสดงที่อยู่ | ต้องมีแบบมีเงื่อนไข | ที่อยู่หรือชื่อสถานที่จัดกิจกรรมที่ควรแสดงต่อผู้ใช้ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - ย่าน | ไม่บังคับ | ย่านใกล้เคียง (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| เวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch เมื่อคาดว่ากิจกรรมจะสิ้นสุด หมายเหตุ: ค่านี้จะแสดงในหน่วยมิลลิวินาที | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| ป้าย | ไม่บังคับ | ป้ายแต่ละป้ายเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก | |
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อสำหรับป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ | 
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การปรับแต่ง UX พิเศษ เช่น การวางป้ายซ้อนทับบนภาพ/วิดีโอ ภาพปก หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| ราคา - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของตั๋ว/บัตรผ่านสำหรับกิจกรรม ต้องระบุหากระบุราคาที่ขีดฆ่า | ข้อความอิสระ | 
| ราคา - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของตั๋ว/บัตรผ่านสำหรับกิจกรรม | ข้อความอิสระ | 
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไป อาจแสดงเป็นจุดไข่ปลา) | 
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์ 
 ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
LodgingEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| ภาพโปสเตอร์ | ต้องระบุ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ที่ด้านบนและด้านล่างของรูปภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| สถานที่ - ประเทศ | ต้องระบุ | ประเทศที่เกิดการเข้าพัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - เมือง | ต้องระบุ | เมืองที่เกิดการเข้าพัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - แสดงที่อยู่ | ต้องระบุ | ที่อยู่ที่แสดงต่อผู้ใช้ เราขอแนะนำให้ระบุ ชื่อเมืองและอาจระบุรัฐหรือประเทศสำหรับกรณีการใช้งานส่วนใหญ่ ระบุเฉพาะ ที่อยู่หรือย่าน หากผู้ใช้อยู่ใกล้สถานที่นั้น ผู้ใช้คุ้นเคยกับสถานที่นั้น หรือหากชื่อเมืองรวมอยู่ในชื่อคลัสเตอร์ หากระบุที่อยู่ ให้ระบุที่อยู่แบบย่อโดยใช้ ตัวย่อหากเป็นไปได้ (เช่น "ถ." สำหรับ "ถนน" "อ." สำหรับ "อเวนิว") | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของที่พัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่ที่พักตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของที่พัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - ย่าน | ไม่บังคับ | ย่าน (หากมี) ของที่พัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ป้าย | ไม่บังคับ | ป้ายแต่ละป้ายเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก | |
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อสำหรับป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ | 
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การปรับแต่ง UX พิเศษ เช่น การวางป้ายซ้อนทับบนภาพ/วิดีโอ ภาพปก หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| AvailabilityTimeWindow - Localized Start Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch เมื่อคาดว่าที่พักจะ เปิด/พร้อมให้บริการ | Joda-Time Instant | 
| AvailabilityTimeWindow - เวลาเริ่มต้นที่แปลแล้ว - เขตเวลา | ไม่บังคับ | เขตเวลาที่คาดว่าที่พักจะ เปิด/พร้อมให้บริการ | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| AvailabilityTimeWindow - Localized End Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch จนกว่าจะคาดว่าที่พักจะเปิด/พร้อมให้บริการ | Joda-Time Instant | 
| AvailabilityTimeWindow - Localized End Time - Timezone | ไม่บังคับ | เขตเวลาที่คาดว่าที่พักจะ เปิด/พร้อมให้บริการ | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| การจัดประเภท - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของระดับการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การจัดประเภท - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของระดับการให้คะแนน ต้องระบุหากระบุค่าสูงสุดของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนที่พัก หมายเหตุ: ระบุฟิลด์นี้หากแอปต้องการ ควบคุมวิธีแสดงต่อผู้ใช้ ระบุสตริงที่กระชับ ซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ระบบตัดข้อความ ในขนาดการแสดงผลที่เล็กลง | สตริง | 
| การจัดประเภท - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนที่พัก หมายเหตุ: ระบุช่องนี้หากไม่ต้องการจัดการ ตรรกะการย่อคำที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ | ยาว | 
| ราคา - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของที่พัก ต้องระบุหากระบุราคาขีดทับ | ข้อความอิสระ | 
| ราคา - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของที่พักซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ | 
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไป อาจแสดงเป็นจุดไข่ปลา) | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
StoreEntity
ออบเจ็กต์ StoreEntity แสดงถึงร้านค้าแต่ละแห่งที่พาร์ทเนอร์นักพัฒนาแอป
ต้องการเผยแพร่ เช่น ร้านอาหารยอดนิยมหรือร้านอาหารที่เกี่ยวข้องกับ
ประสบการณ์การเดินทางของบุคคล
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| ภาพโปสเตอร์ | ต้องระบุ | ต้องระบุรูปภาพอย่างน้อย 1 ภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ไม่บังคับ | ชื่อร้านค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) | 
| ตำแหน่ง | ไม่บังคับ | สถานที่ตั้งของร้านค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) | 
| ข้อความเสริม | ไม่บังคับ | ข้อความไฮไลต์เพื่อแสดงโปรโมชัน กิจกรรม หรือข้อมูลอัปเดตสำหรับร้านค้า หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) | 
| ข้อกำหนดและเงื่อนไขของข้อความไฮไลต์ | ไม่บังคับ | ข้อความข้อกำหนดและเงื่อนไขสำหรับข้อความไฮไลต์ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) | 
| คำอธิบาย | ไม่บังคับ | คำอธิบายของร้านค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 90 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) | 
| หมวดหมู่ | ไม่บังคับ | หมวดหมู่ของร้านค้า ในบริบทของสถานที่รับประทานอาหาร อาจเป็น อาหาร เช่น "ฝรั่งเศส" "อเมริกันสมัยใหม่" "ราเม็ง" "ไฟน์ไดนิ่ง" | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) | 
| การจัดประเภท - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของระดับการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การจัดประเภท - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของระดับการให้คะแนน ต้องระบุหากระบุค่าสูงสุดของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนที่พัก หมายเหตุ: ระบุฟิลด์นี้หากแอปต้องการ ควบคุมวิธีแสดงต่อผู้ใช้ ระบุสตริงที่กระชับ ซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ระบบตัดข้อความ ในขนาดการแสดงผลที่เล็กลง | สตริง | 
| การจัดประเภท - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนที่พัก หมายเหตุ: ระบุช่องนี้หากไม่ต้องการจัดการ ตรรกะการย่อคำที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ | ยาว | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
PointOfInterestEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| ภาพโปสเตอร์ | ต้องมีแบบมีเงื่อนไข | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 หมายเหตุ: ต้องมีรูปภาพหากเอนทิตีเป็นส่วนหนึ่งของ คลัสเตอร์คำแนะนำ หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ทั้งที่ด้านบนและด้านล่างของรูปภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| เวลาในการมีส่วนร่วมครั้งล่าสุด | ต้องมีแบบมีเงื่อนไข | การประทับเวลา Epoch เมื่อผู้ใช้โต้ตอบกับเอนทิตีนี้ครั้งล่าสุด หมายเหตุ: ต้องระบุฟิลด์นี้หากเอนทิตีเป็นส่วนหนึ่งของ คลัสเตอร์การค้นหาต่อเนื่อง | Joda-Time Instant | 
| สถานที่ - ประเทศ | ต้องมีแบบมีเงื่อนไข | ประเทศที่จุดสนใจนั้นเกิดขึ้น หมายเหตุ: ต้องระบุฟิลด์นี้หากเอนทิตีเป็นส่วนหนึ่งของ คลัสเตอร์คำแนะนำ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - เมือง | ต้องมีแบบมีเงื่อนไข | เมืองที่จุดสนใจเกิดขึ้น หมายเหตุ: ต้องระบุฟิลด์นี้หากเอนทิตีเป็นส่วนหนึ่งของ คลัสเตอร์คำแนะนำ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - แสดงที่อยู่ | ต้องมีแบบมีเงื่อนไข | ที่อยู่ที่แสดงต่อผู้ใช้ ระบุที่อยู่แบบย่อ โดยใช้ตัวย่อหากเป็นไปได้ (เช่น "ถ." สำหรับ "ถนน" "ซ." สำหรับ "ซอย") สตริงนี้อาจถูกตัดทอนโดยขึ้นอยู่กับ อุปกรณ์และการตั้งค่าของผู้ใช้ ระบุชื่อเมืองเพื่อให้ระบุ ได้อย่างชัดเจน หมายเหตุ: ต้องระบุฟิลด์นี้หากเอนทิตีเป็นส่วนหนึ่งของ คลัสเตอร์คำแนะนำ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 35 อักขระ | 
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของจุดที่น่าสนใจ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่จุดสนใจตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของจุดที่น่าสนใจ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - ย่าน | ไม่บังคับ | ย่าน (หากมี) ของจุดที่น่าสนใจ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| AvailabilityTimeWindow - Localized Start Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch เมื่อคาดว่าจุดที่น่าสนใจจะ เปิด/พร้อมให้บริการ | Joda-Time Instant | 
| AvailabilityTimeWindow - เวลาเริ่มต้นที่แปลแล้ว - เขตเวลา | ไม่บังคับ | เขตเวลาที่คาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| AvailabilityTimeWindow - Localized End Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch จนถึงเวลาที่คาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ | Joda-Time Instant | 
| AvailabilityTimeWindow - Localized End Time - Timezone | ไม่บังคับ | เขตเวลาที่คาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| ป้าย | ไม่บังคับ | ป้ายแต่ละป้ายเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก | |
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อสำหรับป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ | 
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การปรับแต่ง UX พิเศษ เช่น การวางป้ายซ้อนทับบนภาพ/วิดีโอ ภาพปก หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| การจัดประเภท - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของระดับการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การจัดประเภท - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของระดับการให้คะแนน ต้องระบุหากระบุค่าสูงสุดของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับจุดที่น่าสนใจ หมายเหตุ: ระบุฟิลด์นี้หากแอปต้องการ ควบคุมวิธีแสดงต่อผู้ใช้ ระบุสตริงที่กระชับ ซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ระบบตัดข้อความ ในขนาดการแสดงผลที่เล็กลง | สตริง | 
| การจัดประเภท - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับจุดที่น่าสนใจ หมายเหตุ: ระบุช่องนี้หากไม่ต้องการจัดการ ตรรกะการย่อคำที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ | ยาว | 
| ราคา - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของตั๋ว/บัตรผ่านเข้าชมจุดที่น่าสนใจ ต้องระบุหากระบุราคาที่ขีดฆ่า | ข้อความอิสระ | 
| ราคา - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของตั๋ว/บัตรผ่านเข้าชมสำหรับจุดที่น่าสนใจ | ข้อความอิสระ | 
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจ แสดงจุดไข่ปลา) | 
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์ 
 ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
RestaurantReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| เวลาเริ่มต้นการจองที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch เมื่อคาดว่าการจองจะเริ่มต้น | Joda-Time Instant | 
| เวลาเริ่มต้นการจองที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาที่คาดว่าการจองจะเริ่มต้น | Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| สถานที่ - ประเทศ | ต้องระบุ | ประเทศที่ร้านอาหารตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - เมือง | ต้องระบุ | เมืองที่ร้านอาหารตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - แสดงที่อยู่ | ต้องระบุ | ที่อยู่ของร้านอาหารที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของร้านอาหาร | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่ร้านอาหารตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ของร้านอาหาร (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - ย่าน | ไม่บังคับ | ย่าน (หากมี) ของร้านอาหาร | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| ขนาดตาราง | ไม่บังคับ | จำนวนคนในกลุ่มการจอง | จำนวนเต็ม > 0 | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
EventReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| เวลาเริ่มต้นที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch เมื่อคาดว่ากิจกรรมจะเริ่มต้น | Joda-Time Instant | 
| เวลาเริ่มต้นที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาที่คาดว่ากิจกรรมจะเริ่ม | Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| โหมดกิจกรรม | ต้องระบุ | ฟิลด์สำหรับระบุว่ากิจกรรมจะเป็นแบบเสมือนจริง แบบเข้าร่วมด้วยตนเอง หรือทั้ง 2 แบบ | Enum: VIRTUAL, IN_PERSON หรือ HYBRID | 
| สถานที่ - ประเทศ | ต้องมีแบบมีเงื่อนไข | ประเทศที่เกิดเหตุการณ์ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - เมือง | ต้องมีแบบมีเงื่อนไข | เมืองที่เกิดเหตุการณ์ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - แสดงที่อยู่ | ต้องมีแบบมีเงื่อนไข | ที่อยู่หรือชื่อสถานที่จัดกิจกรรมที่ควรแสดงต่อผู้ใช้ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - ย่าน | ไม่บังคับ | ย่านใกล้เคียง (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 หมายเหตุ: ขอแนะนำให้ใช้รูปภาพ หากมีป้าย ให้ตรวจสอบว่ามีพื้นที่ปลอดภัย 24 dp ทั้งที่ด้านบนและด้านล่างของ รูปภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| เวลาสิ้นสุดที่แปลแล้ว - การประทับเวลา | ไม่บังคับ | การประทับเวลา Epoch เมื่อคาดว่ากิจกรรมจะสิ้นสุด | Joda-Time Instant | 
| เวลาสิ้นสุดที่แปลแล้ว - เขตเวลา | ไม่บังคับ | เขตเวลาที่คาดว่ากิจกรรมจะสิ้นสุด | Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| ผู้ให้บริการ - ชื่อ | ไม่บังคับ | ชื่อผู้ให้บริการ หมายเหตุ: ผู้ให้บริการต้องระบุข้อความหรือรูปภาพอย่างใดอย่างหนึ่ง | ข้อความอิสระ เช่น ชื่อของผู้จัดกิจกรรม/ทัวร์ | 
| ผู้ให้บริการ - รูปภาพ | ไม่บังคับ | โลโก้/รูปภาพของผู้ให้บริการ หมายเหตุ: ผู้ให้บริการต้องระบุข้อความหรือรูปภาพอย่างใดอย่างหนึ่ง | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| ป้าย | ไม่บังคับ | ป้ายแต่ละป้ายเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก | |
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อสำหรับป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ | 
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การปรับแต่ง UX พิเศษ เช่น การวางป้ายซ้อนทับบนภาพ/วิดีโอ ภาพปก หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| รหัสการจอง | ไม่บังคับ | รหัสการจองสำหรับการจองกิจกรรม | ข้อความอิสระ | 
| ราคา - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของตั๋ว/บัตรผ่านสำหรับกิจกรรม ต้องระบุหากระบุราคาที่ขีดฆ่า | ข้อความอิสระ | 
| ราคา - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของตั๋ว/บัตรผ่านสำหรับกิจกรรม | ข้อความอิสระ | 
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไป อาจแสดงเป็นจุดไข่ปลา) | 
| การจัดประเภท - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของระดับการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การจัดประเภท - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของระดับการให้คะแนน ต้องระบุหากระบุค่าสูงสุดของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับกิจกรรม หมายเหตุ: ระบุฟิลด์นี้หากแอปต้องการ ควบคุมวิธีแสดงต่อผู้ใช้ ระบุสตริงที่กระชับ ซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ระบบตัดข้อความ ในขนาดการแสดงผลที่เล็กลง | สตริง | 
| การจัดประเภท - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับกิจกรรม หมายเหตุ: ระบุช่องนี้หากไม่ต้องการจัดการ ตรรกะการย่อคำที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ | ยาว | 
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์ 
 ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
LodgingReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "การเข้าพักตั้งแต่วันที่ 12 ธ.ค." ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| เวลาเช็คอินที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาเช็คอินสำหรับการจอง | Joda-Time Instant | 
| เวลาเช็คอินที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาที่มีเวลาเช็คอินสำหรับการจอง | Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| เวลาเช็คเอาต์ที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาเช็คเอาต์สำหรับการจอง | Joda-Time Instant | 
| เวลาเช็คเอาต์ที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาที่มีเวลาเช็คเอาต์สำหรับการจอง | Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| สถานที่ - ประเทศ | ต้องระบุ | ประเทศที่ที่พักตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - เมือง | ต้องระบุ | เมืองที่ที่พักตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - แสดงที่อยู่ | ต้องระบุ | ที่อยู่ที่แสดงต่อผู้ใช้ ระบุที่อยู่แบบย่อ โดยใช้ตัวย่อหากเป็นไปได้ (เช่น "ถ." สำหรับ "ถนน", "อ." สำหรับ "อำเภอ") ระบบอาจตัดสตริงนี้ออกโดยขึ้นอยู่กับอุปกรณ์และการตั้งค่าของผู้ใช้ ระบุชื่อเมืองเพื่อให้ระบุได้ชัดเจน | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 35 อักขระ | 
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของที่พัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่ที่พักตั้งอยู่ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของที่พัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ - ย่าน | ไม่บังคับ | ย่าน (หากมี) ของที่พัก | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ที่ด้านบนและด้านล่างของรูปภาพ | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| รหัสการจอง | ไม่บังคับ | รหัสการจองที่พัก | ข้อความอิสระ | 
| การจัดประเภท - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของระดับการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การจัดประเภท - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของระดับการให้คะแนน ต้องระบุหากระบุค่าสูงสุดของการจัดประเภทด้วย | ตัวเลข >= 0.0 | 
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนที่พัก หมายเหตุ: ระบุฟิลด์นี้หากแอปต้องการ ควบคุมวิธีแสดงต่อผู้ใช้ ระบุสตริงที่กระชับ ซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ระบบตัดข้อความ ในขนาดการแสดงผลที่เล็กลง | สตริง | 
| การจัดประเภท - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนที่พัก หมายเหตุ: ระบุช่องนี้หากไม่ต้องการจัดการ ตรรกะการย่อคำที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ | ยาว | 
| ราคา - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของที่พัก ต้องระบุหากระบุราคาขีดทับ | ข้อความอิสระ | 
| ราคา - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของที่พักซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ | 
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไป อาจแสดงเป็นจุดไข่ปลา) | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
TransportationReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "SFO ไป SAN" ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| ประเภทการขนส่ง | ต้องระบุ | รูปแบบ/ประเภทการเดินทางสำหรับการจอง | Enum: FLIGHT, TRAIN, BUS หรือ FERRY | 
| เวลาออกเดินทางที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาออกเดินทาง | Joda-Time Instant | 
| เวลาออกเดินทางที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลาออกเดินทาง | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| เวลาถึงที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาถึง | Joda-Time Instant | 
| เวลาถึงที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลาถึง | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| หมายเลขการขนส่ง | ต้องระบุ | หมายเลขเที่ยวบิน หมายเลขรถประจำทาง หมายเลขรถไฟ หรือหมายเลขเรือเฟอร์รี/เรือสำราญ | ข้อความอิสระ | 
| เวลาขึ้นเครื่องที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาขึ้นเครื่องสำหรับการจอง (หากมี) | Joda-Time Instant | 
| เวลาขึ้นเครื่องที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลาขึ้นเครื่องสำหรับการจอง (หากมี) | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| สถานที่ออกเดินทาง - ประเทศ | ไม่บังคับ | ประเทศที่ออกเดินทาง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ออกเดินทาง - เมือง | ไม่บังคับ | เมืองที่ออกเดินทาง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ออกเดินทาง - แสดงที่อยู่ | ไม่บังคับ | สถานที่ออกเดินทางที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ออกเดินทาง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ออกเดินทาง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ออกเดินทาง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ออกเดินทาง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่มาถึง - ประเทศ | ไม่บังคับ | ประเทศปลายทาง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่มาถึง - เมือง | ไม่บังคับ | เมืองที่เดินทางมาถึง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่ตั้งที่มาถึง - แสดงที่อยู่ | ไม่บังคับ | สถานที่มาถึงที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่มาถึง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่มาถึง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่มาถึง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่มาถึง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่มาถึง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่มาถึง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| สถานที่มาถึง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของสถานที่มาถึง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ผู้ให้บริการ - ชื่อ | ไม่บังคับ | ชื่อผู้ให้บริการ หมายเหตุ: ผู้ให้บริการต้องระบุข้อความหรือรูปภาพอย่างใดอย่างหนึ่ง | ข้อความอิสระ เช่น ชื่อสายการบิน | 
| ผู้ให้บริการ - รูปภาพ | ไม่บังคับ | โลโก้/รูปภาพของผู้ให้บริการ หมายเหตุ: ผู้ให้บริการต้องระบุข้อความหรือรูปภาพอย่างใดอย่างหนึ่ง | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| ภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| รหัสการจอง | ไม่บังคับ | รหัสการจองสำหรับการจองการเดินทาง | ข้อความอิสระ | 
| ราคา - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของการจอง ต้องระบุหากระบุราคาขีดทับ | ข้อความอิสระ | 
| ราคา - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของการจองซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ | 
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไป อาจแสดงเป็นจุดไข่ปลา) | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
VehicleRentalReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ | 
|---|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ โปรดดูคำถามที่พบบ่อยนี้ | URI | 
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "Avis Union Square SF" ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ | 
| เวลาที่รับสินค้าที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาไปรับสำหรับการจอง | Joda-Time Instant | 
| เวลาที่รับสินค้าที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลารับสำหรับการจอง | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| เวลาคืนที่แปลแล้ว - การประทับเวลา | ไม่บังคับ | การประทับเวลา Epoch ที่แสดงเวลาเช็คเอาต์สำหรับการจอง | Joda-Time Instant | 
| เวลาเดินทางกลับที่แปลแล้ว - เขตเวลา | ไม่บังคับ | เขตเวลาของเวลาเช็คเอาต์สำหรับการจอง | DateTimeZone ของ Joda-Time ดูคำแนะนำได้ที่ข้อกำหนดเฉพาะของเขตเวลา | 
| ที่อยู่ในการรับ - ประเทศ | ไม่บังคับ | ประเทศของสถานที่รับสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่ในการรับ - เมือง | ไม่บังคับ | เมืองของสถานที่รับสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่ในการรับ - ที่อยู่ที่แสดง | ไม่บังคับ | สถานที่รับสินค้าที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่ในการรับ - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่รับสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่ในการรับ - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่รับ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่ในการรับ - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่รับ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่ในการรับ - ย่าน | ไม่บังคับ | ย่านใกล้เคียง (หากมี) ของสถานที่รับ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่สำหรับคืนสินค้า - ประเทศ | ไม่บังคับ | ประเทศของสถานที่คืนสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่สำหรับคืนสินค้า - เมือง | ไม่บังคับ | เมืองของสถานที่ตั้งสำหรับการคืนสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่สำหรับคืนสินค้า - ที่อยู่สำหรับแสดง | ไม่บังคับ | สถานที่ส่งคืนที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่สำหรับคืนสินค้า - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่คืนสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่สำหรับคืนสินค้า - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่ส่งคืน | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่สำหรับคืนสินค้า - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่คืนสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ที่อยู่สำหรับคืนสินค้า - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของสถานที่คืนสินค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 20 อักขระ | 
| ผู้ให้บริการ - ชื่อ | ไม่บังคับ | ชื่อผู้ให้บริการ หมายเหตุ: ผู้ให้บริการต้องระบุข้อความหรือรูปภาพอย่างใดอย่างหนึ่ง | ข้อความอิสระ เช่น "Avis Car Rental" | 
| ผู้ให้บริการ - รูปภาพ | ไม่บังคับ | โลโก้/รูปภาพของผู้ให้บริการ หมายเหตุ: ผู้ให้บริการต้องระบุข้อความหรือรูปภาพอย่างใดอย่างหนึ่ง | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| ภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อได้รับรูปภาพหลายรูป สัดส่วนภาพที่แนะนําคือ 16:9 | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ | 
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ | 
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายแทนเสียงสูงสุด 3 รายการ โดยแต่ละรายการเป็นข้อความ 1 บรรทัด หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายแทนเสียงอย่างใดอย่างหนึ่งต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง | ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแทนเสียงแต่ละรายการ: สูงสุด 50 อักขระ | 
| รหัสยืนยัน | ไม่บังคับ | รหัสยืนยันสำหรับการจองรถเช่า | ข้อความอิสระ | 
| ราคา - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของการจอง ต้องระบุหากระบุราคาขีดทับ | ข้อความอิสระ | 
| ราคา - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของการจองซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ | 
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก หากมี | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไป อาจแสดงเป็นจุดไข่ปลา) | 
| DisplayTimeWindow (ไม่บังคับ) - ตั้งค่ากรอบเวลา สำหรับเนื้อหาที่จะแสดงในแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ควรแสดงเนื้อหาบน แพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
| การประทับเวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch หลังจากที่ระบบจะไม่แสดงเนื้อหาบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงในแพลตฟอร์ม | การประทับเวลา Epoch ในหน่วยมิลลิวินาที | 
ข้อกำหนดเกี่ยวกับรูปภาพ
ข้อกำหนดที่จำเป็นสำหรับชิ้นงานรูปภาพแสดงอยู่ในตารางนี้
| สัดส่วนภาพ | พิกเซลขั้นต่ำ | พิกเซลที่แนะนํา | 
|---|---|---|
| สี่เหลี่ยมจัตุรัส (1x1) Preferred | 300x300 | 1200x1200 | 
| แนวนอน (1.91x1) | 600x314 | 1200x628 | 
| แนวตั้ง (4x5) | 480x600 | 960x1200 | 
รูปภาพต้องโฮสต์อยู่ใน CDN สาธารณะเพื่อให้ Google เข้าถึง รูปภาพได้
รูปแบบไฟล์
PNG, JPG, GIF แบบภาพนิ่ง, WebP
ขนาดไฟล์สูงสุด
5120 KB
คำแนะนำเพิ่มเติม
- พื้นที่ปลอดภัยของรูปภาพ: ใส่เนื้อหาที่สําคัญไว้ตรงกลาง 80% ของ รูปภาพ
- ใช้พื้นหลังโปร่งใสเพื่อให้รูปภาพแสดงอย่างถูกต้องในการตั้งค่าธีมมืดและธีมสว่าง
ข้อกำหนดของเขตเวลา
ควรใช้รหัส (เช่น "America/Los_Angeles") แทนออฟเซ็ต (เช่น "-07:00")
ตัวอย่างการใช้งาน: DateTimeZone.forID("America/Los_Angeles")
หมวดหมู่เนื้อหา
หมวดหมู่เนื้อหาช่วยให้แอปเผยแพร่เนื้อหาที่อยู่ในหลายหมวดหมู่ได้ ซึ่งจะแมปเนื้อหากับหมวดหมู่ที่กำหนดไว้ล่วงหน้าบางหมวดหมู่ ได้แก่
- TYPE_EDUCATION
- TYPE_SPORTS
- TYPE_MOVIES_AND_TV_SHOWS
- TYPE_BOOKS
- TYPE_AUDIOBOOKS
- TYPE_MUSIC
- TYPE_DIGITAL_GAMES
- TYPE_TRAVEL_AND_LOCAL
- TYPE_HOME_AND_AUTO
- TYPE_BUSINESS
- TYPE_NEWS
- TYPE_FOOD_AND_DRINK
- TYPE_SHOPPING
- TYPE_HEALTH_AND_FITENESS
- TYPE_MEDICAL
- TYPE_PARENTING
- TYPE_DATING
รูปภาพต้องโฮสต์อยู่ใน CDN สาธารณะเพื่อให้ Google เข้าถึง รูปภาพได้
หลักเกณฑ์ในการใช้หมวดหมู่เนื้อหา
- เอนทิตีบางรายการ เช่น ArticleEntity และ GenericFeaturedEntity มีสิทธิ์ใช้หมวดหมู่เนื้อหาใดก็ได้ สำหรับเอนทิตีอื่นๆ เช่น EventEntity, EventReservationEntity, PointOfInterestEntity จะมีเพียง หมวดหมู่ย่อยของหมวดหมู่เหล่านี้เท่านั้นที่มีสิทธิ์ ตรวจสอบรายการหมวดหมู่ ที่มีสิทธิ์สำหรับประเภทเอนทิตีก่อนที่จะป้อนข้อมูลในรายการ
- ใช้ประเภทเอนทิตีที่เฉพาะเจาะจงสำหรับหมวดหมู่เนื้อหาบางหมวดหมู่แทนการใช้ร่วมกัน ของเอนทิตีทั่วไปและ ContentCategory - TYPE_MOVIES_AND_TV_SHOWS - ดูเอนทิตีจากคู่มือการผสานรวมการดูก่อนใช้ เอนทิตีทั่วไป
- TYPE_BOOKS - ตรวจสอบ EbookEntity ก่อนใช้เอนทิตีทั่วไป
- TYPE_AUDIOBOOKS - ตรวจสอบ AudiobookEntity ก่อน ใช้เอนทิตีทั่วไป
- TYPE_SHOPPING - Check out ShoppingEntity before using the generic entities.
- TYPE_FOOD_AND_DRINK - ดูเอนทิตีจากคู่มือการผสานรวมอาหารก่อนใช้ เอนทิตีทั่วไป
 
- ฟิลด์ ContentCategory เป็นฟิลด์ที่ไม่บังคับและควรเว้นว่างไว้หากเนื้อหาไม่ได้อยู่ในหมวดหมู่ใดๆ ที่กล่าวถึงก่อนหน้านี้ 
- ในกรณีที่มีการระบุหมวดหมู่เนื้อหาหลายรายการ ให้ระบุตามลำดับความเกี่ยวข้องกับเนื้อหา โดยให้หมวดหมู่เนื้อหาที่เกี่ยวข้องมากที่สุดอยู่เป็นอันดับแรกในรายการ 
ขั้นตอนที่ 2: ระบุข้อมูลคลัสเตอร์
ขอแนะนำให้เรียกใช้งานเนื้อหาที่เผยแพร่ในเบื้องหลัง (เช่น ใช้ WorkManager) และกำหนดเวลาเป็นประจำหรือตามเหตุการณ์ (เช่น ทุกครั้งที่ ผู้ใช้เปิดแอป หรือเมื่อผู้ใช้เพิ่งเพิ่มสินค้าลงในรถเข็น)
AppEngageTravelClient มีหน้าที่เผยแพร่คลัสเตอร์
มี API ต่อไปนี้เพื่อเผยแพร่คลัสเตอร์ในไคลเอ็นต์
- isServiceAvailable
- publishRecommendationClusters
- publishFeaturedCluster
- publishReservationCluster
- publishContinueSearchCluster
- publishUserAccountManagementRequest
- updatePublishStatus
- deleteRecommendationsClusters
- deleteFeaturedCluster
- deleteReservationCluster
- deleteContinueSearchCluster
- deleteUserManagementCluster
- deleteClusters
isServiceAvailable
API นี้ใช้เพื่อตรวจสอบว่าบริการพร้อมใช้งานสำหรับการผสานรวมหรือไม่ และ สามารถแสดงเนื้อหาในอุปกรณ์ได้หรือไม่
Kotlin
client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}
Java
client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});
publishRecommendationClusters
API นี้ใช้เพื่อเผยแพร่รายการออบเจ็กต์ RecommendationCluster
Kotlin
client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )
Java
client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());
เมื่อบริการได้รับคำขอ ระบบจะดำเนินการต่อไปนี้ภายในธุรกรรมเดียว
- ระบบจะนำข้อมูล RecommendationClusterที่มีอยู่จากพาร์ทเนอร์นักพัฒนาออก
- ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอในคลัสเตอร์คำแนะนำที่อัปเดต
ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
publishFeaturedCluster
API นี้ใช้เพื่อเผยแพร่รายการออบเจ็กต์ FeaturedCluster
Kotlin
client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())
Java
client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());
เมื่อบริการได้รับคำขอ ระบบจะดำเนินการต่อไปนี้ภายในธุรกรรมเดียว
- ระบบจะนำข้อมูล FeaturedClusterที่มีอยู่จากพาร์ทเนอร์นักพัฒนาออก
- ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอในคลัสเตอร์แนะนำที่อัปเดต
ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
publishReservationCluster
ใช้ API นี้เพื่อเผยแพร่ออบเจ็กต์ ReservationCluster
Kotlin
client.publishReservationCluster(
    PublishReservationClusterRequest.Builder()
      .setReservationCluster(
        ReservationCluster.Builder()
          .addLodgingReservationEntity(lodgingReservationEntity)
          .addVehicleRentalReservationEntity(vehicleRentalReservationEntity)
          .addTransportationReservationEntity(transportationReservationEntity)
          .addEventReservationEntity(eventReservationEntity)
          .addRestaurantReservationEntity(restaurantReservationEntity)
          .build())
      .build())
Java
client.publishReservationCluster(
            new PublishReservationClusterRequest.Builder()
                .setReservationCluster(
                    new ReservationCluster.Builder()
                        .addLodgingReservationEntity(lodgingReservationEntity)
                        .addVehicleRentalReservationEntity(vehicleRentalReservationEntity)
                        .addTransportationReservationEntity(transportationReservationEntity)
                        .addEventReservationEntity(eventReservationEntity)
                        .addRestaurantReservationEntity(restaurantReservationEntity)
                        .build())
                .build());
เมื่อบริการได้รับคำขอ ระบบจะดำเนินการต่อไปนี้ภายในธุรกรรมเดียว
- ระบบจะนำข้อมูล ReservationClusterที่มีอยู่จากพาร์ทเนอร์นักพัฒนาออก
- ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอในคลัสเตอร์การจองที่อัปเดต
ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
publishContinueSearchCluster
API นี้ใช้เพื่อเผยแพร่รายการออบเจ็กต์ ContinueSearchCluster
Kotlin
client.publishContinueSearchCluster(
    PublishContinueSearchClusterRequest.Builder()
      .setContinueSearchCluster(
        ContinueSearchCluster.Builder()
          .addPointOfInterestEntity(entity1)
          .addPointOfInterestEntity(entity2)
          .build())
      .build())
Java
client.publishContinueSearchCluster(
            new PublishContinueSearchClusterRequest.Builder()
                .setContinueSearchCluster(
                    new ContinueSearchCluster.Builder()
                        .addPointOfInterestEntity(entity1)
                        .addPointOfInterestEntity(entity2)
                        .build())
                .build());
เมื่อบริการได้รับคำขอ ระบบจะดำเนินการต่อไปนี้ภายในธุรกรรมเดียว
- ระบบจะนำข้อมูล ContinueSearchClusterที่มีอยู่จากพาร์ทเนอร์นักพัฒนาออก
- ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอในคลัสเตอร์ "ค้นหาต่อ" ที่อัปเดต
ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
publishUserAccountManagementRequest
API นี้ใช้เพื่อเผยแพร่การ์ดลงชื่อเข้าใช้ การดำเนินการลงชื่อเข้าใช้นำผู้ใช้ไปยังหน้าลงชื่อเข้าใช้ของแอปเพื่อให้แอปเผยแพร่เนื้อหา (หรือแสดงเนื้อหาที่ปรับเปลี่ยนในแบบของคุณมากขึ้น) ได้
ข้อมูลเมตาต่อไปนี้เป็นส่วนหนึ่งของการ์ดลงชื่อเข้าใช้
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | 
|---|---|---|
| URI ของการดำเนินการ | ต้องระบุ | Deep Link ไปยังการดำเนินการ (เช่น ไปยังหน้าลงชื่อเข้าใช้แอป) | 
| รูปภาพ | ไม่บังคับ - หากไม่ได้ระบุ ต้องระบุชื่อ | รูปภาพที่แสดงในการ์ด รูปภาพที่มีสัดส่วนภาพ 16x9 และความละเอียด 1264x712 | 
| ชื่อ | ไม่บังคับ - หากไม่ได้ระบุไว้ จะต้องระบุรูปภาพ | ชื่อบนบัตร | 
| ข้อความการดำเนินการ | ไม่บังคับ | ข้อความที่แสดงใน CTA (เช่น ลงชื่อเข้าใช้) | 
| ชื่อรอง | ไม่บังคับ | คำบรรยายแทนเสียงที่ไม่บังคับในการ์ด | 
Kotlin
var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()
client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());
Java
SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();
client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());
เมื่อบริการได้รับคำขอ ระบบจะดำเนินการต่อไปนี้ภายในธุรกรรมเดียว
- ระบบจะนำข้อมูล UserAccountManagementClusterที่มีอยู่จากพาร์ทเนอร์นักพัฒนาออก
- ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอในคลัสเตอร์ UserAccountManagementCluster ที่อัปเดต
ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
updatePublishStatus
หากไม่มีการเผยแพร่คลัสเตอร์ใดเลยเนื่องด้วยเหตุผลทางธุรกิจภายใน เราขอแนะนำให้อัปเดตสถานะการเผยแพร่โดยใช้ API updatePublishStatus ซึ่งเป็นสิ่งสำคัญเนื่องจากเหตุผลต่อไปนี้
- การระบุสถานะในทุกสถานการณ์ แม้ว่าเนื้อหาจะเผยแพร่แล้ว (STATUS == PUBLISHED) ก็มีความสำคัญอย่างยิ่งต่อการสร้างแดชบอร์ดที่ใช้สถานะที่ชัดเจนนี้ เพื่อสื่อถึงสถานภาพและเมตริกอื่นๆ ของการผสานรวม
- หากไม่มีการเผยแพร่เนื้อหา แต่สถานะการผสานรวมไม่ขาดตอน (STATUS == NOT_PUBLISHED) Google จะหลีกเลี่ยงการทริกเกอร์การแจ้งเตือนในแดชบอร์ด สุขภาพของแอปได้ โดยจะยืนยันว่าเนื้อหาไม่ได้เผยแพร่เนื่องจากสถานการณ์ที่คาดการณ์ไว้จากมุมมองของผู้ให้บริการ
- ซึ่งจะช่วยให้นักพัฒนาแอปได้รับข้อมูลเชิงลึกเกี่ยวกับเวลาที่เผยแพร่ข้อมูลเทียบกับเวลาที่ไม่ได้เผยแพร่
- Google อาจใช้รหัสสถานะเพื่อกระตุ้นให้ผู้ใช้ดำเนินการบางอย่างใน แอปเพื่อให้ผู้ใช้เห็นเนื้อหาของแอปหรือแก้ไขปัญหา
รหัสสถานะการเผยแพร่ที่มีสิทธิ์มีดังนี้
// Content is published
AppEngagePublishStatusCode.PUBLISHED,
// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,
// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,
// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,
// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,
// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,
// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,
// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,
// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER
หากเนื้อหาไม่ได้รับการเผยแพร่เนื่องจากผู้ใช้ไม่ได้เข้าสู่ระบบ Google จะ แนะนําให้เผยแพร่การ์ดลงชื่อเข้าใช้ หากผู้ให้บริการไม่สามารถเผยแพร่การ์ดลงชื่อเข้าใช้ได้ไม่ว่าด้วยเหตุผลใดก็ตาม เราขอแนะนำให้เรียกใช้ API updatePublishStatus ด้วยรหัสสถานะ NOT_PUBLISHED_REQUIRES_SIGN_IN
Kotlin
client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())
Java
client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());
deleteRecommendationClusters
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์คำแนะนำ
Kotlin
client.deleteRecommendationClusters()
Java
client.deleteRecommendationClusters();
เมื่อได้รับคำขอ บริการจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์คำแนะนำ ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและ คงสถานะเดิมไว้
deleteFeaturedCluster
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์แนะนำ
Kotlin
client.deleteFeaturedCluster()
Java
client.deleteFeaturedCluster();
เมื่อได้รับคำขอ บริการจะนำข้อมูลที่มีอยู่ออกจาก คลัสเตอร์แนะนำ ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
deleteReservationCluster
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์การจอง
Kotlin
client.deleteReservationCluster()
Java
client.deleteReservationCluster();
เมื่อได้รับคำขอ บริการจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์การจอง ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและ คงสถานะเดิมไว้
deleteUserManagementCluster
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์ UserAccountManagement
Kotlin
client.deleteUserManagementCluster()
Java
client.deleteUserManagementCluster();
เมื่อบริการได้รับคำขอแล้ว ระบบจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์ UserAccountManagement ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
deleteContinueSearchCluster
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์การค้นหาต่อ
Kotlin
client.deleteContinueSearchCluster()
Java
client.deleteContinueSearchCluster();
เมื่อได้รับคำขอ บริการจะนำข้อมูลที่มีอยู่ออกจาก คลัสเตอร์การค้นหาต่อ ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและ คงสถานะเดิมไว้
deleteClusters
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์ประเภทหนึ่งๆ
Kotlin
client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_RESERVATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .addClusterType(ClusterType.TYPE_CONTINUE_SEARCH)
      .build())
Java
client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_RESERVATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .addClusterType(ClusterType.TYPE_CONTINUE_SEARCH)
                .build());
เมื่อได้รับคำขอ บริการจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์ทั้งหมดที่ตรงกับประเภทคลัสเตอร์ที่ระบุ ไคลเอ็นต์เลือกส่งคลัสเตอร์ประเภทเดียวหรือหลายประเภทได้ ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะเดิมไว้
การจัดการข้อผิดพลาด
เราขอแนะนำอย่างยิ่งให้รับฟังผลลัพธ์ของงานจาก API การเผยแพร่ เช่น เพื่อให้ดำเนินการติดตามผลเพื่อกู้คืนและส่งงานที่สำเร็จอีกครั้งได้
Kotlin
client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }
Java
client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });
ข้อผิดพลาดจะแสดงเป็น AppEngageException พร้อมสาเหตุที่รวมเป็นรหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | ชื่อข้อผิดพลาด | หมายเหตุ | 
|---|---|---|
| 1 | SERVICE_NOT_FOUND | บริการไม่พร้อมใช้งานในอุปกรณ์ที่ระบุ | 
| 2 | SERVICE_NOT_AVAILABLE | บริการพร้อมใช้งานในอุปกรณ์ที่ระบุ แต่ไม่พร้อมใช้งาน ในเวลาที่โทร (เช่น ปิดใช้บริการอย่างชัดเจน) | 
| 3 | SERVICE_CALL_EXECUTION_FAILURE | การดำเนินการงานล้มเหลวเนื่องจากปัญหาการแยกเธรด ในกรณีนี้ คุณสามารถ ลองอีกครั้งได้ | 
| 4 | SERVICE_CALL_PERMISSION_DENIED | ผู้โทรไม่ได้รับอนุญาตให้โทรหาบริการ | 
| 5 | SERVICE_CALL_INVALID_ARGUMENT | คำขอมีข้อมูลที่ไม่ถูกต้อง (เช่น มีคลัสเตอร์มากกว่าจำนวนที่อนุญาต) | 
| 6 | SERVICE_CALL_INTERNAL | เกิดข้อผิดพลาดที่ฝั่งบริการ | 
| 7 | SERVICE_CALL_RESOURCE_EXHAUSTED | มีการเรียกใช้บริการบ่อยเกินไป | 
ขั้นตอนที่ 3: จัดการ Intent การออกอากาศ
นอกเหนือจากการเรียกใช้ API การเผยแพร่เนื้อหาผ่านงานแล้ว คุณยังต้องตั้งค่า
BroadcastReceiver เพื่อรับ
คำขอเผยแพร่เนื้อหาด้วย
เป้าหมายของความตั้งใจในการออกอากาศคือการเปิดใช้งานแอปอีกครั้งและการบังคับซิงค์ข้อมูลเป็นหลัก Broadcast Intents ไม่ได้ออกแบบมาให้ส่งบ่อยมาก ระบบจะทริกเกอร์การอัปเดตก็ต่อเมื่อบริการ Engage ระบุว่าเนื้อหาอาจล้าสมัย (เช่น มีอายุ 1 สัปดาห์) ด้วยวิธีนี้ ผู้ใช้จึงมั่นใจได้มากขึ้นว่าจะได้รับประสบการณ์การใช้งานเนื้อหาใหม่ๆ แม้ว่าจะไม่ได้เรียกใช้แอปพลิเคชันเป็นเวลานานก็ตาม
ต้องตั้งค่า BroadcastReceiver ด้วย 2 วิธีต่อไปนี้
- ลงทะเบียนอินสแตนซ์ของคลาส - BroadcastReceiverแบบไดนามิกโดยใช้- Context.registerReceiver()ซึ่งจะช่วยให้แอปพลิเคชันที่ยังคงทำงานอยู่ในหน่วยความจำสื่อสารได้
Kotlin
class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continue search cluster publish when PUBLISH_CONTINUE_SEARCH
  // broadcast is received
  // Trigger reservation cluster publish when PUBLISH_RESERVATION broadcast is
  // received
}
fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext
// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)
// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)
// Register Continue Search Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_CONTINUE_SEARCH),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)
// Register Reservation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_RESERVATION),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)
}
Java
class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received
// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
// Trigger continue search cluster publish when PUBLISH_CONTINUE_SEARCH
// broadcast is received
// Trigger reservation cluster publish when PUBLISH_RESERVATION broadcast is
// received
}
public static void registerBroadcastReceivers(Context context) {
context = context.getApplicationContext();
// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);
// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);
// Register Continue Search Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_CONTINUE_SEARCH),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);
// Register Reservation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_RESERVATION),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);
}
- ประกาศการติดตั้งใช้งานแบบคงที่ด้วยแท็ก - <receiver>ในไฟล์- AndroidManifest.xmlซึ่งจะช่วยให้แอปพลิเคชันรับ Broadcast Intent ได้เมื่อไม่ได้ทำงานอยู่ และยังช่วยให้แอปพลิเคชันเผยแพร่ เนื้อหาได้ด้วย
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:permission="com.google.android.engage.REQUEST_ENGAGE_DATA"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.travel.PUBLISH_CONTINUE_SEARCH" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.travel.PUBLISH_RESERVATION" />
      </intent-filter>
   </receiver>
</application>
บริการจะส่ง Intent ต่อไปนี้
- com.google.android.engage.action.PUBLISH_RECOMMENDATIONเราขอแนะนำ ให้เริ่ม- publishRecommendationClustersเมื่อได้รับความตั้งใจนี้
- com.google.android.engage.action.PUBLISH_FEATUREDเราขอแนะนำให้เริ่มการโทร- publishFeaturedClusterเมื่อได้รับ Intent นี้
- com.google.android.engage.action.travel.PUBLISH_CONTINUE_SEARCHขอแนะนำให้เริ่ม- publishContinueSearchClusterการโทรเมื่อได้รับ Intent นี้
- com.google.android.engage.action.travel.PUBLISH_RESERVATIONขอแนะนำให้เริ่ม- publishReservationClusterโทรเมื่อได้รับ Intent นี้
เวิร์กโฟลว์การผสานรวม
ดูคำแนะนำแบบทีละขั้นตอนเกี่ยวกับการยืนยันการผสานรวมหลังจากเสร็จสมบูรณ์ได้ที่ เวิร์กโฟลว์การผสานรวมนักพัฒนาแอป Engage
คำถามที่พบบ่อย
ดูคำถามที่พบบ่อยได้ที่คำถามที่พบบ่อยเกี่ยวกับ Engage SDK
รายชื่อติดต่อ
โปรดติดต่อ
engage-developers@google.com หากมีคำถาม
ในระหว่างกระบวนการผสานรวม
ขั้นตอนถัดไป
หลังจากผสานรวมเสร็จสมบูรณ์แล้ว ขั้นตอนถัดไปมีดังนี้
- ส่งอีเมลไปที่
engage-developers@google.comและ แนบ APK ที่ผสานรวมแล้วซึ่งพร้อมให้ Google ทดสอบ
- Google จะทำการยืนยันและตรวจสอบภายในเพื่อให้แน่ใจว่าการผสานรวมทำงานได้ตามที่คาดไว้ หากจำเป็นต้องเปลี่ยนแปลง Google จะติดต่อคุณพร้อมรายละเอียดที่จำเป็น
- เมื่อการทดสอบเสร็จสมบูรณ์และไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ Google จะติดต่อคุณเพื่อ แจ้งให้ทราบว่าคุณเริ่มเผยแพร่ APK ที่อัปเดตและผสานรวมแล้วไปยัง Play Store ได้
- หลังจากที่ Google ยืนยันว่า APK ที่อัปเดตแล้วได้รับการเผยแพร่ใน Play Store แล้ว ระบบอาจเผยแพร่และแสดงคลัสเตอร์คำแนะนำ แนะนำ การจอง และค้นหาต่อต่อผู้ใช้
