เพิ่มการมีส่วนร่วมในแอปโดยการเข้าถึงผู้ใช้ในทุกที่ที่ผู้ใช้อยู่ ผสานรวม Engage SDK เพื่อแสดงคำแนะนำที่ปรับเปลี่ยนในแบบของคุณและเนื้อหาที่ต่อเนื่องไปยังผู้ใช้โดยตรงในแพลตฟอร์มต่างๆ ในอุปกรณ์ เช่น คอลเล็กชัน, Entertainment Space และ Play Store การผสานรวมนี้จะเพิ่มขนาด APK โดยเฉลี่ยไม่เกิน 50 KB (บีบอัดแล้ว) และใช้เวลาของนักพัฒนาแอปประมาณ 1 สัปดาห์สำหรับแอปส่วนใหญ่ ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ธุรกิจ
เอกสารนี้มีวิธีการสำหรับพาร์ทเนอร์นักพัฒนาซอฟต์แวร์ในการผสานรวมเนื้อหาใหม่ เช่น การจอง กิจกรรม ที่พัก สถานที่น่าสนใจ บุคคล และเนื้อหาอื่นๆ ที่อาจไม่อยู่ในหมวดหมู่เหล่านี้
ทักษะ Android
ดูใน GitHubผสานรวม Engage SDK
android skills add engage-sdk-integrationรายละเอียดการผสานรวม
ส่วนนี้จะอธิบายรายละเอียดขั้นตอน โมเดลข้อมูล และคำศัพท์ที่จำเป็นสำหรับการผสานรวมกับ Engage SDK สำหรับหมวดหมู่เนื้อหาอื่นๆ
คำศัพท์
การผสานรวมนี้ประกอบด้วยคลัสเตอร์ 3 ประเภท ได้แก่ วิดีโอแนะนำ แนะนำ และดูต่อ
คลัสเตอร์คำแนะนำจะแสดงคำแนะนำที่ปรับเปลี่ยนในแบบของคุณจากพาร์ทเนอร์นักพัฒนาแอปแต่ละราย ซึ่งเป็นมุมมอง UI ที่มีกลุ่มวิดีโอแนะนำจากพาร์ทเนอร์นักพัฒนาแอปรายเดียวกัน
ArticleEntity: ArticleEntity ที่แสดงถึงการแนะนำแบบข้อความสำหรับเนื้อหาที่เกี่ยวข้องกับเนื้อหามากกว่า 1 หมวดหมู่ รายการ ArticleEntity ช่วยให้นักพัฒนาแอปสามารถแสดงเนื้อหาข้อความและรูปภาพที่หลากหลายพร้อมข้อมูลเมตาเพิ่มเติมเพื่ออธิบายข้อมูลให้ผู้ใช้ทราบได้ดีกว่า GenericFeaturedEntity ตัวอย่าง: เนื้อหาทางการตลาด ตัวอย่างข่าว
รูปที่ 1: UI แสดง ArticleEntity รายการเดียวภายในคลัสเตอร์คำแนะนำ EventEntity: EventEntity แสดงถึงกิจกรรมที่จะเกิดขึ้นในอนาคต เวลาเริ่มต้นของกิจกรรมเป็นข้อมูลสำคัญที่ต้องแจ้งให้ผู้ใช้ทราบ
รูปที่ 2: UI แสดง EventEntity รายการเดียวภายในคลัสเตอร์คำแนะนำ LodgingEntity: LodgingEntity แสดงถึงที่พัก เช่น โรงแรม อพาร์ตเมนต์ บ้านพักตากอากาศสำหรับการเช่าระยะสั้นและระยะยาว
รูปที่ 3: UI แสดง LodgingEntity รายการเดียวภายในคลัสเตอร์วิดีโอแนะนำ StoreEntity: StoreEntity แสดงถึงร้านค้า ร้านอาหาร คาเฟ่ ฯลฯ โดยจะไฮไลต์เนื้อหาที่สถานที่รับประทานอาหารหรือร้านค้าเป็นข้อมูลสำคัญที่ต้องสื่อสารกับผู้ใช้
รูปที่ 4: UI แสดง StoreEntity รายการเดียวภายในคลัสเตอร์วิดีโอแนะนำ PointOfInterestEntity: PointOfInterestEntity แสดงสถานที่ที่น่าสนใจ เช่น ปั๊มน้ำมัน สถานที่จัดกิจกรรม สวนสนุก พิพิธภัณฑ์ สถานที่ท่องเที่ยว เส้นทางเดินป่า ฯลฯ โดยจะไฮไลต์เนื้อหาที่ตำแหน่งเป็นข้อมูลสำคัญที่ต้องสื่อสารกับผู้ใช้ ไม่ควรใช้สำหรับที่พัก ร้านค้า หรือสถานที่รับประทานอาหาร
รูปที่ 5: UI แสดง PointOfInterestEntity รายการเดียวภายในคลัสเตอร์วิดีโอแนะนำ PersonEntity: PersonEntity แสดงถึงบุคคล คำแนะนำอาจเป็นการไฮไลต์บุคคลในหมวดหมู่ต่างๆ เช่น สุขภาพและการออกกำลังกาย กีฬา การหาคู่ เป็นต้น
รูปที่ 5: UI แสดง PersonEntity รายการเดียวภายในคลัสเตอร์วิดีโอแนะนำ
คลัสเตอร์ความต่อเนื่องจะแสดงเนื้อหาที่ผู้ใช้เพิ่งมีส่วนร่วมจากพาร์ทเนอร์นักพัฒนาแอปหลายรายในการจัดกลุ่ม UI เดียว พาร์ทเนอร์นักพัฒนาแอปแต่ละรายจะได้รับอนุญาตให้ออกอากาศเอนทิตีได้สูงสุด 10 รายการในคลัสเตอร์ความต่อเนื่อง
เนื้อหาที่ต่อเนื่องอาจมีโครงสร้างดังนี้
ArticleEntity: ArticleEntity ที่แสดงถึงการแนะนำแบบข้อความสำหรับเนื้อหาที่เกี่ยวข้องกับเนื้อหามากกว่า 1 หมวดหมู่ เอนทิตีนี้ใช้เพื่อแสดงบทความข่าวที่ยังอ่านไม่จบหรือเนื้อหาอื่นๆ ที่ผู้ใช้ต้องการอ่านต่อจากที่ค้างไว้ ตัวอย่าง: เนื้อหาทางการตลาด, ตัวอย่างข่าว
รูปที่ 6 UI แสดง ArticleEntity รายการเดียวภายในคลัสเตอร์ความต่อเนื่อง RestaurantReservationEntity: RestaurantReservationEntity แสดงถึงการจองร้านอาหารหรือคาเฟ่ และช่วยให้ผู้ใช้ติดตามการจองร้านอาหารที่กำลังจะมาถึงหรือที่กำลังดำเนินอยู่
รูปที่ 7 UI แสดง RestaurantReservationEntity รายการเดียวภายในคลัสเตอร์ความต่อเนื่อง EventReservationEntity: EventReservationEntity แสดงถึงการจองกิจกรรมและช่วยให้ผู้ใช้ติดตามการจองกิจกรรมที่กำลังจะเกิดขึ้นหรือกำลังดำเนินอยู่ เหตุการณ์อาจรวมถึงแต่ไม่จำกัดเพียงสิ่งต่อไปนี้
- กิจกรรมกีฬา เช่น การจองตั๋วเข้าชมการแข่งขันฟุตบอล
- กิจกรรมเกี่ยวกับเกม เช่น การจองเพื่อเข้าร่วมอีสปอร์ต
- กิจกรรมเพื่อความบันเทิง เช่น การจองตั๋วภาพยนตร์ในโรงภาพยนตร์ คอนเสิร์ต ละครเวที งานแจกลายเซ็นหนังสือ
- การจองการเดินทางหรือจุดที่น่าสนใจ เช่น ทัวร์ชมพร้อมคำแนะนำ ตั๋วเข้าชมพิพิธภัณฑ์
- การจองเพื่อจัดกิจกรรมทางสังคม / สัมมนา / การประชุม
- การจองเซสชันการศึกษา / การฝึกอบรม
รูปที่ 8 UI แสดง EventReservationEntity รายการเดียวภายในคลัสเตอร์ความต่อเนื่อง LodgingReservationEntity: LodgingEntityReservation แสดงถึงการจองที่พักสำหรับการเดินทาง และช่วยให้ผู้ใช้ติดตามการจองโรงแรมหรือที่พักให้เช่าที่กำลังจะมาถึงหรือกำลังดำเนินอยู่
รูปที่ 9 UI แสดง LodgingReservationEntity รายการเดียวภายในคลัสเตอร์ความต่อเนื่อง TransportationReservationEntity: TransportationReservationEntity แสดงถึงการจองการเดินทางด้วยรูปแบบใดก็ได้ และช่วยให้ผู้ใช้ติดตามการจองเที่ยวบิน เรือข้ามฟาก รถไฟ รถประจำทาง บริการเรียกรถโดยสาร หรือเรือสำราญที่กำลังจะมาถึงหรือกำลังดำเนินอยู่
รูปที่ 10 UI แสดง TransportationReservationEntity รายการเดียวภายในคลัสเตอร์ความต่อเนื่อง VehicleRentalReservationEntity: VehicleRentalReservationEntity แสดงถึงการจองรถเช่าและช่วยให้ผู้ใช้ติดตามการจองรถเช่าที่กำลังจะมาถึงหรือที่กำลังดำเนินอยู่
รูปที่ 11 UI แสดง VehicleRentalReservationEntity รายการเดียวภายในคลัสเตอร์ความต่อเนื่อง
คลัสเตอร์แนะนำคือมุมมอง UI ที่แสดง
GenericFeaturedEntityที่โดดเด่นซึ่งเลือกมาจากพาร์ทเนอร์นักพัฒนาแอปหลายรายในการจัดกลุ่ม UI เดียว มีคลัสเตอร์แนะนำเพียงคลัสเตอร์เดียว ซึ่งจะแสดงใกล้กับด้านบนของ UI โดยมีตำแหน่งที่มีลำดับความสำคัญเหนือคลัสเตอร์วิดีโอแนะนำทั้งหมด พาร์ทเนอร์นักพัฒนาแอปแต่ละรายจะได้รับอนุญาตให้ออกอากาศเอนทิตีเดียวของประเภทที่รองรับในส่วนแนะนำ โดยมีเอนทิตีจำนวนมาก (อาจเป็นประเภทที่แตกต่างกัน) จากนักพัฒนาแอปหลายรายในคลัสเตอร์แนะนำGenericFeaturedEntity: GenericFeaturedEntity แตกต่างจากรายการแนะนำตรงที่ควรใช้รายการแนะนำสำหรับเนื้อหายอดนิยมรายการเดียวจากนักพัฒนาแอป และควรแสดงเนื้อหาที่สำคัญที่สุดรายการเดียวซึ่งจะน่าสนใจและเกี่ยวข้องกับผู้ใช้
รูปที่ 12: UI แสดงการ์ด GenericFeaturedEntity แบบ Hero รายการเดียวภายในคลัสเตอร์แนะนำ
สิ่งที่ต้องเตรียมก่อนดำเนินการ
ระดับ 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 หรือ PersonEntity) |
| คลัสเตอร์ความต่อเนื่อง | ไม่เกิน 1 รายการ | อย่างน้อย 1 รายการ | ไม่เกิน 20 รายการ (ArticleEntity, EventReservationEntity, LodgingReservationEntity, TransportationReservationEntity หรือ VehicleRentalReservationEntity) |
| คลัสเตอร์แนะนำ | ไม่เกิน 1 รายการ | อย่างน้อย 1 รายการ | ไม่เกิน 20 (GenericFeaturedEntity) |
ขั้นตอนที่ 1: ระบุข้อมูลนิติบุคคล
SDK ได้กำหนดเอนทิตีต่างๆ เพื่อแสดงรายการแต่ละประเภท เรารองรับเอนทิตีต่อไปนี้สำหรับหมวดหมู่อื่นๆ
GenericFeaturedEntityArticleEntityEventEntityLodgingEntityStoreEntityPointOfInterestEntityPersonEntityRestaurantReservationEntityEventReservationEntityLodgingReservationEntityTransportationReservationEntityVehicleRentalReservationEntity
แผนภูมิต่อไปนี้แสดงแอตทริบิวต์และข้อกำหนดที่ใช้ได้สำหรับแต่ละประเภท
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 ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
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 ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
EventEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| เวลาเริ่มต้น | ต้องระบุ |
การประทับเวลา Epoch ที่คาดว่ากิจกรรมจะเริ่มต้น หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| โหมดกิจกรรม | ต้องระบุ | ช่องสำหรับระบุว่ากิจกรรมจะเป็นแบบออนไลน์ แบบเข้าร่วมด้วยตนเอง หรือทั้ง 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 ที่มีสิทธิ์
ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
LodgingEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| รูปภาพโปสเตอร์ | ต้องระบุ |
เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dps ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| สถานที่ตั้ง - ประเทศ | ต้องระบุ | ประเทศที่มีการเข้าพัก | ข้อความอิสระ 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 |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| AvailabilityTimeWindow - Start Time | ไม่บังคับ | การประทับเวลา Epoch เป็นมิลลิวินาทีเมื่อคาดว่าที่พักจะเปิด/พร้อมให้บริการ | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| AvailabilityTimeWindow - เวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch เป็นมิลลิวินาทีจนกว่าจะถึงเวลาที่คาดว่าที่พักจะเปิด/พร้อมให้บริการ | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากแอปของคุณควบคุมวิธีแสดงจำนวนต่อผู้ใช้ ใช้สตริงที่กระชับ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้จำนวนถูกตัดออกในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากคุณไม่ได้จัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน ระบบจะแสดงจำนวนให้ผู้ใช้เห็น |
ยาว |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของที่พัก ต้องระบุหากระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของที่พัก ซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
StoreEntity
ออบเจ็กต์ StoreEntity แสดงถึงร้านค้าแต่ละร้านที่พาร์ทเนอร์นักพัฒนาแอปต้องการเผยแพร่ เช่น ร้านอาหารหรือร้านขายของชำ
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| รูปภาพโปสเตอร์ | ต้องระบุ | ต้องระบุรูปภาพอย่างน้อย 1 รูป | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ไม่บังคับ | ชื่อร้านค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| ตำแหน่ง | ไม่บังคับ | สถานที่ตั้งของร้านค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| ข้อความไฮไลต์ | ไม่บังคับ | ข้อความไฮไลต์เพื่อแสดงโปรโมชัน กิจกรรม หรือข้อมูลอัปเดตสำหรับร้านค้า (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงเป็นจุดไข่ปลา) |
| ข้อความที่พิมพ์ด้วยตัวอักษรขนาดเล็กในข้อความไฮไลต์ | ไม่บังคับ | ข้อความตัวพิมพ์เล็กสำหรับข้อความไฮไลต์ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงเป็นจุดไข่ปลา) |
| คำอธิบาย | ไม่บังคับ | คำอธิบายร้านค้า | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 90 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากแอปต้องการควบคุมวิธีแสดงข้อมูลนี้ต่อผู้ใช้ ระบุสตริงที่กระชับซึ่งสามารถแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ข้อความถูกตัดในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากคุณไม่ต้องการจัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ |
ยาว |
PointOfInterestEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| รูปภาพโปสเตอร์ | ต้องระบุ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 หมายเหตุ: ขอแนะนำให้ใช้รูปภาพ หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| สถานที่ตั้ง - ประเทศ | ต้องระบุ | ประเทศที่เกิดจุดสนใจ | ข้อความอิสระ 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 |
| AvailabilityTimeWindow - Start Time | ไม่บังคับ | การประทับเวลา Epoch เป็นมิลลิวินาทีเมื่อคาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| AvailabilityTimeWindow - เวลาสิ้นสุด | ไม่บังคับ | การประทับเวลา Epoch ในหน่วยมิลลิวินาทีจนถึงเวลาที่คาดว่าจุดที่น่าสนใจจะเปิด/พร้อมให้บริการ | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับจุดสนใจ หมายเหตุ: ระบุช่องนี้หากแอปของคุณควบคุมวิธีแสดงจำนวนต่อผู้ใช้ ใช้สตริงที่กระชับ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้จำนวนถูกตัดออกในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับจุดสนใจ หมายเหตุ: ระบุช่องนี้หากคุณไม่ได้จัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน ระบบจะแสดงจำนวนให้ผู้ใช้เห็น |
ยาว |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข |
ราคาปัจจุบันของตั๋ว/บัตรเข้าชมจุดที่น่าสนใจ ต้องระบุหากมีการระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของตั๋ว/บัตรเข้าชมสำหรับจุดที่น่าสนใจ | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์
ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
PersonEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| โปรไฟล์ - ชื่อ | ต้องระบุ | ชื่อโปรไฟล์ รหัส หรือแฮนเดิล เช่น "John Doe", "@TeamPixel" เป็นต้น | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| โปรไฟล์ - อวาตาร์ | ต้องระบุ |
รูปโปรไฟล์หรือรูปโปรไฟล์ของผู้ใช้ หมายเหตุ: ต้องเป็นรูปภาพสี่เหลี่ยมจัตุรัส 1:1 |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| โปรไฟล์ - ข้อความเพิ่มเติม | ไม่บังคับ | ข้อความอิสระ เช่น แฮนเดิลของโปรไฟล์ | ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| โปรไฟล์ - รูปภาพเพิ่มเติม | ไม่บังคับ | รูปภาพขนาดเล็ก เช่น ป้ายที่ได้รับการยืนยัน | ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| รูปภาพส่วนหัว | ไม่บังคับ | เราจะแสดงรูปภาพเพียง 1 รูปเมื่อมีการระบุรูปภาพหลายรูป สัดส่วนภาพที่แนะนำคือ 16:9 หมายเหตุ: ขอแนะนำให้ใช้รูปภาพ หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| ความนิยม - จำนวน | ไม่บังคับ |
ระบุจำนวนผู้ติดตามหรือค่าความนิยม เช่น "3.7 ล้าน" หมายเหตุ: หากระบุทั้งจำนวนและค่าจำนวน ระบบจะใช้จำนวน |
สตริง ขนาดข้อความที่แนะนำ: จำนวน + ป้ายกำกับรวมกันไม่เกิน 20 อักขระ |
| ความนิยม - ค่าจำนวน | ไม่บังคับ | จำนวนผู้ติดตามหรือค่าความนิยม หมายเหตุ: ระบุค่าจำนวนหากแอปไม่ต้องการจัดการตรรกะเกี่ยวกับวิธีเพิ่มประสิทธิภาพตัวเลขจำนวนมากสำหรับขนาดการแสดงผลที่แตกต่างกัน หากระบุทั้งจำนวนและค่าจำนวน ระบบจะใช้จำนวน |
ยาว |
| ความนิยม - ป้ายกำกับ | ไม่บังคับ | ระบุว่าป้ายกำกับความนิยมคืออะไร เช่น "ชอบ" | สตริง ขนาดข้อความที่แนะนำ: จำนวน + ป้ายกำกับรวมกันไม่เกิน 20 อักขระ |
| ความนิยม - ภาพ | ไม่บังคับ |
ระบุวัตถุประสงค์ของการโต้ตอบ เช่น รูปภาพที่แสดงไอคอนชอบ อีโมจิ คุณระบุรูปภาพได้มากกว่า 1 รูป แต่ระบบอาจไม่แสดงรูปภาพทั้งหมดในอุปกรณ์ทุกรูปแบบ หมายเหตุ: ต้องเป็นรูปภาพสี่เหลี่ยมจัตุรัส 1:1 |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คะแนน - ค่าสูงสุด | ต้องระบุ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ต้องระบุ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับเอนทิตี หมายเหตุ: ระบุช่องนี้หากแอปต้องการควบคุมวิธีแสดงข้อมูลนี้ต่อผู้ใช้ ระบุสตริงที่กระชับซึ่งสามารถแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ข้อความถูกตัดในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับเอนทิตี หมายเหตุ: ระบุช่องนี้หากคุณไม่ต้องการจัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ |
ยาว |
| สถานที่ตั้ง - ประเทศ | ไม่บังคับ | ประเทศที่บุคคลนั้นอาศัยอยู่หรือให้บริการ | ข้อความอิสระ 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 |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์
ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
RestaurantReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| เวลาเริ่มต้นการจอง | ต้องระบุ | การประทับเวลา Epoch ในหน่วยมิลลิวินาทีเมื่อคาดว่าการจองจะเริ่มต้น | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| สถานที่ตั้ง - ประเทศ | ต้องระบุ | ประเทศที่ร้านอาหารตั้งอยู่ | ข้อความอิสระ 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 |
EventReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | สตริง ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| เวลาเริ่มต้น | ต้องระบุ |
การประทับเวลา Epoch ที่คาดว่ากิจกรรมจะเริ่มต้น หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| โหมดกิจกรรม | ต้องระบุ | ช่องสำหรับระบุว่ากิจกรรมจะเป็นแบบออนไลน์ แบบเข้าร่วมด้วยตนเอง หรือทั้ง 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 เมื่อคาดว่ากิจกรรมจะสิ้นสุด หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที |
การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| ผู้ให้บริการ - ชื่อ | ไม่บังคับ |
ชื่อผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ข้อความอิสระ เช่น ชื่อผู้จัดกิจกรรม/ทัวร์ |
| ผู้ให้บริการ - รูปภาพ | ไม่บังคับ |
โลโก้/รูปภาพของผู้ให้บริการ หมายเหตุ: ต้องระบุข้อความหรือรูปภาพสำหรับผู้ให้บริการ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| ป้าย | ไม่บังคับ |
ป้ายแต่ละรายการจะเป็นข้อความอิสระ (ไม่เกิน 15 อักขระ) หรือรูปภาพขนาดเล็ก |
|
| ป้าย - ข้อความ | ไม่บังคับ | ชื่อของป้าย หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ |
| ป้าย - รูปภาพ | ไม่บังคับ | รูปภาพขนาดเล็ก การดูแล UX พิเศษ เช่น การวางซ้อนป้ายบนภาพปก/วิดีโอ หมายเหตุ: ต้องมีข้อความหรือรูปภาพสำหรับป้าย |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| รหัสการจอง | ไม่บังคับ | รหัสการจองสำหรับการจองกิจกรรม | ข้อความอิสระ |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข |
ราคาปัจจุบันของตั๋ว/บัตรผ่านสำหรับกิจกรรม ต้องระบุหากมีการระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของตั๋ว/บัตรผ่านสำหรับกิจกรรม | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนคะแนนสำหรับกิจกรรม หมายเหตุ: ระบุช่องนี้หากแอปต้องการควบคุมวิธีแสดงข้อมูลนี้ต่อผู้ใช้ ระบุสตริงที่กระชับซึ่งสามารถแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ข้อความถูกตัดในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนคะแนนสำหรับกิจกรรม หมายเหตุ: ระบุช่องนี้หากคุณไม่ต้องการจัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ |
ยาว |
| หมวดหมู่เนื้อหา | ไม่บังคับ | อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี | รายการ Enum ที่มีสิทธิ์
ดูคำแนะนำได้ที่ส่วนหมวดหมู่เนื้อหา |
LodgingReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "การเข้าพักตั้งแต่วันที่ 12 ธ.ค." ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| เวลาเช็คอิน | ต้องระบุ | การประทับเวลา Epoch ในหน่วยมิลลิวินาทีที่แสดงเวลาเช็คอินสำหรับการจอง | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| เวลาเช็คเอาต์ | ต้องระบุ | การประทับเวลา Epoch ในหน่วยมิลลิวินาทีที่แสดงเวลาเช็คเอาต์สำหรับการจอง | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| สถานที่ตั้ง - ประเทศ | ต้องระบุ | ประเทศที่ที่พักตั้งอยู่ | ข้อความอิสระ 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 หมายเหตุ: หากมีป้าย ให้เว้นพื้นที่ปลอดภัย 24 dp ทั้งด้านบนและด้านล่างของรูปภาพ |
ดูคำแนะนำได้ที่ข้อกำหนดเกี่ยวกับรูปภาพ |
| คำอธิบาย | ไม่บังคับ | ข้อความ 1 ย่อหน้าที่อธิบายเอนทิตี หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำ: 180 อักขระ |
| รายการคำบรรยาย | ไม่บังคับ | คำบรรยายสูงสุด 3 รายการ โดยคำบรรยายแต่ละรายการเป็นข้อความบรรทัดเดียว หมายเหตุ: ระบบจะแสดงคำอธิบายหรือรายการคำบรรยายอย่างใดอย่างหนึ่งให้ผู้ใช้เห็น ไม่ใช่ทั้ง 2 อย่าง |
ข้อความอิสระ ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ |
| รหัสการจอง | ไม่บังคับ | รหัสการจองสำหรับการจองที่พัก | ข้อความอิสระ |
| คะแนน - ค่าสูงสุด | ไม่บังคับ | ค่าสูงสุดของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าปัจจุบันของคะแนนด้วย |
ตัวเลข >= 0.0 |
| คะแนน - ค่าปัจจุบัน | ไม่บังคับ | ค่าปัจจุบันของสเกลการให้คะแนน ต้องระบุหากมีการระบุค่าสูงสุดของคะแนนด้วย |
ตัวเลข >= 0.0 |
| การให้คะแนน - จำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากแอปต้องการควบคุมวิธีแสดงข้อมูลนี้ต่อผู้ใช้ ระบุสตริงที่กระชับซึ่งสามารถแสดงต่อผู้ใช้ได้ เช่น หากจำนวนคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อไม่ให้ข้อความถูกตัดในจอแสดงผลขนาดเล็ก |
สตริง |
| การให้คะแนน - ค่าจำนวน | ไม่บังคับ | จำนวนการให้คะแนนสำหรับที่พัก หมายเหตุ: ระบุช่องนี้หากคุณไม่ต้องการจัดการตรรกะตัวย่อที่แสดงด้วยตนเอง หากมีทั้งจำนวนและค่าจำนวน เราจะใช้จำนวนเพื่อแสดงต่อผู้ใช้ |
ยาว |
| Price - CurrentPrice | ต้องมีแบบมีเงื่อนไข | ราคาปัจจุบันของที่พัก ต้องระบุหากระบุราคาที่ขีดฆ่า |
ข้อความอิสระ |
| Price - StrikethroughPrice | ไม่บังคับ | ราคาเดิมของที่พัก ซึ่งจะถูกขีดทับใน UI | ข้อความอิสระ |
| ข้อความไฮไลต์ราคา | ไม่บังคับ | ข้อความไฮไลต์ราคาเพื่อแสดงโปรโมชัน กิจกรรม ส่วนลดสำหรับสมาชิก (หากมี) | ข้อความอิสระ ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
TransportationReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "SFO to SAN" ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| ประเภทการขนส่ง | ต้องระบุ | รูปแบบ/ประเภทการเดินทางสำหรับการจอง | Enum: FLIGHT, TRAIN, BUS หรือ FERRY |
| เวลาออกเดินทาง | ต้องระบุ | การประทับเวลา Epoch ในหน่วยมิลลิวินาทีที่แสดงเวลาออกเดินทาง | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| เวลาถึง | ต้องระบุ | การประทับเวลา Epoch ในหน่วยมิลลิวินาทีที่แสดงเวลาถึง | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| สถานที่ออกเดินทาง - ประเทศ | ไม่บังคับ | ประเทศต้นทาง | ข้อความอิสระ 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 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
| หมายเลขการขนส่ง | ต้องระบุ | หมายเลขเที่ยวบิน หมายเลขรถประจำทาง หมายเลขรถไฟ หรือหมายเลขเรือข้ามฟาก/เรือสำราญ | ข้อความอิสระ |
| เวลาขึ้นเครื่อง | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลาขึ้นเครื่องสำหรับการจอง (หากมี) | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
VehicleRentalReservationEntity
| แอตทริบิวต์ | ข้อกำหนด | คำอธิบาย | รูปแบบ |
|---|---|---|---|
| URI การดำเนินการ | ต้องระบุ |
Deep Link ไปยังเอนทิตีในแอปของผู้ให้บริการ หมายเหตุ: คุณใช้ Deep Link สำหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้ |
URI |
| ชื่อ | ต้องระบุ | ชื่อของเอนทิตี | ข้อความอิสระ เช่น "Avis Union Square SF" ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ |
| เวลารับสินค้า | ต้องระบุ | การประทับเวลา Epoch ที่แสดงเวลารับสินค้าสำหรับการจอง | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| เวลาเดินทางกลับ | ไม่บังคับ | การประทับเวลา Epoch ที่แสดงเวลาเช็คเอาต์สำหรับการจอง | การประทับเวลา Epoch ในหน่วยมิลลิวินาที |
| 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 อักขระ (ข้อความที่ยาวเกินไปอาจแสดงจุดไข่ปลา) |
ข้อกำหนดเกี่ยวกับรูปภาพ
ข้อกำหนดที่จำเป็นสำหรับชิ้นงานรูปภาพแสดงอยู่ในตารางนี้
| สัดส่วนภาพ | พิกเซลขั้นต่ำ | พิกเซลแนะนํา |
|---|---|---|
สี่เหลี่ยมจัตุรัส (1x1) Preferred |
300x300 | 1200x1200 |
| แนวนอน (1.91x1) | 600x314 | 1200x628 |
| แนวตั้ง (4x5) | 480x600 | 960x1200 |
รูปภาพต้องโฮสต์อยู่ใน CDN สาธารณะเพื่อให้ Google เข้าถึงได้
รูปแบบไฟล์
PNG, JPG, GIF แบบภาพนิ่ง, WebP
ขนาดไฟล์สูงสุด
5120 KB
คำแนะนำเพิ่มเติม
- พื้นที่ปลอดภัยสำหรับรูปภาพ: ใส่เนื้อหาสำคัญไว้ตรงกลาง ซึ่งก็คือ 80% ของรูปภาพนั้น
- ใช้พื้นหลังโปร่งใสเพื่อให้รูปภาพแสดงได้อย่างถูกต้องในการตั้งค่าธีมมืดและธีมสว่าง
หมวดหมู่เนื้อหา
หมวดหมู่เนื้อหาช่วยให้แอปเผยแพร่เนื้อหาที่อยู่ในหลายหมวดหมู่ได้ ซึ่งจะจับคู่เนื้อหากับหมวดหมู่ที่กำหนดไว้ล่วงหน้าบางหมวดหมู่ ได้แก่
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) และกำหนดเวลาเป็นประจำหรือตามเหตุการณ์ (เช่น ทุกครั้งที่ผู้ใช้เปิดแอปหรือเมื่อผู้ใช้เพิ่งเพิ่มสินค้าลงในรถเข็น)
AppEngagePublishClient มีหน้าที่เผยแพร่คลัสเตอร์
API ต่อไปนี้ใช้เพื่อเผยแพร่คลัสเตอร์ในไคลเอ็นต์
isServiceAvailablepublishRecommendationClusterspublishFeaturedClusterpublishContinuationClusterpublishUserAccountManagementRequestupdatePublishStatusdeleteRecommendationsClustersdeleteFeaturedClusterdeleteContinuationClusterdeleteUserManagementClusterdeleteClusters
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_SHOPPING_CART |
4 |
| คลัสเตอร์การสั่งอาหารซ้ำ | TYPE_FOOD_REORDER |
5 |
| คลัสเตอร์รถเข็นช็อปปิ้งอาหาร | TYPE_FOOD_SHOPPING_CART |
6 |
| คลัสเตอร์รายการช็อปปิ้งอาหาร | TYPE_FOOD_SHOPPING_LIST |
7 |
| คลัสเตอร์การจัดการผู้ใช้ | TYPE_ENGAGEMENT |
8 |
| คลัสเตอร์รายการช็อปปิ้ง | TYPE_SHOPPING_LIST |
9 |
| คลัสเตอร์การสั่งซื้อซ้ำใน Shopping | TYPE_SHOPPING_REORDER |
10 |
| คลัสเตอร์การติดตามคำสั่งซื้อใน Shopping | TYPE_SHOPPING_ORDER_TRACKING |
11 |
| คลัสเตอร์การสมัครใช้บริการ | 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ที่มีอยู่จากพาร์ทเนอร์นักพัฒนาออก - ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอในคลัสเตอร์ที่แนะนำที่อัปเดต
ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะที่มีอยู่ไว้
publishContinuationCluster
API นี้ใช้เพื่อเผยแพร่ออบเจ็กต์ ContinuationCluster
Kotlin
client.publishContinuationCluster(
PublishContinuationClusterRequest.Builder()
.setContinuationCluster(
ContinuationCluster.Builder()
.addEntity(entity1)
.addEntity(entity2)
.build())
.build())
Java
client.publishContinuationCluster(
new PublishContinuationClusterRequest.Builder()
.setContinuationCluster(
new ContinuationCluster.Builder()
.addEntity(entity1)
.addEntity(entity2)
.build())
.build());
เมื่อบริการได้รับคำขอ ระบบจะดำเนินการต่อไปนี้ภายในธุรกรรมเดียว
- ระบบจะนำข้อมูล
ContinuationClusterที่มีอยู่จากพาร์ทเนอร์นักพัฒนาออก - ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอในคลัสเตอร์ความต่อเนื่องที่อัปเดต
ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะที่มีอยู่ไว้
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();
เมื่อบริการได้รับคำขอ ระบบจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์ที่แนะนำ ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะที่มีอยู่ไว้
deleteContinuationCluster
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์ความต่อเนื่อง
Kotlin
client.deleteContinuationCluster()
Java
client.deleteContinuationCluster();
เมื่อบริการได้รับคำขอ ระบบจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์ความต่อเนื่อง ในกรณีที่เกิดข้อผิดพลาด ระบบจะปฏิเสธคำขอทั้งหมดและคงสถานะที่มีอยู่ไว้
deleteUserManagementCluster
API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์ UserAccountManagement
Kotlin
client.deleteUserManagementCluster()
Java
client.deleteUserManagementCluster();
เมื่อบริการได้รับคำขอ ระบบจะนำข้อมูลที่มีอยู่ออกจากคลัสเตอร์ UserAccountManagement ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธและระบบจะคงสถานะที่มีอยู่ไว้
deleteClusters
API นี้ใช้เพื่อลบเนื้อหาของประเภทคลัสเตอร์ที่ระบุ
Kotlin
client.deleteClusters(
DeleteClustersRequest.Builder()
.addClusterType(ClusterType.TYPE_CONTINUATION)
.addClusterType(ClusterType.TYPE_FEATURED)
.addClusterType(ClusterType.TYPE_RECOMMENDATION)
.build())
Java
client.deleteClusters(
new DeleteClustersRequest.Builder()
.addClusterType(ClusterType.TYPE_CONTINUATION)
.addClusterType(ClusterType.TYPE_FEATURED)
.addClusterType(ClusterType.TYPE_RECOMMENDATION)
.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 continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}
fun registerBroadcastReceivers(context: Context){
var context = context
context = context.applicationContext
// Register Recommendation Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(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(Intents.ACTION_PUBLISH_FEATURED),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
// Register Continuation Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION),
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 continuation cluster publish when PUBLISH_CONTINUATION 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 Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION),
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.PUBLISH_CONTINUATION" />
</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.PUBLISH_CONTINUATIONขอแนะนำให้เริ่มการโทรpublishContinuationClusterเมื่อได้รับ Intent นี้
เวิร์กโฟลว์การผสานรวม
ดูคำแนะนำทีละขั้นตอนในการยืนยันการผสานรวมหลังจากที่ผสานรวมเสร็จแล้วได้ที่เวิร์กโฟลว์การผสานรวมของนักพัฒนาแอป Engage
คำถามที่พบบ่อย
ดูคำถามที่พบบ่อยได้ที่คำถามที่พบบ่อยเกี่ยวกับ Engage SDK
รายชื่อติดต่อ
โปรดติดต่อ engage-developers@google.com หากมีคำถามระหว่างกระบวนการผสานรวม
ขั้นตอนถัดไป
หลังจากผสานรวมเสร็จแล้ว ขั้นตอนถัดไปมีดังนี้
- ส่งอีเมลไปที่
engage-developers@google.comและแนบ APK ที่ผสานรวมซึ่งพร้อมให้ Google ทดสอบ - Google จะดำเนินการตรวจสอบและตรวจสอบภายในเพื่อให้แน่ใจว่าการผสานรวมทำงานได้ตามที่คาดไว้ หากจำเป็นต้องทำการเปลี่ยนแปลง Google จะติดต่อคุณพร้อมรายละเอียดที่จำเป็น
- เมื่อการทดสอบเสร็จสมบูรณ์และไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ Google จะติดต่อคุณเพื่อแจ้งให้ทราบว่าคุณสามารถเริ่มเผยแพร่ APK ที่อัปเดตและผสานรวมแล้วไปยัง Play Store ได้
- หลังจาก Google ยืนยันว่า APK ที่อัปเดตแล้วได้รับการเผยแพร่ไปยัง Play Store แล้ว ระบบอาจเผยแพร่คลัสเตอร์วิดีโอแนะนำ วิดีโอแนะนำ และวิดีโอที่ดูต่อ และผู้ใช้จะเห็นคลัสเตอร์ดังกล่าว