Tăng mức độ tương tác với ứng dụng bằng cách tiếp cận người dùng ở nơi họ hiện diện. Tích hợp Engage SDK để phân phối đề xuất được cá nhân hoá và nội dung liên tục trực tiếp đến người dùng trên nhiều không gian trên thiết bị, chẳng hạn như Bộ sưu tập, Entertainment Space và Cửa hàng Play. Việc tích hợp này làm tăng chưa đến 50 KB (đã nén) cho tệp APK trung bình và nhà phát triển mất khoảng một tuần để tích hợp cho hầu hết ứng dụng. Tìm hiểu thêm tại trang web dành cho doanh nghiệp của chúng tôi.
Tài liệu này chứa hướng dẫn dành cho các đối tác nhà phát triển về việc tích hợp nội dung mới như thông tin đặt chỗ, sự kiện, chỗ ở, địa điểm yêu thích, con người và nội dung khác có thể không thuộc bất kỳ danh mục nào trong số này.
Kỹ năng Android
Xem trên GitHubTích hợp Engage SDK
android skills add engage-sdk-integrationThông tin chi tiết về quy trình tích hợp
Phần này trình bày chi tiết các bước, mô hình dữ liệu và thuật ngữ cần thiết để tích hợp với Engage SDK cho các danh mục nội dung khác.
Thuật ngữ
Quy trình tích hợp bao gồm 3 loại cụm sau: Đề xuất, Nổi bật và Tiếp tục.
Cụm Đề xuất hiện các đề xuất được cá nhân hoá từ từng đối tác nhà phát triển. Đây là khung hiển thị giao diện người dùng chứa một nhóm các đề xuất từ cùng một đối tác nhà phát triển.
ArticleEntity: ArticleEntity đại diện cho nội dung đề xuất dựa trên văn bản cho nội dung có liên quan đến nhiều danh mục nội dung. Mục ArticleEntity cho phép nhà phát triển cung cấp nhiều nội dung văn bản và hình ảnh có nhiều siêu dữ liệu hơn để trình bày thông tin cho người dùng so với GenericFeaturedEntity. Ví dụ: Nội dung tiếp thị, đoạn trích tin tức
Hình 1: Giao diện người dùng hiển thị một ArticleEntity duy nhất trong cụm Đề xuất. EventEntity: EventEntity đại diện cho một sự kiện diễn ra trong tương lai. Thời gian bắt đầu sự kiện là một thông tin quan trọng cần được truyền tải đến người dùng.
Hình 2: Giao diện người dùng hiển thị một EventEntity duy nhất trong cụm Đề xuất. LodgingEntity: LodgingEntity đại diện cho một chỗ lưu trú, chẳng hạn như khách sạn, căn hộ, nhà nghỉ dưỡng cho thuê ngắn hạn và dài hạn.
Hình 3: Giao diện người dùng hiển thị một LodgingEntity duy nhất trong cụm Đề xuất. StoreEntity: StoreEntity đại diện cho một cửa hàng, nhà hàng, quán cà phê, v.v. Thực thể này làm nổi bật nội dung trong đó địa điểm ăn uống hoặc cửa hàng là thông tin quan trọng cần được truyền tải đến người dùng.
Hình 4: Giao diện người dùng hiển thị một StoreEntity duy nhất trong cụm Đề xuất. PointOfInterestEntity: PointOfInterestEntity đại diện cho một địa điểm yêu thích, chẳng hạn như trạm xăng, địa điểm tổ chức sự kiện, công viên giải trí, bảo tàng, điểm tham quan du lịch, đường mòn đi bộ đường dài, v.v. Thực thể này làm nổi bật nội dung mà vị trí là một thông tin quan trọng cần được truyền tải đến người dùng. Không được dùng cho nhà nghỉ, cửa hàng hoặc địa điểm ăn uống.
Hình 5: Giao diện người dùng hiển thị một PointOfInterestEntity duy nhất trong cụm Đề xuất. PersonEntity: PersonEntity đại diện cho một người. Đề xuất có thể là làm nổi bật một người trong các danh mục như sức khoẻ và thể dục, thể thao, hẹn hò, v.v.
Hình 5: Giao diện người dùng hiển thị một PersonEntity duy nhất trong cụm Đề xuất.
Cụm Tiếp tục hiển thị nội dung mà người dùng đã tương tác gần đây từ nhiều đối tác nhà phát triển trong một nhóm giao diện người dùng. Mỗi đối tác nhà phát triển sẽ được phép thông báo về tối đa 10 thực thể trong cụm Tiếp tục.
Nội dung tiếp theo có thể có cấu trúc như sau:
ArticleEntity: ArticleEntity đại diện cho nội dung đề xuất dựa trên văn bản cho nội dung có liên quan đến nhiều danh mục nội dung. Bạn có thể dùng thực thể này để thể hiện các tin bài chưa đọc xong hoặc nội dung khác mà người dùng muốn tiếp tục xem từ chỗ họ đã dừng lại. Ví dụ: Nội dung tiếp thị, Đoạn trích tin tức
Hình 6. Giao diện người dùng hiển thị một ArticleEntity duy nhất trong cụm Tiếp tục. RestaurantReservationEntity: RestaurantReservationEntity đại diện cho thông tin đặt chỗ tại nhà hàng hoặc quán cà phê, đồng thời giúp người dùng theo dõi thông tin đặt chỗ sắp tới hoặc đang diễn ra tại nhà hàng.
Hình 7. Giao diện người dùng cho thấy một RestaurantReservationEntity duy nhất trong cụm Tiếp tục. EventReservationEntity: EventReservationEntity đại diện cho một lượt đặt chỗ cho một sự kiện và giúp người dùng theo dõi các lượt đặt chỗ cho sự kiện sắp tới hoặc đang diễn ra. Sự kiện có thể bao gồm nhưng không giới hạn ở những trường hợp sau:
- Sự kiện thể thao, chẳng hạn như đặt chỗ cho một trận bóng đá
- Sự kiện trò chơi như đặt chỗ cho thể thao điện tử
- Sự kiện giải trí như đặt vé xem phim tại rạp chiếu phim, buổi hoà nhạc, nhà hát, buổi ký tặng sách
- Thông tin đặt chỗ cho chuyến đi hoặc điểm tham quan, chẳng hạn như chuyến tham quan có hướng dẫn viên, vé bảo tàng
- Đặt chỗ tham gia sự kiện xã hội / hội thảo / hội nghị
- Đặt chỗ tham gia các buổi giáo dục / đào tạo
Hình 8. Giao diện người dùng hiển thị một EventReservationEntity duy nhất trong cụm Tiếp tục. LodgingReservationEntity: LodgingEntityReservation đại diện cho thông tin đặt chỗ lưu trú khi đi du lịch và giúp người dùng theo dõi thông tin đặt phòng khách sạn hoặc chỗ nghỉ du lịch sắp tới hoặc đang diễn ra.
Hình 9. Giao diện người dùng hiển thị một LodgingReservationEntity duy nhất trong cụm Tiếp tục. TransportationReservationEntity: TransportationReservationEntity đại diện cho một lượt đặt chỗ cho phương tiện di chuyển bằng bất kỳ phương thức nào và giúp người dùng theo dõi lượt đặt chỗ cho chuyến bay, phà, tàu hoả, xe buýt, dịch vụ gọi xe hoặc du thuyền sắp tới hoặc đang diễn ra.
Hình 10. Giao diện người dùng hiển thị một TransportationReservationEntity duy nhất trong cụm Tiếp tục. VehicleRentalReservationEntity: VehicleRentalReservationEntity đại diện cho một lượt đặt thuê xe và giúp người dùng theo dõi các lượt đặt thuê xe sắp tới hoặc đang diễn ra.
Hình 11. Giao diện người dùng hiển thị một VehicleRentalReservationEntity duy nhất trong cụm Tiếp tục.
Cụm Nổi bật là một khung hiển thị giao diện người dùng giới thiệu
GenericFeaturedEntitychủ chốt được chọn từ nhiều đối tác nhà phát triển trong một nhóm giao diện người dùng. Có một cụm Nổi bật duy nhất xuất hiện gần đầu giao diện người dùng và có vị trí ưu tiên phía trên tất cả các cụm Đề xuất. Mỗi đối tác nhà phát triển được phép thông báo về một thực thể duy nhất thuộc một loại được hỗ trợ trong cụm Nổi bật, với nhiều thực thể (có thể thuộc nhiều loại) từ nhiều nhà phát triển ứng dụng trong cụm Nổi bật.GenericFeaturedEntity: GenericFeaturedEntity khác với mục Đề xuất ở chỗ mục Nổi bật phải được dùng cho một nội dung hàng đầu của nhà phát triển và phải đại diện cho một nội dung quan trọng nhất, thú vị và phù hợp với người dùng.
Hình 12: Giao diện người dùng hiển thị một thẻ GenericFeaturedEntity chính trong một cụm Nổi bật
Chuẩn bị trước
Cấp độ API tối thiểu: 19
Thêm thư viện com.google.android.engage:engage-core vào ứng dụng của bạn:
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'
}
Tóm tắt
Thiết kế này dựa trên việc triển khai dịch vụ ràng buộc.
Dữ liệu mà ứng dụng có thể phát hành phải tuân theo các giới hạn sau cho các loại cụm khác nhau:
| Loại cụm | Giới hạn về cụm | Giới hạn số lượng thực thể tối thiểu trong một cụm | Giới hạn số lượng thực thể tối đa trong một cụm |
|---|---|---|---|
| Cụm Đề xuất | Tối đa 7 | Ít nhất 1 | Tối đa 50 (ArticleEntity, EventEntity, LodgingEntity, StoreEntity, PointOfInterestEntity hoặc PersonEntity) |
| Cụm Tiếp tục | Tối đa 1 | Ít nhất 1 | Tối đa 20 (ArticleEntity, EventReservationEntity, LodgingReservationEntity, TransportationReservationEntity hoặc VehicleRentalReservationEntity) |
| Cụm Nổi bật | Tối đa 1 | Ít nhất 1 | Tối đa 20 (GenericFeaturedEntity) |
Bước 1: Cung cấp dữ liệu về thực thể
SDK đã xác định các thực thể khác nhau để đại diện cho từng loại mục. Chúng tôi hỗ trợ các thực thể sau cho danh mục khác:
GenericFeaturedEntityArticleEntityEventEntityLodgingEntityStoreEntityPointOfInterestEntityPersonEntityRestaurantReservationEntityEventReservationEntityLodgingReservationEntityTransportationReservationEntityVehicleRentalReservationEntity
Các biểu đồ sau đây nêu ra các thuộc tính hiện có và yêu cầu cho từng loại.
GenericFeaturedEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Hình ảnh áp phích | Bắt buộc | Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả đầu và cuối hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Tiêu đề | Không bắt buộc | Tiêu đề của thực thể. | Văn bản tự do Kích thước văn bản nên dùng: 50 ký tự |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Huy hiệu | Không bắt buộc | Mỗi huy hiệu là văn bản tuỳ ý (tối đa 15 ký tự) hoặc hình ảnh nhỏ. Xử lý trải nghiệm người dùng đặc biệt trên hình ảnh/video, ví dụ: lớp phủ huy hiệu trên hình ảnh
|
|
| Huy hiệu – Văn bản | Không bắt buộc | Tiêu đề cho huy hiệu Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Văn bản tự do Kích thước văn bản nên dùng: tối đa 15 ký tự |
| Huy hiệu – Hình ảnh | Không bắt buộc | Hình ảnh nhỏ Xử lý trải nghiệm người dùng đặc biệt, ví dụ như lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video. Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Danh mục nội dung | Không bắt buộc | Mô tả danh mục của nội dung trong thực thể. | Danh sách enum Hãy xem phần Danh mục nội dung để biết hướng dẫn. |
ArticleEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Văn bản tự do Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Hình ảnh áp phích | Không bắt buộc | Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Bạn nên thêm hình ảnh. Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả phía trên và phía dưới hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Nguồn – Tiêu đề | Không bắt buộc | Tên của tác giả, tổ chức hoặc phóng viên | Văn bản tự do Kích thước văn bản nên dùng: Dưới 25 ký tự |
| Nguồn – Hình ảnh | Không bắt buộc | Hình ảnh của nguồn như tác giả, tổ chức, phóng viên | Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Huy hiệu | Không bắt buộc | Mỗi huy hiệu là văn bản tuỳ ý (tối đa 15 ký tự) hoặc hình ảnh nhỏ. Xử lý trải nghiệm người dùng đặc biệt trên hình ảnh/video, ví dụ: lớp phủ huy hiệu trên hình ảnh
|
|
| Huy hiệu – Văn bản | Không bắt buộc | Tiêu đề cho huy hiệu Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Văn bản tự do Kích thước văn bản nên dùng: tối đa 15 ký tự |
| Huy hiệu – Hình ảnh | Không bắt buộc | Hình ảnh nhỏ Xử lý trải nghiệm người dùng đặc biệt, ví dụ như lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video. Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Thời gian xuất bản nội dung | Không bắt buộc | Đây là dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) khi nội dung được xuất bản / cập nhật trong ứng dụng. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Thời gian tương tác gần đây nhất | Bắt buộc có điều kiện | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) khi người dùng tương tác với thực thể này lần gần đây nhất. Lưu ý: Trường này là bắt buộc nếu thực thể này thuộc cụm tiếp tục. |
Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Phần trăm tiến trình | Bắt buộc có điều kiện | Tỷ lệ phần trăm nội dung đầy đủ mà người dùng đã xem tính đến thời điểm hiện tại. Lưu ý: Trường này là bắt buộc nếu thực thể này thuộc cụm tiếp tục. |
Giá trị int từ 0 đến 100. |
| Danh mục nội dung | Không bắt buộc | Mô tả danh mục của nội dung trong thực thể. | Danh sách enum Hãy xem phần Danh mục nội dung để biết hướng dẫn. |
EventEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Chuỗi Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Thời gian bắt đầu | Bắt buộc |
Dấu thời gian bắt đầu của hệ thống khi sự kiện dự kiến bắt đầu. Lưu ý: Giá trị này sẽ được biểu thị bằng mili giây. |
Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Chế độ sự kiện | Bắt buộc | Trường cho biết sự kiện sẽ diễn ra trực tuyến, trực tiếp hay cả hai. |
Enum: VIRTUAL, IN_PERSON hoặc HYBRID |
| Hình ảnh áp phích | Bắt buộc | Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Bạn nên thêm hình ảnh. Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả phía trên và phía dưới hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Vị trí – Quốc gia | Bắt buộc có điều kiện | Quốc gia nơi sự kiện diễn ra. Lưu ý: Đây là thông tin bắt buộc đối với các sự kiện TRỰC TIẾP hoặc KẾT HỢP |
Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Thành phố | Bắt buộc có điều kiện | Thành phố nơi sự kiện diễn ra. Lưu ý: Đây là thông tin bắt buộc đối với các sự kiện TRỰC TIẾP hoặc KẾT HỢP |
Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ hiển thị | Bắt buộc có điều kiện | Địa chỉ hoặc tên địa điểm tổ chức sự kiện sẽ hiển thị cho người dùng. Lưu ý: Đây là thông tin bắt buộc đối với các sự kiện TRỰC TIẾP hoặc KẾT HỢP |
Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của địa điểm tổ chức sự kiện. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) nơi sự kiện được tổ chức. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của địa điểm tổ chức sự kiện. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Khu vực lân cận | Không bắt buộc | Vùng lân cận (nếu có) nơi tổ chức sự kiện. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Thời gian kết thúc | Không bắt buộc |
Dấu thời gian bắt đầu của hệ thống khi sự kiện dự kiến kết thúc. Lưu ý: Giá trị này sẽ được biểu thị bằng mili giây. |
Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Huy hiệu | Không bắt buộc |
Mỗi huy hiệu là văn bản tuỳ ý (tối đa 15 ký tự) hoặc hình ảnh nhỏ. |
|
| Huy hiệu – Văn bản | Không bắt buộc | Tiêu đề cho huy hiệu Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Văn bản tự do Kích thước văn bản nên dùng: tối đa 15 ký tự |
| Huy hiệu – Hình ảnh | Không bắt buộc | Hình ảnh nhỏ Xử lý trải nghiệm người dùng đặc biệt, ví dụ như lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video. Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Price – CurrentPrice | Bắt buộc có điều kiện |
Giá hiện tại của vé/thẻ tham dự sự kiện. Phải cung cấp nếu bạn cung cấp giá gốc bị gạch ngang. |
Văn bản tự do |
| Price – StrikethroughPrice | Không bắt buộc | Giá gốc của vé/thẻ tham dự sự kiện. | Văn bản tự do |
| Chú thích về giá | Không bắt buộc | Chú thích về giá để giới thiệu một chương trình khuyến mãi, sự kiện, ưu đãi chiết khấu cho thành viên (nếu có). | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Danh mục nội dung | Không bắt buộc | Mô tả danh mục của nội dung trong thực thể. | Danh sách enum đủ điều kiện
Hãy xem phần Danh mục nội dung để biết hướng dẫn. |
LodgingEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Chuỗi Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Hình ảnh áp phích | Bắt buộc |
Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả trên cùng và dưới cùng của hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Vị trí – Quốc gia | Bắt buộc | Quốc gia nơi khách lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Thành phố | Bắt buộc | Thành phố nơi có chỗ lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ hiển thị | Bắt buộc | Địa chỉ của cơ sở lưu trú sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của cơ sở lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) nơi cơ sở lưu trú toạ lạc. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của cơ sở lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của cơ sở lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Huy hiệu | Không bắt buộc |
Mỗi huy hiệu là văn bản tuỳ ý (tối đa 15 ký tự) hoặc hình ảnh nhỏ. |
|
| Huy hiệu – Văn bản | Không bắt buộc | Tiêu đề cho huy hiệu Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Văn bản tự do Kích thước văn bản nên dùng: tối đa 15 ký tự |
| Huy hiệu – Hình ảnh | Không bắt buộc | Hình ảnh nhỏ Xử lý trải nghiệm người dùng đặc biệt, ví dụ như lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video. Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| AvailabilityTimeWindow – Thời gian bắt đầu | Không bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) khi cơ sở lưu trú dự kiến sẽ mở cửa/hoạt động. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| AvailabilityTimeWindow – Thời gian kết thúc | Không bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) cho đến khi cơ sở lưu trú dự kiến mở cửa/hoạt động. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Điểm xếp hạng – Giá trị tối đa | Không bắt buộc | Giá trị tối đa của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị hiện tại của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Giá trị hiện tại | Không bắt buộc | Giá trị hiện tại của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị tối đa của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Tổng | Không bắt buộc | Số lượt xếp hạng cho cơ sở lưu trú. Lưu ý: Hãy cung cấp trường này nếu ứng dụng của bạn kiểm soát cách hiển thị số lượng cho người dùng. Sử dụng một chuỗi súc tích. Ví dụ: nếu số lượt xem là 1.000.000, hãy cân nhắc sử dụng từ viết tắt như 1Tr để số lượt xem không bị cắt bớt trên các kích thước màn hình nhỏ hơn. |
Chuỗi |
| Điểm xếp hạng – Giá trị tổng | Không bắt buộc | Số lượt xếp hạng cho cơ sở lưu trú. Lưu ý: Cung cấp trường này nếu bạn không tự xử lý logic viết tắt hiển thị. Nếu có cả Count và Count Value, thì Count sẽ hiển thị cho người dùng. |
Kinh độ |
| Price – CurrentPrice | Bắt buộc có điều kiện | Giá hiện tại của cơ sở lưu trú. Phải cung cấp nếu bạn cung cấp giá gốc được gạch ngang. |
Văn bản tự do |
| Price – StrikethroughPrice | Không bắt buộc | Giá gốc của nơi lưu trú (sẽ bị gạch ngang trong giao diện người dùng). | Văn bản tự do |
| Chú thích về giá | Không bắt buộc | Chú thích về giá để giới thiệu một chương trình khuyến mãi, sự kiện, ưu đãi chiết khấu cho thành viên (nếu có). | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
StoreEntity
Đối tượng StoreEntity đại diện cho từng cửa hàng mà các đối tác nhà phát triển muốn xuất bản, chẳng hạn như nhà hàng hoặc cửa hàng tạp hoá.
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| Hình ảnh áp phích | Bắt buộc | Bạn phải cung cấp ít nhất một hình ảnh. | Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Không bắt buộc | Tên cửa hàng. | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Vị trí | Không bắt buộc | Vị trí cửa hàng. | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Chú thích | Không bắt buộc | Chú thích giới thiệu về một chương trình khuyến mãi, sự kiện hoặc thông tin cập nhật của cửa hàng (nếu có). | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Dòng chữ in nhỏ của chú thích | Không bắt buộc | Văn bản in nhỏ của chú thích. | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Nội dung mô tả | Không bắt buộc | Nội dung mô tả về cửa hàng. | Văn bản tự do Kích thước văn bản nên dùng: dưới 90 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Điểm xếp hạng – Giá trị tối đa | Không bắt buộc | Giá trị tối đa của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị hiện tại của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Giá trị hiện tại | Không bắt buộc | Giá trị hiện tại của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị tối đa của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Tổng | Không bắt buộc | Số lượt xếp hạng cho cơ sở lưu trú. Lưu ý: Cung cấp trường này nếu ứng dụng của bạn muốn kiểm soát cách hiển thị thông tin này cho người dùng. Cung cấp chuỗi ngắn gọn có thể hiển thị cho người dùng. Ví dụ: nếu số lượng là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượng này không bị cắt bớt trên các kích thước màn hình nhỏ hơn. |
Chuỗi |
| Điểm xếp hạng – Giá trị tổng | Không bắt buộc | Số lượt xếp hạng cho cơ sở lưu trú. Lưu ý: Cung cấp trường này nếu bạn không muốn tự xử lý logic viết tắt hiển thị. Nếu có cả Số lượng và Giá trị số lượng, chúng tôi sẽ sử dụng Số lượng để hiển thị cho người dùng |
Kinh độ |
PointOfInterestEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Chuỗi Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Hình ảnh áp phích | Bắt buộc | Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Bạn nên thêm hình ảnh. Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả phía trên và phía dưới hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Vị trí – Quốc gia | Bắt buộc | Quốc gia nơi địa điểm yêu thích đang diễn ra. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Thành phố | Bắt buộc | Thành phố nơi diễn ra địa điểm yêu thích. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ hiển thị | Bắt buộc | Địa chỉ của điểm yêu thích sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của địa điểm yêu thích. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) nơi có địa điểm yêu thích. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của địa điểm yêu thích. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của địa điểm yêu thích. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| AvailabilityTimeWindow – Thời gian bắt đầu | Không bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) khi địa điểm yêu thích dự kiến sẽ mở cửa/hoạt động. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| AvailabilityTimeWindow – Thời gian kết thúc | Không bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) cho đến khi địa điểm yêu thích dự kiến sẽ mở cửa/hoạt động. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Huy hiệu | Không bắt buộc |
Mỗi huy hiệu là văn bản tuỳ ý (tối đa 15 ký tự) hoặc hình ảnh nhỏ. |
|
| Huy hiệu – Văn bản | Không bắt buộc | Tiêu đề cho huy hiệu Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Văn bản tự do Kích thước văn bản nên dùng: tối đa 15 ký tự |
| Huy hiệu – Hình ảnh | Không bắt buộc | Hình ảnh nhỏ Xử lý trải nghiệm người dùng đặc biệt, ví dụ như lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video. Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Điểm xếp hạng – Giá trị tối đa | Không bắt buộc | Giá trị tối đa của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị hiện tại của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Giá trị hiện tại | Không bắt buộc | Giá trị hiện tại của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị tối đa của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Tổng | Không bắt buộc | Số lượt xếp hạng cho địa điểm yêu thích. Lưu ý: Hãy cung cấp trường này nếu ứng dụng của bạn kiểm soát cách hiển thị số lượng cho người dùng. Sử dụng một chuỗi súc tích. Ví dụ: nếu số lượt xem là 1.000.000, hãy cân nhắc sử dụng từ viết tắt như 1Tr để số lượt xem không bị cắt bớt trên các kích thước màn hình nhỏ hơn. |
Chuỗi |
| Điểm xếp hạng – Giá trị tổng | Không bắt buộc | Số lượt xếp hạng cho địa điểm yêu thích. Lưu ý: Cung cấp trường này nếu bạn không tự xử lý logic viết tắt hiển thị. Nếu có cả Số lượng và Giá trị số lượng, thì Số lượng sẽ hiển thị cho người dùng |
Kinh độ |
| Price – CurrentPrice | Bắt buộc có điều kiện |
Giá hiện tại của vé/thẻ vào cửa cho địa điểm yêu thích. Phải cung cấp nếu bạn cung cấp giá gốc bị gạch ngang. |
Văn bản tự do |
| Price – StrikethroughPrice | Không bắt buộc | Giá gốc của vé/thẻ vào cửa cho địa điểm yêu thích. | Văn bản tự do |
| Chú thích về giá | Không bắt buộc | Chú thích về giá để giới thiệu một chương trình khuyến mãi, sự kiện, ưu đãi chiết khấu cho thành viên (nếu có). |
Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Danh mục nội dung | Không bắt buộc | Mô tả danh mục của nội dung trong thực thể. | Danh sách enum đủ điều kiện
Hãy xem phần Danh mục nội dung để biết hướng dẫn. |
PersonEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Hồ sơ – Tên | Bắt buộc | Tên trên hồ sơ/tên nhận dạng hoặc tên người dùng, ví dụ: "John Doe", "@TeamPixel", v.v. | Chuỗi Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Hồ sơ – Hình đại diện | Bắt buộc |
Ảnh hồ sơ hoặc hình đại diện của người dùng. Lưu ý: Phải là ảnh hình vuông 1:1. |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Hồ sơ – Văn bản bổ sung | Không bắt buộc | Văn bản tuỳ ý như tên người dùng của hồ sơ. | Văn bản tự do Kích thước văn bản nên dùng: Tối đa 15 ký tự |
| Hồ sơ – Hình ảnh bổ sung | Không bắt buộc | Hình ảnh nhỏ như huy hiệu xác minh. | Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Hình ảnh tiêu đề | Không bắt buộc | Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Bạn nên thêm hình ảnh. Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả phía trên và phía dưới hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mức độ phổ biến – Số lượng | Không bắt buộc |
Cho biết số người theo dõi hoặc giá trị mức độ phổ biến, ví dụ: "3,7 triệu". Lưu ý: Nếu bạn cung cấp cả Số lượng và Giá trị số lượng, thì Số lượng sẽ được sử dụng |
Chuỗi Kích thước văn bản nên dùng: tối đa 20 ký tự cho cả số lượt và nhãn |
| Mức độ phổ biến – Giá trị số lượng | Không bắt buộc | Số người theo dõi hoặc giá trị mức độ phổ biến. Lưu ý: Cung cấp Giá trị số nếu ứng dụng của bạn không muốn xử lý logic về cách tối ưu hoá một số lượng lớn cho các kích thước hiển thị khác nhau. Nếu bạn cung cấp cả Số lượng và Giá trị số lượng, thì hệ thống sẽ sử dụng Số lượng. |
Kinh độ |
| Mức độ phổ biến – Nhãn | Không bắt buộc | Cho biết nhãn mức độ phổ biến. Ví dụ: "Thích". | Chuỗi Kích thước văn bản nên dùng: Tối đa 20 ký tự cho cả số lượt và nhãn |
| Mức độ phổ biến – Hình ảnh | Không bắt buộc |
Cho biết mục đích tương tác. Ví dụ: Hình ảnh biểu tượng Thích, biểu tượng cảm xúc. Có thể cung cấp nhiều hình ảnh, mặc dù không phải hình ảnh nào cũng hiện được trên mọi hệ số hình dạng. Lưu ý: Phải là ảnh hình vuông 1:1 |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Điểm xếp hạng – Giá trị tối đa | Bắt buộc | Giá trị tối đa của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị hiện tại của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Giá trị hiện tại | Bắt buộc | Giá trị hiện tại của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị tối đa của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Tổng | Không bắt buộc | Tổng số điểm xếp hạng cho thực thể. Lưu ý: Cung cấp trường này nếu ứng dụng của bạn muốn kiểm soát cách hiển thị thông tin này cho người dùng. Cung cấp chuỗi ngắn gọn có thể hiển thị cho người dùng. Ví dụ: nếu số lượng là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượng này không bị cắt bớt trên các kích thước màn hình nhỏ hơn. |
Chuỗi |
| Điểm xếp hạng – Giá trị tổng | Không bắt buộc | Tổng số điểm xếp hạng cho thực thể. Lưu ý: Cung cấp trường này nếu bạn không muốn tự xử lý logic viết tắt hiển thị. Nếu có cả Số lượng và Giá trị số lượng, chúng tôi sẽ sử dụng Số lượng để hiển thị cho người dùng |
Kinh độ |
| Vị trí – Quốc gia | Không bắt buộc | Quốc gia nơi người đó sinh sống hoặc phục vụ. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Thành phố | Không bắt buộc | Thành phố nơi người đó sinh sống hoặc phục vụ. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ hiển thị | Không bắt buộc | Địa chỉ nơi người đó sinh sống hoặc phục vụ sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) nơi người đó sinh sống hoặc phục vụ. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Tiểu bang | Không bắt buộc | Tiểu bang (nếu có) nơi người đó sinh sống hoặc phục vụ. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) nơi người đó sinh sống hoặc phục vụ. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Khu vực lân cận | Không bắt buộc | Vùng lân cận (nếu có) nơi người đó sinh sống hoặc phục vụ. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Huy hiệu | Không bắt buộc |
Mỗi huy hiệu là văn bản tuỳ ý (tối đa 15 ký tự) hoặc hình ảnh nhỏ. |
|
| Huy hiệu – Văn bản | Không bắt buộc | Tiêu đề cho huy hiệu Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Văn bản tự do Kích thước văn bản nên dùng: tối đa 15 ký tự |
| Huy hiệu – Hình ảnh | Không bắt buộc | Hình ảnh nhỏ Xử lý trải nghiệm người dùng đặc biệt, ví dụ như lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video. Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Danh mục nội dung | Không bắt buộc | Mô tả danh mục của nội dung trong thực thể. | Danh sách enum đủ điều kiện
Hãy xem phần Danh mục nội dung để biết hướng dẫn. |
RestaurantReservationEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Chuỗi Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Thời gian bắt đầu đặt trước | Bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) khi lượt đặt trước dự kiến bắt đầu. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Vị trí – Quốc gia | Bắt buộc | Quốc gia nơi nhà hàng hoạt động. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Thành phố | Bắt buộc | Thành phố nơi nhà hàng hoạt động. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ hiển thị | Bắt buộc | Địa chỉ của nhà hàng sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của nhà hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) nơi nhà hàng toạ lạc. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của nhà hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của nhà hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Hình ảnh áp phích | Không bắt buộc | Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 | Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Kích thước bàn | Không bắt buộc | Số người trong nhóm đặt chỗ | Số nguyên > 0 |
EventReservationEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Chuỗi Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Thời gian bắt đầu | Bắt buộc |
Dấu thời gian bắt đầu của hệ thống khi sự kiện dự kiến bắt đầu. Lưu ý: Giá trị này sẽ được biểu thị bằng mili giây. |
Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Chế độ sự kiện | Bắt buộc | Trường cho biết sự kiện sẽ diễn ra trực tuyến, trực tiếp hay cả hai. |
Enum: VIRTUAL, IN_PERSON hoặc HYBRID |
| Vị trí – Quốc gia | Bắt buộc có điều kiện | Quốc gia nơi sự kiện diễn ra. Lưu ý: Đây là thông tin bắt buộc đối với các sự kiện TRỰC TIẾP hoặc KẾT HỢP |
Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Thành phố | Bắt buộc có điều kiện | Thành phố nơi sự kiện diễn ra. Lưu ý: Đây là thông tin bắt buộc đối với các sự kiện TRỰC TIẾP hoặc KẾT HỢP |
Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ hiển thị | Bắt buộc có điều kiện | Địa chỉ hoặc tên địa điểm tổ chức sự kiện sẽ hiển thị cho người dùng. Lưu ý: Đây là thông tin bắt buộc đối với các sự kiện TRỰC TIẾP hoặc KẾT HỢP |
Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của địa điểm tổ chức sự kiện. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) nơi sự kiện được tổ chức. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của địa điểm tổ chức sự kiện. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Khu vực lân cận | Không bắt buộc | Vùng lân cận (nếu có) nơi tổ chức sự kiện. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Hình ảnh áp phích | Không bắt buộc | Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Bạn nên thêm hình ảnh. Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả phía trên và phía dưới hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Thời gian kết thúc | Không bắt buộc |
Dấu thời gian bắt đầu của hệ thống khi sự kiện dự kiến kết thúc. Lưu ý: Giá trị này sẽ được biểu thị bằng mili giây. |
Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Nhà cung cấp dịch vụ – Tên | Không bắt buộc |
Tên của nhà cung cấp dịch vụ. Lưu ý:Nhà cung cấp dịch vụ phải có văn bản hoặc hình ảnh. |
Văn bản tuỳ ý. Ví dụ: tên của đơn vị tổ chức sự kiện/chuyến lưu diễn |
| Nhà cung cấp dịch vụ – Hình ảnh | Không bắt buộc |
Biểu trưng/hình ảnh của nhà cung cấp dịch vụ. Lưu ý:Nhà cung cấp dịch vụ phải có văn bản hoặc hình ảnh. |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Huy hiệu | Không bắt buộc |
Mỗi huy hiệu là văn bản tuỳ ý (tối đa 15 ký tự) hoặc hình ảnh nhỏ. |
|
| Huy hiệu – Văn bản | Không bắt buộc | Tiêu đề cho huy hiệu Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Văn bản tự do Kích thước văn bản nên dùng: tối đa 15 ký tự |
| Huy hiệu – Hình ảnh | Không bắt buộc | Hình ảnh nhỏ Xử lý trải nghiệm người dùng đặc biệt, ví dụ như lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video. Lưu ý: Bạn phải có văn bản hoặc hình ảnh cho huy hiệu |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mã đặt chỗ | Không bắt buộc | Mã đặt chỗ cho sự kiện đặt chỗ. | Văn bản tự do |
| Price – CurrentPrice | Bắt buộc có điều kiện |
Giá hiện tại của vé/thẻ tham dự sự kiện. Phải cung cấp nếu bạn cung cấp giá gốc bị gạch ngang. |
Văn bản tự do |
| Price – StrikethroughPrice | Không bắt buộc | Giá gốc của vé/thẻ tham dự sự kiện. | Văn bản tự do |
| Chú thích về giá | Không bắt buộc | Chú thích về giá để giới thiệu một chương trình khuyến mãi, sự kiện, ưu đãi chiết khấu cho thành viên (nếu có). | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Điểm xếp hạng – Giá trị tối đa | Không bắt buộc | Giá trị tối đa của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị hiện tại của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Giá trị hiện tại | Không bắt buộc | Giá trị hiện tại của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị tối đa của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Tổng | Không bắt buộc | Tổng số điểm xếp hạng cho sự kiện. Lưu ý: Cung cấp trường này nếu ứng dụng của bạn muốn kiểm soát cách hiển thị thông tin này cho người dùng. Cung cấp chuỗi ngắn gọn có thể hiển thị cho người dùng. Ví dụ: nếu số lượng là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượng này không bị cắt bớt trên các kích thước màn hình nhỏ hơn. |
Chuỗi |
| Điểm xếp hạng – Giá trị tổng | Không bắt buộc | Tổng số điểm xếp hạng cho sự kiện. Lưu ý: Cung cấp trường này nếu bạn không muốn tự xử lý logic viết tắt hiển thị. Nếu có cả Số lượng và Giá trị số lượng, chúng tôi sẽ sử dụng Số lượng để hiển thị cho người dùng |
Kinh độ |
| Danh mục nội dung | Không bắt buộc | Mô tả danh mục của nội dung trong thực thể. | Danh sách enum đủ điều kiện
Hãy xem phần Danh mục nội dung để biết hướng dẫn. |
LodgingReservationEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Văn bản tuỳ ý. Ví dụ: "Thời gian lưu trú của bạn từ ngày 12 tháng 12" Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Giờ nhận phòng | Bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) thể hiện thời gian nhận phòng cho lượt đặt phòng. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Giờ trả phòng | Bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) thể hiện thời gian trả phòng cho lượt đặt phòng. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Vị trí – Quốc gia | Bắt buộc | Quốc gia nơi cơ sở lưu trú toạ lạc. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Thành phố | Bắt buộc | Thành phố nơi có cơ sở lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ hiển thị | Bắt buộc | Địa chỉ của cơ sở lưu trú sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của cơ sở lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) nơi cơ sở lưu trú toạ lạc. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của cơ sở lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của cơ sở lưu trú. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Hình ảnh áp phích | Không bắt buộc |
Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 Lưu ý: Nếu có huy hiệu, hãy đảm bảo khoảng trống an toàn là 24 dp ở cả phía trên và phía dưới hình ảnh |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Mã đặt chỗ | Không bắt buộc | Mã đặt phòng cho yêu cầu đặt phòng. | Văn bản tự do |
| Điểm xếp hạng – Giá trị tối đa | Không bắt buộc | Giá trị tối đa của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị hiện tại của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Giá trị hiện tại | Không bắt buộc | Giá trị hiện tại của thang điểm xếp hạng. Phải cung cấp nếu bạn cũng cung cấp giá trị tối đa của điểm xếp hạng. |
Số >= 0,0 |
| Điểm xếp hạng – Tổng | Không bắt buộc | Số lượt xếp hạng cho cơ sở lưu trú. Lưu ý: Cung cấp trường này nếu ứng dụng của bạn muốn kiểm soát cách hiển thị thông tin này cho người dùng. Cung cấp chuỗi ngắn gọn có thể hiển thị cho người dùng. Ví dụ: nếu số lượng là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượng này không bị cắt bớt trên các kích thước màn hình nhỏ hơn. |
Chuỗi |
| Điểm xếp hạng – Giá trị tổng | Không bắt buộc | Số lượt xếp hạng cho cơ sở lưu trú. Lưu ý: Cung cấp trường này nếu bạn không muốn tự xử lý logic viết tắt hiển thị. Nếu có cả Số lượng và Giá trị số lượng, chúng tôi sẽ sử dụng Số lượng để hiển thị cho người dùng |
Kinh độ |
| Price – CurrentPrice | Bắt buộc có điều kiện | Giá hiện tại của cơ sở lưu trú. Phải cung cấp nếu bạn cung cấp giá gốc được gạch ngang. |
Văn bản tự do |
| Price – StrikethroughPrice | Không bắt buộc | Giá gốc của nơi lưu trú (sẽ bị gạch ngang trong giao diện người dùng). | Văn bản tự do |
| Chú thích về giá | Không bắt buộc | Chú thích về giá để giới thiệu một chương trình khuyến mãi, sự kiện, ưu đãi chiết khấu cho thành viên (nếu có). | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
TransportationReservationEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Văn bản tuỳ ý. Ví dụ: "SFO đến SAN" Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Loại phương tiện di chuyển | Bắt buộc | Phương thức/loại phương tiện giao thông cho yêu cầu đặt trước. | Enum: FLIGHT, TRAIN, BUS hoặc FERRY |
| Giờ khởi hành | Bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) thể hiện thời gian khởi hành. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Giờ đến | Bắt buộc | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) thể hiện thời gian đến. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Địa điểm khởi hành – Quốc gia | Không bắt buộc | Quốc gia khởi hành. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm khởi hành – Thành phố | Không bắt buộc | Thành phố khởi hành. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm khởi hành – Địa chỉ hiển thị | Không bắt buộc | Địa điểm khởi hành sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm khởi hành – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của địa điểm khởi hành. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm khởi hành – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) của địa điểm khởi hành. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm khởi hành – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của địa điểm khởi hành. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm khởi hành – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của địa điểm khởi hành. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm đến – Quốc gia | Không bắt buộc | Quốc gia đến. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm đến – Thành phố | Không bắt buộc | Thành phố đến. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm đến – Địa chỉ hiển thị | Không bắt buộc | Địa điểm đến sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm đến – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của địa điểm đến. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Vị trí đến – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) của địa điểm đến. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm đến – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của địa điểm đến. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa điểm đến – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của địa điểm đến. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Nhà cung cấp dịch vụ – Tên | Không bắt buộc |
Tên của nhà cung cấp dịch vụ. Lưu ý:Nhà cung cấp dịch vụ phải có văn bản hoặc hình ảnh. |
Văn bản tuỳ ý. Ví dụ: Tên hãng hàng không |
| Nhà cung cấp dịch vụ – Hình ảnh | Không bắt buộc |
Biểu trưng/hình ảnh của nhà cung cấp dịch vụ. Lưu ý:Nhà cung cấp dịch vụ phải có văn bản hoặc hình ảnh. |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Hình ảnh áp phích | Không bắt buộc |
Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Mã đặt chỗ | Không bắt buộc | Mã đặt chỗ cho lượt đặt chỗ phương tiện di chuyển. | Văn bản tự do |
| Price – CurrentPrice | Bắt buộc có điều kiện | Giá hiện tại của yêu cầu đặt trước. Phải cung cấp nếu bạn cung cấp giá gốc được gạch ngang. |
Văn bản tự do |
| Price – StrikethroughPrice | Không bắt buộc | Giá gốc của dịch vụ đặt chỗ (sẽ bị gạch ngang trong giao diện người dùng). | Văn bản tự do |
| Chú thích về giá | Không bắt buộc | Chú thích về giá để giới thiệu một chương trình khuyến mãi, sự kiện, ưu đãi chiết khấu cho thành viên (nếu có). | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
| Số hiệu phương tiện | Bắt buộc | Số hiệu chuyến bay, số hiệu xe buýt, số hiệu tàu hoả hoặc số hiệu phà/tàu thuỷ. | Văn bản tự do |
| Giờ lên máy bay | Bắt buộc | Dấu thời gian bắt đầu kỷ nguyên đại diện cho thời gian lên máy bay của lượt đặt chỗ (nếu có) | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
VehicleRentalReservationEntity
| Thuộc tính | Yêu cầu | Nội dung mô tả | Định dạng |
|---|---|---|---|
| URI hành động | Bắt buộc |
Đường liên kết sâu đến thực thể trong ứng dụng của nhà cung cấp. Lưu ý: Bạn có thể sử dụng đường liên kết sâu để phân bổ. Tham khảo phần Câu hỏi thường gặp này |
URI |
| Tiêu đề | Bắt buộc | Tiêu đề của thực thể. | Văn bản tuỳ ý. Ví dụ: "Avis Union Square SF" Kích thước văn bản nên dùng: Tối đa 50 ký tự |
| Giờ nhận xe | Bắt buộc | Dấu thời gian bắt đầu của hệ thống thể hiện thời gian nhận hàng cho yêu cầu đặt trước. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Thời gian về | Không bắt buộc | Dấu thời gian bắt đầu của hệ thống thể hiện thời gian trả phòng cho lượt đặt phòng. | Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây) |
| Địa chỉ lấy hàng – Quốc gia | Không bắt buộc | Quốc gia của địa điểm đón khách. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ lấy hàng – Thành phố | Không bắt buộc | Thành phố của địa điểm đón khách. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ lấy hàng – Địa chỉ hiển thị | Không bắt buộc | Địa điểm lấy hàng sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ lấy hàng – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của địa điểm đón khách. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ lấy hàng – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) của địa điểm đón khách. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ lấy hàng – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của địa điểm đón khách. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ lấy hàng – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của địa điểm đón khách. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ người gửi – Quốc gia | Không bắt buộc | Quốc gia của vị trí trả lại hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ người gửi – Thành phố | Không bắt buộc | Thành phố của vị trí trả lại hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ người gửi – Địa chỉ hiển thị | Không bắt buộc | Vị trí trả lại hàng sẽ hiển thị cho người dùng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ người gửi – Địa chỉ đường phố | Không bắt buộc | Địa chỉ đường phố (nếu có) của vị trí trả lại hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ người gửi – Tiểu bang | Không bắt buộc | Tiểu bang hoặc tỉnh (nếu có) của vị trí trả lại hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ người gửi – Mã ZIP | Không bắt buộc | Mã ZIP (nếu có) của vị trí trả lại hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Địa chỉ người gửi – Khu vực lân cận | Không bắt buộc | Khu vực lân cận (nếu có) của vị trí trả lại hàng. | Văn bản tự do Kích thước văn bản nên dùng: tối đa ~20 ký tự |
| Nhà cung cấp dịch vụ – Tên | Không bắt buộc |
Tên của nhà cung cấp dịch vụ. Lưu ý:Nhà cung cấp dịch vụ phải có văn bản hoặc hình ảnh. |
Văn bản tuỳ ý. Ví dụ: "Avis Car Rental" |
| Nhà cung cấp dịch vụ – Hình ảnh | Không bắt buộc |
Biểu trưng/hình ảnh của nhà cung cấp dịch vụ. Lưu ý:Nhà cung cấp dịch vụ phải có văn bản hoặc hình ảnh. |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Hình ảnh áp phích | Không bắt buộc |
Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi có nhiều hình ảnh. Tỷ lệ khung hình đề xuất là 16:9 |
Hãy xem Thông số kỹ thuật của hình ảnh để biết hướng dẫn. |
| Mô tả | Không bắt buộc | Một đoạn văn bản mô tả thực thể. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng: 180 ký tự |
| Danh sách phụ đề | Không bắt buộc | Tối đa 3 phụ đề, mỗi phụ đề là một dòng văn bản. Lưu ý: Người dùng sẽ thấy nội dung mô tả hoặc danh sách phụ đề, chứ không thấy cả hai. |
Văn bản tự do Kích thước văn bản nên dùng cho mỗi phụ đề: tối đa 50 ký tự |
| Mã xác nhận | Không bắt buộc | Mã xác nhận cho thông tin đặt trước dịch vụ thuê xe. | Văn bản tự do |
| Price – CurrentPrice | Bắt buộc có điều kiện | Giá hiện tại của yêu cầu đặt trước. Phải cung cấp nếu bạn cung cấp giá gốc được gạch ngang. |
Văn bản tự do |
| Price – StrikethroughPrice | Không bắt buộc | Giá gốc của dịch vụ đặt chỗ (sẽ bị gạch ngang trong giao diện người dùng). | Văn bản tự do |
| Chú thích về giá | Không bắt buộc | Chú thích về giá để giới thiệu một chương trình khuyến mãi, sự kiện, ưu đãi chiết khấu cho thành viên (nếu có). | Văn bản tự do Kích thước văn bản nên dùng: dưới 45 ký tự (Văn bản quá dài có thể hiển thị dấu ba chấm) |
Thông số kỹ thuật của hình ảnh
Dưới đây là thông số kỹ thuật bắt buộc cho thành phần hình ảnh:
| Tỷ lệ khung hình | Số điểm ảnh tối thiểu | Số điểm ảnh đề xuất |
|---|---|---|
Vuông (1 x 1) Ưa thích |
300 x 300 | 1200 x 1200 |
| Ngang (1,91 x 1) | 600 x 314 | 1200 x 628 |
| Dọc (4 x 5) | 480 x 600 | 960 x 1200 |
Hình ảnh phải được lưu trữ trên CDN công khai để Google có thể truy cập.
Định dạng tệp
PNG, JPG, GIF tĩnh, WebP
Kích thước tệp tối đa
5120 KB
Đề xuất khác
- Khu vực an toàn cho hình ảnh: Đặt nội dung quan trọng của bạn vào phần chiếm 80% trung tâm của hình ảnh.
- Sử dụng nền trong suốt để hình ảnh có thể hiển thị chính xác trong phần cài đặt Giao diện sáng và tối.
Danh mục nội dung
Danh mục nội dung cho phép ứng dụng xuất bản nội dung thuộc nhiều danh mục. Thao tác này sẽ liên kết nội dung với một số danh mục được xác định trước, cụ thể là:
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
Hình ảnh phải được lưu trữ trên CDN công khai để Google có thể truy cập.
Nguyên tắc sử dụng danh mục nội dung
- Một số thực thể như ArticleEntity và GenericFeaturedEntity đủ điều kiện sử dụng bất kỳ danh mục nội dung nào. Đối với các thực thể khác như EventEntity, EventReservationEntity, PointOfInterestEntity, chỉ một số danh mục trong số này đủ điều kiện. Hãy kiểm tra danh sách các danh mục đủ điều kiện cho một loại thực thể trước khi điền vào danh sách.
Sử dụng loại thực thể cụ thể cho một số danh mục nội dung thay vì kết hợp Thực thể chung và Danh mục nội dung:
- TYPE_MOVIES_AND_TV_SHOWS – Hãy xem các thực thể trong Hướng dẫn tích hợp tính năng xem trước khi sử dụng các thực thể chung.
- TYPE_BOOKS – Hãy xem EbookEntity trước khi sử dụng thực thể chung.
- TYPE_AUDIOBOOKS – Hãy xem AudiobookEntity trước khi sử dụng các thực thể chung.
- TYPE_SHOPPING – Hãy xem ShoppingEntity trước khi sử dụng các thực thể chung.
- TYPE_FOOD_AND_DRINK – Hãy xem các thực thể trong Hướng dẫn tích hợp về đồ ăn trước khi sử dụng các thực thể chung.
Trường ContentCategory là không bắt buộc và bạn nên để trống nếu nội dung không thuộc bất kỳ danh mục nào được đề cập trước đó.
Trong trường hợp có nhiều danh mục nội dung, hãy cung cấp các danh mục đó theo thứ tự liên quan đến nội dung, trong đó danh mục nội dung có liên quan nhất được đặt đầu tiên trong danh sách.
Bước 2: Cung cấp dữ liệu Cụm
Bạn nên thực hiện tác vụ xuất bản nội dung trong nền (ví dụ: sử dụng WorkManager) và lên lịch thường xuyên hoặc theo sự kiện (ví dụ: mỗi khi người dùng mở ứng dụng hoặc khi người dùng vừa thêm mặt hàng nào vào giỏ hàng).
AppEngagePublishClient chịu trách nhiệm xuất bản cụm.
Các API dưới dây dùng để xuất bản cụm trong ứng dụng:
isServiceAvailablepublishRecommendationClusterspublishFeaturedClusterpublishContinuationClusterpublishUserAccountManagementRequestupdatePublishStatusdeleteRecommendationsClustersdeleteFeaturedClusterdeleteContinuationClusterdeleteUserManagementClusterdeleteClusters
isServiceAvailable
API này được dùng để kiểm tra xem dịch vụ có thể tích hợp và nội dung có hiện trên thiết bị hay không.
Đối với Engage SDK phiên bản 1.6.0 trở lên (Nên dùng)
Kỹ năng Android
Xem trên GitHubTích hợp 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.Bạn có thể kiểm tra phạm vi cung cấp dịch vụ cho mọi loại cụm mà bạn dự định
xuất bản. API isServiceAvailable chấp nhận một đối tượng yêu cầu, ServiceAvailabilityRequest, chứa các loại cụm cần kiểm tra tình trạng sẵn sàng của dịch vụ. Bạn có thể tìm thấy các giá trị enum ClusterType cần thiết cho ServiceAvailabilityRequest trong bảng sau.
| Loại cụm | Hằng số loại cụm | Giá trị số nguyên |
|---|---|---|
| Không xác định | TYPE_UNKNOWN |
0 |
| Cụm đề xuất | TYPE_RECOMMENDATION |
1 |
| Cụm Nổi bật | TYPE_FEATURED |
2 |
| Cụm Tiếp tục | TYPE_CONTINUATION |
3 |
| Cụm Giỏ hàng | TYPE_SHOPPING_CART |
4 |
| Cụm sắp xếp lại thực phẩm | TYPE_FOOD_REORDER |
5 |
| Cụm Giỏ hàng thực phẩm | TYPE_FOOD_SHOPPING_CART |
6 |
| Cụm Danh sách mua sắm thực phẩm | TYPE_FOOD_SHOPPING_LIST |
7 |
| Cụm Quản lý người dùng | TYPE_ENGAGEMENT |
8 |
| Cụm Danh sách mua sắm | TYPE_SHOPPING_LIST |
9 |
| Cụm sắp xếp lại hoạt động mua sắm | TYPE_SHOPPING_REORDER |
10 |
| Cụm theo dõi đơn đặt hàng mua sắm | TYPE_SHOPPING_ORDER_TRACKING |
11 |
| Cụm Đăng ký | TYPE_SUBSCRIPTION |
12 |
| Cụm Tiếp tục tìm kiếm | TYPE_CONTINUE_SEARCH |
13 |
| Cụm Đặt trước | 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.
}
});
Tính năng cung cấp dịch vụ có điều kiện
Một số ứng dụng tích hợp yêu cầu một cấu hình đặc biệt để bật và tắt dịch vụ Engage theo thời gian nhằm giảm chi phí phân phát. Tuy nhiên, chiến lược nhập nội dung không liên tục này ảnh hưởng tiêu cực đến trải nghiệm người dùng: nội dung cũ sẽ không được trình bày và một số nền tảng sẽ không được phân phát.
Kể từ phiên bản 1.6.0, Engage SDK cho phép kiểm tra xem có các loại cụm cụ thể hay không. Nếu ứng dụng của bạn sử dụng tính năng nhập dữ liệu không liên tục:
- Cụm tiếp tục (chẳng hạn như Tiếp tục đọc và Đặt chỗ) vẫn được bật theo mặc định trên tất cả thiết bị được hỗ trợ.
- Các loại cụm khác (chẳng hạn như Đề xuất) được bật và tắt không liên tục.
Nếu cấu hình mặc định này không phù hợp với nhu cầu của bạn, hãy liên hệ với engage-developers@google.com.
Đối với các phiên bản SDK trước phiên bản 1.6.0 (Ngừng hoạt động)
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 này được dùng để phát hành danh sách đối tượng 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());
Khi dịch vụ nhận được yêu cầu, các hành động sau đây sẽ diễn ra trong một giao dịch:
- Dữ liệu
RecommendationClusterhiện có của đối tác nhà phát triển sẽ bị xoá. - Dữ liệu của yêu cầu được phân tích cú pháp và lưu trữ trong cụm Đề xuất đã cập nhật.
Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
publishFeaturedCluster
API này được dùng để phát hành danh sách đối tượng 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());
Khi dịch vụ nhận được yêu cầu, các hành động sau đây sẽ diễn ra trong một giao dịch:
- Dữ liệu
FeaturedClusterhiện có của đối tác nhà phát triển sẽ bị xoá. - Dữ liệu của yêu cầu được phân tích cú pháp và lưu trữ trong cụm Nổi bật đã cập nhật.
Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
publishContinuationCluster
API này được dùng để phát hành đối tượng 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());
Khi dịch vụ nhận được yêu cầu, các hành động sau đây sẽ diễn ra trong một giao dịch:
- Dữ liệu
ContinuationClusterhiện có của đối tác nhà phát triển sẽ bị xoá. - Dữ liệu của yêu cầu được phân tích cú pháp và lưu trữ trong cụm Tiếp tục đã cập nhật.
Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
publishUserAccountManagementRequest
API này dùng để xuất bản thẻ Đăng nhập. Thao tác đăng nhập sẽ đưa người dùng đến trang đăng nhập của ứng dụng để ứng dụng có thể xuất bản nội dung (hoặc cung cấp nội dung phù hợp hơn cho cá nhân)
Siêu dữ liệu sau đây là một phần của Thẻ đăng nhập –
| Thuộc tính | Yêu cầu | Nội dung mô tả |
|---|---|---|
| URI hành động | Bắt buộc | Đường liên kết sâu đến hành động (chẳng hạn như điều hướng đến trang đăng nhập ứng dụng) |
| Hình ảnh | Không bắt buộc – Nếu không cung cấp thì bạn phải cung cấp Tiêu đề |
Hình ảnh hiện trên thẻ Hình ảnh có tỷ lệ khung hình 16x9 với độ phân giải 1264x712 |
| Tiêu đề | Không bắt buộc – Nếu không cung cấp thì bạn phải cung cấp Hình ảnh | Tiêu đề trên thẻ |
| Văn bản hành động | Không bắt buộc | Văn bản hiện trên CTA (chẳng hạn như Đăng nhập) |
| Phụ đề | Không bắt buộc | Phụ đề không bắt buộc trên thẻ |
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());
Khi dịch vụ nhận được yêu cầu, các hành động sau đây sẽ diễn ra trong một giao dịch:
- Dữ liệu
UserAccountManagementClusterhiện có của đối tác nhà phát triển sẽ bị xoá. - Dữ liệu của yêu cầu được phân tích cú pháp và lưu trữ trong cụm UserAccountManagementCluster đã cập nhật.
Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
updatePublishStatus
Nếu vì một lý do kinh doanh nội bộ bất kỳ mà không có cụm nào được xuất bản, bạn nên cập nhật trạng thái xuất bản bằng cách sử dụng API updatePublishStatus. Việc này quan trọng vì:
- Trong mọi trường hợp, ngay cả khi nội dung được xuất bản (STATUS == PUBLISHED), bạn phải cho biết trạng thái để điền trang tổng quan. Trạng thái rõ ràng này sẽ được trang tổng quan sử dụng để truyền tải tình trạng và các chỉ số khác của quá trình tích hợp.
- Nếu không có nội dung nào được xuất bản nhưng trạng thái tích hợp không phải là bị lỗi (STATUS == NOT_PUBLISHED), Google có thể tránh kích hoạt cảnh báo trong trang tổng quan về tình trạng của ứng dụng. Phương thức này xác nhận rằng nội dung chưa được xuất bản do tình huống dự kiến theo quan điểm của nhà cung cấp.
- Theo đó, nhà phát triển có thể cung cấp thông tin chi tiết về thời điểm công bố hoặc không công bố dữ liệu.
- Google có thể sử dụng các mã trạng thái nhắc người dùng thực hiện một số thao tác trong ứng dụng để họ có thể xem hoặc bỏ qua nội dung ứng dụng.
Dưới đây là danh sách mã trạng thái xuất bản đủ điều kiện:
// 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
Nếu nội dung chưa được xuất bản do người dùng chưa đăng nhập, thì bạn nên xuất bản Thẻ đăng nhập. Nếu vì một lý do bất kỳ mà nhà cung cấp không thể xuất bản Thẻ đăng nhập, bạn nên gọi API updatePublishStatus kèm theo mã trạng thái 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 này dùng để xoá nội dung của cụm Recommendation (Đề xuất).
Kotlin
client.deleteRecommendationsClusters()
Java
client.deleteRecommendationsClusters();
Khi nhận được yêu cầu, dịch vụ sẽ xoá dữ liệu hiện có khỏi cụm Đề xuất. Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
deleteFeaturedCluster
API này dùng để xoá nội dung của cụm Featured (Nổi bật).
Kotlin
client.deleteFeaturedCluster()
Java
client.deleteFeaturedCluster();
Khi nhận được yêu cầu, dịch vụ sẽ xoá dữ liệu hiện có khỏi cụm Nổi bật. Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
deleteContinuationCluster
API này dùng để xoá nội dung của cụm Continuation (Tiếp tục).
Kotlin
client.deleteContinuationCluster()
Java
client.deleteContinuationCluster();
Khi nhận được yêu cầu, dịch vụ sẽ xoá dữ liệu hiện có khỏi cụm Tiếp tục. Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
deleteUserManagementCluster
API này dùng để xoá nội dung của cụm UserAccountManagement.
Kotlin
client.deleteUserManagementCluster()
Java
client.deleteUserManagementCluster();
Khi nhận được yêu cầu, dịch vụ sẽ xoá dữ liệu hiện có khỏi cụm UserAccountManagement. Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại vẫn giữ nguyên.
deleteClusters
API này dùng để xoá nội dung của một loại cụm cụ thể.
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());
Khi nhận được yêu cầu, dịch vụ sẽ xoá dữ liệu hiện có khỏi tất cả các cụm khớp với loại cụm đã chỉ định. Ứng dụng có thể chọn truyền một hoặc nhiều loại cụm. Trong trường hợp xảy ra lỗi, toàn bộ yêu cầu sẽ bị từ chối và trạng thái hiện tại sẽ được duy trì.
Xử lý lỗi
Bạn nên nghe kết quả tác vụ từ các API phát hành để có thể thực hiện thao tác tiếp theo nhằm khôi phục và gửi lại tác vụ thành công.
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
}
}
}
});
Lỗi được trả về dưới dạng AppEngageException với nguyên nhân được đưa vào dưới dạng mã lỗi.
| Mã lỗi | Tên lỗi | Lưu ý |
|---|---|---|
1 |
SERVICE_NOT_FOUND |
Dịch vụ này không dùng được trên thiết bị đã cho. |
2 |
SERVICE_NOT_AVAILABLE |
Dịch vụ này hoạt động trên thiết bị đã cho, nhưng không hoạt động tại thời điểm gọi (ví dụ: dịch vụ bị vô hiệu hoá một cách rõ ràng). |
3 |
SERVICE_CALL_EXECUTION_FAILURE |
Không thực hiện được tác vụ do có vấn đề về luồng. Trong trường hợp này, bạn có thể thử lại. |
4 |
SERVICE_CALL_PERMISSION_DENIED |
Trình gọi không được phép thực hiện cuộc gọi dịch vụ. |
5 |
SERVICE_CALL_INVALID_ARGUMENT |
Yêu cầu chứa dữ liệu không hợp lệ (ví dụ: nhiều hơn số cụm được phép). |
6 |
SERVICE_CALL_INTERNAL |
Đã xảy ra lỗi bên phía dịch vụ. |
7 |
SERVICE_CALL_RESOURCE_EXHAUSTED |
Cuộc gọi dịch vụ được thực hiện quá thường xuyên. |
Bước 3: Xử lý ý định truyền tin
Ngoài việc thực hiện lệnh gọi API nội dung phát hành thông qua một công việc, bạn cũng phải thiết lập BroadcastReceiver để nhận yêu cầu phát hành nội dung.
Mục tiêu của ý định truyền tin chủ yếu là để kích hoạt lại ứng dụng và buộc đồng bộ hoá dữ liệu. Ý định truyền tin không được thiết kế để gửi quá thường xuyên. Lệnh này chỉ được kích hoạt khi Dịch vụ Engage xác định nội dung có thể đã lỗi thời (ví dụ: một tuần trước). Bằng cách đó, bạn có thể yên tâm hơn rằng người dùng sẽ có trải nghiệm nội dung mới mẻ, ngay cả khi ứng dụng không được sử dụng trong một thời gian dài.
Bạn phải thiết lập BroadcastReceiver theo 2 cách sau:
Tự động đăng ký một thực thể của lớp
BroadcastReceiverbằng cách sử dụngContext.registerReceiver(). Điều này cho phép giao tiếp từ các ứng dụng vẫn còn trong bộ nhớ.
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);
}
Khai báo tĩnh quá trình triển khai bằng thẻ
<receiver>trong tệpAndroidManifest.xml. Điều này cho phép ứng dụng nhận được ý định truyền tin khi ứng dụng không chạy, đồng thời cho phép ứng dụng phát hành nội dung đó.
<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>
Dịch vụ sẽ gửi các ý định sau:
com.google.android.engage.action.PUBLISH_RECOMMENDATIONBạn nên bắt đầu lệnh gọipublishRecommendationClusterskhi nhận được ý định này.com.google.android.engage.action.PUBLISH_FEATUREDBạn nên bắt đầu lệnh gọipublishFeaturedClusterkhi nhận được ý định này.com.google.android.engage.action.PUBLISH_CONTINUATIONBạn nên bắt đầu lệnh gọipublishContinuationClusterkhi nhận được ý định này.
Quy trình tích hợp
Để được hướng dẫn từng bước về cách xác minh quy trình tích hợp sau khi hoàn tất, hãy xem Quy trình tích hợp dành cho nhà phát triển Engage.
Câu hỏi thường gặp
Hãy xem mục Câu hỏi thường gặp về Engage SDK để biết các câu hỏi thường gặp.
Liên hệ
Vui lòng liên hệ qua engage-developers@google.com nếu bạn có câu hỏi trong quá trình tích hợp.
Các bước tiếp theo
Sau khi bạn hoàn tất quá trình tích hợp này, các bước tiếp theo sẽ như sau:
- Gửi email đến
engage-developers@google.comvà đính kèm APK tích hợp sẵn sàng cho Google kiểm thử. - Google sẽ xác minh và xem xét trong phạm vi nội bộ để đảm bảo quá trình tích hợp diễn ra như mong đợi. Nếu cần thay đổi, Google sẽ liên hệ với bạn để yêu cầu bạn cung cấp mọi thông tin chi tiết cần thiết.
- Khi quá trình kiểm thử hoàn tất và bạn không cần thay đổi gì, Google sẽ liên hệ với bạn để thông báo rằng bạn có thể bắt đầu xuất bản APK tích hợp mới nhất lên Cửa hàng Play.
- Sau khi Google xác nhận rằng APK mới nhất của bạn đã được xuất bản lên Cửa hàng Play, các cụm Đề xuất, Nổi bật và Tiếp tục sẽ được xuất bản và hiển thị cho người dùng.