เพิ่มการมีส่วนร่วมในแอปโดยการเข้าถึงผู้ใช้ในทุกที่ที่ผู้ใช้อยู่ ผสานรวม Engage SDK เพื่อแสดงคำแนะนำที่ปรับเปลี่ยนในแบบของคุณและเนื้อหาที่ต่อเนื่องไปยังผู้ใช้โดยตรงในแพลตฟอร์มต่างๆ ในอุปกรณ์ เช่น คอลเล็กชัน, Entertainment Space และ Play Store การผสานรวมนี้จะเพิ่มขนาด APK โดยเฉลี่ยไม่เกิน 50 KB (บีบอัดแล้ว) และใช้เวลาของนักพัฒนาแอปประมาณ 1 สัปดาห์สำหรับแอปส่วนใหญ่ ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ธุรกิจ
คู่มือนี้มีวิธีการสำหรับพาร์ทเนอร์นักพัฒนาแอปในการนำส่งเนื้อหาเกี่ยวกับการเดินทางและกิจกรรมไปยังแพลตฟอร์มเนื้อหา Engage
การรองรับหมวดหมู่และแพลตฟอร์ม
การมีสิทธิ์ใช้แพลตฟอร์ม Engage SDK ขึ้นอยู่กับหมวดหมู่เนื้อหาของแอป ใช้ตารางต่อไปนี้เพื่อพิจารณาสิทธิ์ของคุณสำหรับแพลตฟอร์มที่เฉพาะเจาะจง
| สถานะ | หมวดหมู่เนื้อหาหรือกรณีการใช้งาน | แพลตฟอร์มที่รองรับ |
|---|---|---|
|
รองรับ (มีสิทธิ์แสดงในทุกแพลตฟอร์ม) |
|
|
| สิ่งที่ทำไม่ได้ |
|
ทักษะ Android
ดูใน GitHubผสานรวม Engage SDK
android skills add engage-sdk-integrationรายละเอียดการผสานรวม
ส่วนนี้จะอธิบายขั้นตอน โมเดลข้อมูล และคำศัพท์ที่จำเป็นในการผสานรวมกับ Engage SDK สำหรับเนื้อหาการเดินทางและกิจกรรม
คำศัพท์
การผสานรวมนี้ประกอบด้วยคลัสเตอร์ประเภทต่างๆ ได้แก่ วิดีโอแนะนำ แนะนำ การจอง และค้นหาต่อ
คลัสเตอร์คำแนะนำจะแสดงคำแนะนำด้านการเดินทางและกิจกรรมที่ปรับเปลี่ยนในแบบของคุณจากพาร์ทเนอร์นักพัฒนาแอปแต่ละราย โดยคำแนะนำเหล่านี้อาจปรับเปลี่ยนในแบบของคุณหรือเป็นคำแนะนำทั่วไป (เช่น สินค้าที่มาแรง) ใช้เพื่อแสดงบทความ กิจกรรม ที่พัก หรือสถานที่น่าสนใจที่แนะนำ
- คลัสเตอร์วิดีโอแนะนำอาจประกอบด้วยข้อมูล
ArticleEntity,EventEntity,LodgingEntity,PointOfInterestEntityหรือStoreEntityแต่จะรวมเอนทิตีประเภทต่างๆ เข้าด้วยกันไม่ได้
คำแนะนำจะมีโครงสร้างดังต่อไปนี้
คลัสเตอร์วิดีโอแนะนำ: มุมมอง UI ที่มีกลุ่มวิดีโอแนะนำจากพาร์ทเนอร์นักพัฒนาแอปรายเดียวกัน
เอนทิตี: ออบเจ็กต์ที่แสดงรายการเดียวในคลัสเตอร์ การผสานรวมนี้จะแสดงเอนทิตีบางรายการโดยใช้คลัสเตอร์วิดีโอแนะนำ ดังนี้
ArticleEntity: ArticleEntity แสดงถึงคำแนะนำสำหรับเนื้อหาแบบข้อความที่เกี่ยวข้องกับการเดินทางและกิจกรรม ซึ่งใช้ได้กับบทความ บล็อกโพสต์ เนื้อหาทางการตลาด ตัวอย่างข่าวสาร และอื่นๆ
รูปที่ 1: UI แสดง ArticleEntity รายการเดียวภายในคลัสเตอร์ Recommendations 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 รายการเดียวภายในคลัสเตอร์ Reservation EventReservationEntity: EventReservationEntity แสดงถึงการจองกิจกรรมและช่วยให้ผู้ใช้ติดตามการจองกิจกรรมที่กำลังจะเกิดขึ้นหรือกำลังดำเนินอยู่ เหตุการณ์อาจรวมถึงแต่ไม่จำกัดเพียงสิ่งต่อไปนี้
- กิจกรรมกีฬา เช่น การจองตั๋วเข้าชมการแข่งขันฟุตบอล
- กิจกรรมเกี่ยวกับเกม เช่น การจองเพื่อเข้าร่วมอีสปอร์ต
- กิจกรรมเพื่อความบันเทิง เช่น การจองตั๋วภาพยนตร์ในโรงภาพยนตร์ คอนเสิร์ต ละครเวที งานแจกลายเซ็นหนังสือ
- การจองการเดินทางหรือจุดที่น่าสนใจ เช่น ทัวร์ชมพร้อมคำแนะนำ ตั๋วเข้าชมพิพิธภัณฑ์
- การจองเพื่อจัดกิจกรรมทางสังคม / สัมมนา / การประชุม
- การจองเซสชันการศึกษา / การฝึกอบรม
รูปที่ 7 UI แสดง EventReservationEntity รายการเดียวภายในคลัสเตอร์ Reservation LodgingReservationEntity: LodgingEntityReservation แสดงถึงการจองที่พักสำหรับการเดินทาง และช่วยให้ผู้ใช้ติดตามการจองโรงแรมหรือที่พักให้เช่าที่กำลังจะมาถึงหรือที่กำลังดำเนินอยู่
รูปที่ 8 UI แสดง LodgingReservationEntity รายการเดียวภายในคลัสเตอร์ Reservation TransportationReservationEntity: TransportationReservationEntity แสดงถึงการจองการเดินทางด้วยรูปแบบใดก็ได้ และช่วยให้ผู้ใช้ติดตามการจองเที่ยวบิน เรือข้ามฟาก รถไฟ รถประจำทาง บริการเรียกรถโดยสาร หรือเรือสำราญที่กำลังจะมาถึงหรือกำลังดำเนินอยู่
รูปที่ 9 UI แสดง TransportationReservationEntity รายการเดียวภายในคลัสเตอร์ Reservation VehicleRentalReservationEntity: VehicleRentalReservationEntity แสดงถึงการจองรถเช่าและช่วยให้ผู้ใช้ติดตามการจองรถเช่าที่กำลังจะมาถึงหรือที่กำลังดำเนินอยู่
รูปที่ 10 UI แสดง VehicleRentalReservationEntity รายการเดียวภายในคลัสเตอร์ Reservation
คลัสเตอร์แนะนำจะแสดงเอนทิตีที่เลือกจากพาร์ทเนอร์นักพัฒนาแอปหลายรายในการจัดกลุ่ม 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.6.0'
}
สรุป
การออกแบบนี้อิงตามการใช้งานบริการที่มีผลผูกพัน
ข้อมูลที่ไคลเอ็นต์เผยแพร่ได้จะขึ้นอยู่กับขีดจำกัดต่อไปนี้สำหรับคลัสเตอร์ประเภทต่างๆ
| ประเภทคลัสเตอร์ | ขีดจำกัดของคลัสเตอร์ | ขีดจำกัดขั้นต่ำของเอนทิตีในคลัสเตอร์ | ขีดจำกัดเอนทิตีสูงสุดในคลัสเตอร์ |
|---|---|---|---|
| คลัสเตอร์วิดีโอแนะนำ | ไม่เกิน 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 ได้กำหนดเอนทิตีต่างๆ เพื่อแสดงรายการแต่ละประเภท เรารองรับเอนทิตีต่อไปนี้สำหรับหมวดหมู่การเดินทางและกิจกรรม
GenericFeaturedEntityArticleEntityEventEntityLodgingEntityStoreEntityPointOfInterestEntityRestaurantReservationEntityEventReservationEntityLodgingReservationEntityTransportationReservationEntityVehicleRentalReservationEntity
แผนภูมิต่อไปนี้แสดงแอตทริบิวต์และข้อกำหนดที่ใช้ได้สำหรับแต่ละประเภท
GenericFeaturedEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| รูปภาพโปสเตอร์ | ต้องระบุ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| ชื่อ | ไม่บังคับ | ชื่อของเอนทิตี | ข้อความอิสระ Recommended text size: 50 chars |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 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 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 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 |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - เมือง | ต้องมีแบบมีเงื่อนไข | เมืองที่จัดกิจกรรม หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่สำหรับแสดงผล | ต้องมีแบบมีเงื่อนไข | ที่อยู่หรือชื่อสถานที่จัดกิจกรรมที่ควรแสดงต่อผู้ใช้ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| เวลาสิ้นสุด | ไม่บังคับ |
การประทับเวลา Epoch เมื่อคาดว่ากิจกรรมจะสิ้นสุด หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข |
ราคาปัจจุบันของตั๋ว/บัตรผ่านสำหรับกิจกรรม ต้องระบุหากมีการระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของตั๋ว/บัตรผ่านสำหรับกิจกรรม | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์
ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
| DisplayTimeWindow (ไม่บังคับ) - กำหนดกรอบเวลาสำหรับเนื้อหาที่จะแสดงบนแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ |
การประทับเวลา Epoch ที่ควรแสดงเนื้อหาบนแพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| การประทับเวลาสิ้นสุด | ไม่บังคับ |
การประทับเวลา Epoch หลังจากที่เนื้อหาไม่แสดงบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
LodgingEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| รูปภาพโปสเตอร์ | ต้องระบุ |
เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| สถานที่ตั้ง - ประเทศ | ต้องระบุ | ประเทศที่มีการเข้าพัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - เมือง | ต้องระบุ | เมืองที่เข้าพัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่สำหรับแสดงผล | ต้องระบุ | ที่อยู่ที่จะแสดงต่อผู้ใช้ เราขอแนะนำให้ระบุชื่อเมืองและอาจรวมถึงรัฐหรือประเทศสำหรับกรณีการใช้งานส่วนใหญ่ ระบุเฉพาะที่อยู่หรือย่านใกล้เคียงหากผู้ใช้อยู่ใกล้กับสถานที่นั้น ผู้ใช้คุ้นเคยกับสถานที่นั้น หรือเมืองนั้นรวมอยู่ในชื่อคลัสเตอร์ หากระบุที่อยู่ ให้ระบุที่อยู่แบบสั้นๆ โดยใช้ตัวย่อหากเป็นไปได้ (เช่น "St" แทน "Street", "Ave" แทน "Avenue") | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของที่พัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่ที่พักตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของที่พัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของที่พัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| AvailabilityTimeWindow - Localized Start Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch เมื่อคาดว่าที่พักจะเปิด/พร้อมให้บริการ | Joda-Time Instant |
| AvailabilityTimeWindow - Localized Start Time - Timezone | ไม่บังคับ | เขตเวลาที่คาดว่าที่พักจะเปิด/พร้อมให้บริการ |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| AvailabilityTimeWindow - Localized End Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch ที่คาดว่าที่พักจะเปิด/พร้อมให้บริการ | Joda-Time Instant |
| AvailabilityTimeWindow - Localized End Time - Timezone | ไม่บังคับ | เขตเวลาที่คาดว่าที่พักจะเปิด/พร้อมให้บริการ |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากแอปต้องการควบคุมวิธีแสดงข้อมูลนี้ต่อผู้ใช้ ระบุสตริงที่กระชับซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ข้อความถูกตัดในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากคุณไม่ต้องการจัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ |
ยาว |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของที่พัก ต้องระบุหากระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - 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 |
| สถานที่ตั้ง - ประเทศ | ต้องมีแบบมีเงื่อนไข |
ประเทศที่เกิดจุดสนใจ หมายเหตุ: ต้องระบุฟิลด์นี้หากเอนทิตีเป็นส่วนหนึ่งของคลัสเตอร์วิดีโอแนะนำ |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - เมือง | ต้องมีแบบมีเงื่อนไข |
เมืองที่เกิดจุดสนใจ หมายเหตุ: ต้องระบุฟิลด์นี้หากเอนทิตีเป็นส่วนหนึ่งของคลัสเตอร์วิดีโอแนะนำ |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่สำหรับแสดงผล | ต้องมีแบบมีเงื่อนไข |
ที่อยู่ที่จะแสดงต่อผู้ใช้ ระบุที่อยู่ที่กระชับ โดยใช้ตัวย่อหากเป็นไปได้ (เช่น "ถ." แทน "ถนน" หรือ "ซ." แทน "ซอย") สตริงนี้อาจถูกตัดให้สั้นลง ทั้งนี้ขึ้นอยู่กับอุปกรณ์และการตั้งค่าของผู้ใช้ ระบุชื่อเมืองเพื่อการระบุที่ชัดเจน หมายเหตุ: ต้องระบุฟิลด์นี้หากเอนทิตีเป็นส่วนหนึ่งของคลัสเตอร์วิดีโอแนะนำ |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 35 อักขระ |
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของจุดสนใจ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่จุดที่น่าสนใจตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของจุดสนใจ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของจุดสนใจ | ข้อความอิสระ Recommended text size: max ~20 chars |
| AvailabilityTimeWindow - Localized Start Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch เมื่อคาดว่าจุดสนใจจะเปิด/พร้อมให้บริการ | Joda-Time Instant |
| AvailabilityTimeWindow - Localized Start Time - Timezone | ไม่บังคับ | เขตเวลาที่คาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| AvailabilityTimeWindow - Localized End Time - Timestamp | ไม่บังคับ | การประทับเวลา Epoch ที่คาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ | Joda-Time Instant |
| AvailabilityTimeWindow - Localized End Time - Timezone | ไม่บังคับ | เขตเวลาที่คาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับจุดสนใจ หมายเหตุ: ระบุช่องนี้หากแอปต้องการควบคุมวิธีแสดงข้อมูลนี้ต่อผู้ใช้ ระบุสตริงที่กระชับซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ข้อความถูกตัดในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับจุดสนใจ หมายเหตุ: ระบุช่องนี้หากคุณไม่ต้องการจัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ |
ยาว |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข |
ราคาปัจจุบันของตั๋ว/บัตรเข้าชมจุดที่น่าสนใจ ต้องระบุหากมีการระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของตั๋ว/บัตรเข้าชมสำหรับจุดที่น่าสนใจ | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์
ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
| DisplayTimeWindow (ไม่บังคับ) - กำหนดกรอบเวลาสำหรับเนื้อหาที่จะแสดงบนแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ |
การประทับเวลา Epoch ที่ควรแสดงเนื้อหาบนแพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| การประทับเวลาสิ้นสุด | ไม่บังคับ |
การประทับเวลา Epoch หลังจากที่เนื้อหาไม่แสดงบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
RestaurantReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| เวลาเริ่มต้นของการจองที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่คาดว่าการจองจะเริ่มต้น | Joda-Time Instant |
| เวลาเริ่มต้นการจองที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาที่คาดว่าการจองจะเริ่มต้น |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| สถานที่ตั้ง - ประเทศ | ต้องระบุ | ประเทศที่ร้านอาหารตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - เมือง | ต้องระบุ | เมืองที่ร้านอาหารตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่สำหรับแสดงผล | ต้องระบุ | ที่อยู่ของร้านอาหารที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของร้านอาหาร | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่ร้านอาหารตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของร้านอาหาร | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของร้านอาหาร | ข้อความอิสระ Recommended text size: max ~20 chars |
| รูปภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 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 |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - เมือง | ต้องมีแบบมีเงื่อนไข | เมืองที่จัดกิจกรรม หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่สำหรับแสดงผล | ต้องมีแบบมีเงื่อนไข | ที่อยู่หรือชื่อสถานที่จัดกิจกรรมที่ควรแสดงต่อผู้ใช้ หมายเหตุ: ต้องระบุสำหรับกิจกรรมที่เป็น IN_PERSON หรือ HYBRID |
ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ที่จัดกิจกรรม | ข้อความอิสระ Recommended text size: max ~20 chars |
| รูปภาพโปสเตอร์ | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 หมายเหตุ: ขอแนะนำให้ใช้รูปภาพ หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| เวลาสิ้นสุดที่แปลแล้ว - การประทับเวลา | ไม่บังคับ |
การประทับเวลา Epoch เมื่อคาดว่ากิจกรรมจะสิ้นสุด |
Joda-Time Instant |
| เวลาสิ้นสุดที่แปลแล้ว - เขตเวลา | ไม่บังคับ |
เขตเวลาที่คาดว่ากิจกรรมจะสิ้นสุด |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| ผู้ให้บริการ - ชื่อ | ไม่บังคับ |
ชื่อผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ข้อความอิสระ เช่น ชื่อผู้จัดกิจกรรม/ทัวร์ |
| ผู้ให้บริการ - รูปภาพ | ไม่บังคับ |
โลโก้/รูปภาพของผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| รหัสการจอง | ไม่บังคับ | รหัสการจองสำหรับการจองกิจกรรม | ข้อความอิสระ |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข |
ราคาปัจจุบันของตั๋ว/บัตรผ่านสำหรับกิจกรรม ต้องระบุหากมีการระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - 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 ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| สถานที่ตั้ง - ประเทศ | ต้องระบุ | ประเทศที่ที่พักตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - เมือง | ต้องระบุ | เมืองที่พักตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ที่อยู่สำหรับแสดงผล | ต้องระบุ | ที่อยู่ที่จะแสดงต่อผู้ใช้ ระบุที่อยู่ที่กระชับ โดยใช้ตัวย่อหากเป็นไปได้ (เช่น "ถ." แทน "ถนน") สตริงนี้อาจถูกตัดให้สั้นลงตามอุปกรณ์และการตั้งค่าของผู้ใช้ ระบุชื่อเมืองเพื่อการระบุที่ชัดเจน | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุดประมาณ 35 อักขระ |
| สถานที่ตั้ง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของที่พัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ที่ที่พักตั้งอยู่ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของที่พัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ตั้ง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของที่พัก | ข้อความอิสระ Recommended text size: max ~20 chars |
| รูปภาพโปสเตอร์ | ไม่บังคับ |
เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dps ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| รหัสการจอง | ไม่บังคับ | รหัสการจองสำหรับการจองที่พัก | ข้อความอิสระ |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากแอปต้องการควบคุมวิธีแสดงข้อมูลนี้ต่อผู้ใช้ ระบุสตริงที่กระชับซึ่งแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ข้อความถูกตัดในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากคุณไม่ต้องการจัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ |
ยาว |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของที่พัก ต้องระบุหากระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของที่พัก ซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| DisplayTimeWindow (ไม่บังคับ) - กำหนดกรอบเวลาสำหรับเนื้อหาที่จะแสดงบนแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ |
การประทับเวลา Epoch ที่ควรแสดงเนื้อหาบนแพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| การประทับเวลาสิ้นสุด | ไม่บังคับ |
การประทับเวลา Epoch หลังจากที่เนื้อหาไม่แสดงบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
TransportationReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "SFO to SAN" ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| ประเภทการขนส่ง | ต้องระบุ | รูปแบบ/ประเภทการเดินทางสำหรับการจอง | Enum: FLIGHT, TRAIN, BUS หรือ FERRY |
| เวลาออกเดินทางที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาออกเดินทาง | Joda-Time Instant |
| เวลาออกเดินทางที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลาออกเดินทาง |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| เวลาถึงที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาถึง | Joda-Time Instant |
| เวลาถึงที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลาถึง |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| หมายเลขการขนส่ง | ต้องระบุ | หมายเลขเที่ยวบิน หมายเลขรถประจำทาง หมายเลขรถไฟ หรือหมายเลขเรือข้ามฟาก/เรือสำราญ | ข้อความอิสระ |
| เวลาขึ้นเครื่องที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาขึ้นเครื่องสำหรับการจอง (หากมี) | Joda-Time Instant |
| เวลาขึ้นเครื่องที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลาขึ้นเครื่องสำหรับการจอง (หากมี) |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| สถานที่ออกเดินทาง - ประเทศ | ไม่บังคับ | ประเทศต้นทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ออกเดินทาง - เมือง | ไม่บังคับ | เมืองที่ออกเดินทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ออกเดินทาง - ที่อยู่สำหรับแสดงผล | ไม่บังคับ | สถานที่ออกเดินทางที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ออกเดินทาง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ออกเดินทาง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ออกเดินทาง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ออกเดินทาง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของสถานที่ออกเดินทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ปลายทาง - ประเทศ | ไม่บังคับ | ประเทศปลายทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ปลายทาง - เมือง | ไม่บังคับ | เมืองปลายทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ปลายทาง - ที่อยู่ที่แสดง | ไม่บังคับ | สถานที่ปลายทางที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่มาถึง - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่ปลายทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ปลายทาง - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่ปลายทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ปลายทาง - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่ปลายทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| สถานที่ปลายทาง - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของสถานที่ปลายทาง | ข้อความอิสระ Recommended text size: max ~20 chars |
| ผู้ให้บริการ - ชื่อ | ไม่บังคับ |
ชื่อผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ข้อความอิสระ เช่น ชื่อสายการบิน |
| ผู้ให้บริการ - รูปภาพ | ไม่บังคับ |
โลโก้/รูปภาพของผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| รูปภาพโปสเตอร์ | ไม่บังคับ |
เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| รหัสการจอง | ไม่บังคับ | รหัสการจองสำหรับการจองการเดินทาง | ข้อความอิสระ |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของการจอง ต้องระบุหากระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของการจอง ซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| DisplayTimeWindow (ไม่บังคับ) - กำหนดกรอบเวลาสำหรับเนื้อหาที่จะแสดงบนแพลตฟอร์ม | |||
| การประทับเวลาเริ่มต้น | ไม่บังคับ |
การประทับเวลา Epoch ที่ควรแสดงเนื้อหาบนแพลตฟอร์ม หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| การประทับเวลาสิ้นสุด | ไม่บังคับ |
การประทับเวลา Epoch หลังจากที่เนื้อหาไม่แสดงบนแพลตฟอร์มอีกต่อไป หากไม่ได้ตั้งค่าไว้ เนื้อหาจะมีสิทธิ์แสดงบนแพลตฟอร์ม |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
VehicleRentalReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "Avis Union Square SF" ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| เวลาที่รับสินค้าที่แปลแล้ว - การประทับเวลา | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลารับสินค้าสำหรับการจอง | Joda-Time Instant |
| เวลาที่รับสินค้าที่แปลแล้ว - เขตเวลา | ต้องระบุ | เขตเวลาของเวลารับสำหรับการจอง |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| เวลาเดินทางกลับที่แปลแล้ว - การประทับเวลา | ไม่บังคับ | การประทับเวลา Epoch ที่แสดงเวลาเช็คเอาต์สำหรับการจอง | Joda-Time Instant |
| เวลาที่ส่งคืนที่แปลแล้ว - เขตเวลา | ไม่บังคับ | เขตเวลาของเวลาเช็คเอาต์สำหรับการจอง |
Joda-Time DateTimeZone ดูคำแนะนำได้ที่ข้อกำหนดเขตเวลา |
| Pickup Address - Country | ไม่บังคับ | ประเทศของสถานที่รับสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับรับสินค้า - เมือง | ไม่บังคับ | เมืองของสถานที่รับ | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับรับสินค้า - แสดงที่อยู่ | ไม่บังคับ | สถานที่รับสินค้าที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับรับสินค้า - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่รับสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับรับสินค้า - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่รับ | ข้อความอิสระ Recommended text size: max ~20 chars |
| Pickup Address - Zip code | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่รับสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่จุดรับ - ย่านใกล้เคียง | ไม่บังคับ | ย่านใกล้เคียง (หากมี) ของสถานที่รับ | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับคืนสินค้า - ประเทศ | ไม่บังคับ | ประเทศของสถานที่ตั้งสำหรับการคืนสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับคืนสินค้า - เมือง | ไม่บังคับ | เมืองของสถานที่ตั้งสำหรับการคืนสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับคืนสินค้า - ที่อยู่สำหรับแสดง | ไม่บังคับ | สถานที่ตั้งสำหรับการคืนสินค้าที่จะแสดงต่อผู้ใช้ | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับคืนสินค้า - ที่อยู่ | ไม่บังคับ | ที่อยู่ (หากมี) ของสถานที่ตั้งสำหรับการคืนสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับคืนสินค้า - รัฐ | ไม่บังคับ | รัฐหรือจังหวัด (หากมี) ของสถานที่ตั้งสำหรับการคืนสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับคืนสินค้า - รหัสไปรษณีย์ | ไม่บังคับ | รหัสไปรษณีย์ (หากมี) ของสถานที่ตั้งสำหรับการคืนสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ที่อยู่สำหรับคืนสินค้า - ย่านใกล้เคียง | ไม่บังคับ | ย่าน (หากมี) ของสถานที่ตั้งสำหรับการคืนสินค้า | ข้อความอิสระ Recommended text size: max ~20 chars |
| ผู้ให้บริการ - ชื่อ | ไม่บังคับ |
ชื่อผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ข้อความอิสระ เช่น "Avis Car Rental" |
| ผู้ให้บริการ - รูปภาพ | ไม่บังคับ |
โลโก้/รูปภาพของผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| รูปภาพโปสเตอร์ | ไม่บังคับ |
เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| รหัสยืนยัน | ไม่บังคับ | รหัสยืนยันการจองรถเช่า | ข้อความอิสระ |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของการจอง ต้องระบุหากระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - 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_EDUCATIONTYPE_SPORTSTYPE_MOVIES_AND_TV_SHOWSTYPE_BOOKSTYPE_AUDIOBOOKSTYPE_MUSICTYPE_DIGITAL_GAMESTYPE_TRAVEL_AND_LOCALTYPE_HOME_AND_AUTOTYPE_BUSINESSTYPE_NEWSTYPE_FOOD_AND_DRINKTYPE_SHOPPINGTYPE_HEALTH_AND_FITENESSTYPE_MEDICALTYPE_PARENTINGTYPE_DATING
รูปภาพต้องโฮสต์อยู่ใน CDN สาธารณะเพื่อให้ Google เข้าถึงได้
หลักเกณฑ์การใช้หมวดหมู่เนื้อหา
- เอนทิตีบางรายการ เช่น ArticleEntity และ GenericFeaturedEntity มีสิทธิ์ใช้หมวดหมู่เนื้อหาใดก็ได้ สำหรับเอนทิตีอื่นๆ เช่น EventEntity, EventReservationEntity, PointOfInterestEntity จะมีเพียงหมวดหมู่ย่อยของหมวดหมู่เหล่านี้เท่านั้นที่มีสิทธิ์ ตรวจสอบรายการหมวดหมู่ที่มีสิทธิ์สำหรับประเภทเอนทิตีก่อนที่จะป้อนข้อมูลในรายการ
ใช้ประเภทเอนทิตีที่เฉพาะเจาะจงสำหรับเนื้อหาบางหมวดหมู่แทนการใช้เอนทิตีทั่วไปร่วมกับ ContentCategory ดังนี้
- TYPE_MOVIES_AND_TV_SHOWS - ดูเอนทิตีจากคู่มือการผสานรวม Watch ก่อนใช้เอนทิตีทั่วไป
- TYPE_BOOKS - ดู EbookEntity ก่อนใช้เอนทิตีทั่วไป
- TYPE_AUDIOBOOKS - ดู AudiobookEntity ก่อนใช้เอนทิตีทั่วไป
- TYPE_SHOPPING - ดู ShoppingEntity ก่อนใช้เอนทิตีทั่วไป
- TYPE_FOOD_AND_DRINK - ดูเอนทิตีจากคู่มือการผสานรวมอาหารก่อนใช้เอนทิตีทั่วไป
ช่อง ContentCategory เป็นช่องที่ไม่บังคับ และควรเว้นว่างไว้หากเนื้อหาไม่ได้อยู่ในหมวดหมู่ใดๆ ที่กล่าวถึงก่อนหน้านี้
ในกรณีที่มีหมวดหมู่เนื้อหาหลายหมวดหมู่ ให้ระบุตามลำดับความเกี่ยวข้องกับเนื้อหา โดยให้หมวดหมู่เนื้อหาที่เกี่ยวข้องมากที่สุดอยู่ในอันดับแรกของรายการ
ขั้นตอนที่ 2: ระบุข้อมูลคลัสเตอร์
ขอแนะนำให้เรียกใช้งานการเผยแพร่เนื้อหาในเบื้องหลัง (เช่น ใช้ WorkManager) และกำหนดเวลาเป็นประจำหรือตามเหตุการณ์ (เช่น ทุกครั้งที่ผู้ใช้เปิดแอปหรือเมื่อผู้ใช้เพิ่งเพิ่มสินค้าลงในรถเข็น)
AppEngageTravelClient มีหน้าที่เผยแพร่คลัสเตอร์
API ต่อไปนี้ใช้เพื่อเผยแพร่คลัสเตอร์ในไคลเอ็นต์
isServiceAvailablepublishRecommendationClusterspublishFeaturedClusterpublishReservationClusterpublishContinueSearchClusterpublishUserAccountManagementRequestupdatePublishStatusdeleteRecommendationsClustersdeleteFeaturedClusterdeleteReservationClusterdeleteContinueSearchClusterdeleteUserManagementClusterdeleteClusters
isServiceAvailable
API นี้ใช้เพื่อตรวจสอบว่าบริการพร้อมสำหรับการผสานรวมหรือไม่ และเนื้อหาจะแสดงบนอุปกรณ์ได้หรือไม่
สำหรับ Engage SDK v1.6.0 ขึ้นไป (แนะนำ)
ทักษะ Android
ดูใน GitHubการผสานรวม Engage SDK
android skills add engage-sdk-integrationUse the engage-sdk-integration skill to use Engage SDK 1.6.0 and refactor isServiceAvailable to pass ServiceAvailabilityRequest for publishing all cluster types.คุณสามารถตรวจสอบความพร้อมให้บริการสำหรับคลัสเตอร์ทุกประเภทที่ต้องการเผยแพร่ได้ isServiceAvailable API จะยอมรับออบเจ็กต์คำขอ ServiceAvailabilityRequest ซึ่งมีประเภทคลัสเตอร์ที่ต้องตรวจสอบความพร้อมให้บริการ คุณสามารถดูค่า enum ของ ClusterType ที่จำเป็นสำหรับ ServiceAvailabilityRequest ได้จากตารางต่อไปนี้
| ประเภทคลัสเตอร์ | ค่าคงที่ประเภทคลัสเตอร์ | ค่าจำนวนเต็ม |
|---|---|---|
| ไม่ทราบ | TYPE_UNKNOWN |
0 |
| คลัสเตอร์วิดีโอแนะนำ | TYPE_RECOMMENDATION |
1 |
| คลัสเตอร์แนะนำ | TYPE_FEATURED |
2 |
| คลัสเตอร์ความต่อเนื่อง | TYPE_CONTINUATION |
3 |
| คลัสเตอร์การจัดการผู้ใช้ | TYPE_ENGAGEMENT |
8 |
| คลัสเตอร์การสมัครใช้บริการ | TYPE_SUBSCRIPTION |
12 |
| คลัสเตอร์การค้นหาต่อ | TYPE_CONTINUE_SEARCH |
13 |
| คลัสเตอร์การจอง | TYPE_RESERVATION |
14 |
Kotlin
val request = ServiceAvailabilityRequest.Builder()
.addIntendedClusterType(ClusterType.TYPE_CONTINUATION)
.addIntendedClusterType(ClusterType.TYPE_RECOMMENDATION)
.build()
client.isServiceAvailable(request).addOnCompleteListener { task ->
if (task.isSuccessful) {
val availabilityMap = task.result
if (availabilityMap[ClusterType.TYPE_CONTINUATION] == true) {
// Proceed with publishing continuation content
}
if (availabilityMap[ClusterType.TYPE_RECOMMENDATION] == true) {
// Proceed with publishing recommendation content
}
} else {
// The IPC call itself fails, proceed with error handling logic here,
// such as retry.
}
}
Java
ServiceAvailabilityRequest request =
new ServiceAvailabilityRequest.Builder()
.addIntendedClusterType(ClusterType.TYPE_CONTINUATION)
.addIntendedClusterType(ClusterType.TYPE_RECOMMENDATION)
.build();
client.isServiceAvailable(request).addOnCompleteListener(task -> {
if (task.isSuccessful()) {
Map<Integer, Boolean> availabilityMap = task.getResult();
if (Boolean.TRUE.equals(availabilityMap.get(ClusterType.TYPE_CONTINUATION))) {
// Proceed with publishing continuation content
}
if (Boolean.TRUE.equals(availabilityMap.get(ClusterType.TYPE_RECOMMENDATION))) {
// Proceed with publishing recommendation content
}
} else {
// The IPC call itself fails, proceed with error handling logic here,
// such as retry.
}
});
ฟีเจอร์ความพร้อมให้บริการแบบมีเงื่อนไข
แอปที่ผสานรวมบางแอปจะขอการกำหนดค่าพิเศษที่เปิดและปิดใช้บริการ Engage เป็นระยะๆ เพื่อลดค่าใช้จ่ายการแสดงผล อย่างไรก็ตาม กลยุทธ์การนำเข้าเนื้อหาเป็นระยะๆ นี้ส่งผลเสียต่อประสบการณ์ของผู้ใช้ เนื่องจากระบบจะไม่แสดงเนื้อหาที่ล้าสมัย และจะไม่แสดงเนื้อหาในบางแพลตฟอร์ม
ตั้งแต่เวอร์ชัน 1.6.0 เป็นต้นไป Engage SDK จะช่วยให้ตรวจสอบความพร้อมใช้งานของคลัสเตอร์บางประเภทได้ หากแอปของคุณใช้การส่งผ่านข้อมูลเป็นระยะๆ ให้ทำดังนี้
- คลัสเตอร์ความต่อเนื่อง (เช่น การจองและการค้นหาต่อ) จะยังคงเปิดใช้อยู่โดยค่าเริ่มต้นในอุปกรณ์ที่รองรับทั้งหมด
- คลัสเตอร์ประเภทอื่นๆ (เช่น วิดีโอแนะนำ) จะเปิดและปิดใช้เป็นระยะๆ
หากการกำหนดค่าเริ่มต้นนี้ไม่เหมาะกับความต้องการของคุณ โปรดติดต่อ engage-developers@google.com
สำหรับ SDK เวอร์ชันก่อน v1.6.0 (เลิกใช้งานแล้ว)
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 PublishFeaturedClusterRequest.Builder()
.setFeaturedCluster(
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());
deleteRecommendationsClusters
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์วิดีโอแนะนำ
Kotlin
client.deleteRecommendationsClusters()
Java
client.deleteRecommendationsClusters();
เมื่อบริการได้รับคำขอ ระบบจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์วิดีโอแนะนำ ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะที่มีอยู่ไว้
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 เพื่อรับคำขอเผยแพร่เนื้อหาด้วย
เป้าหมายของ Intent การออกอากาศคือการเปิดใช้งานแอปอีกครั้งและการบังคับให้ซิงค์ข้อมูลเป็นหลัก Intent การออกอากาศไม่ได้ออกแบบมาให้ส่งบ่อยเกินไป โดยจะทริกเกอร์ก็ต่อเมื่อบริการ 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ซึ่งจะช่วยให้แอปพลิเคชันได้รับ 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เมื่อได้รับ Intent นี้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 แล้ว ระบบอาจเผยแพร่คลัสเตอร์วิดีโอแนะนำ แนะนำ การจอง และค้นหาต่อ และแสดงให้ผู้ใช้เห็น