Engage SDK Travel: Hướng dẫn tích hợp kỹ thuật của bên thứ ba

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ọ đang ở. Tích hợp Engage SDK để phân phối nội dung đề xuất và nội dung tiếp tục được cá nhân hoá trực tiếp cho người dùng trên nhiều nền tảng 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 sẽ thêm không quá 50 KB (đã nén) vào tệp APK trung bình và mất khoảng một tuần thời gian của nhà phát triển đối với hầu hết các ứng dụng. Tìm hiểu thêm tại trang web kinh doanh của chúng tôi.

Hướng dẫn này cung cấp cho các đối tác nhà phát triển thông tin về cách phân phối nội dung du lịch và sự kiện đến các nền tảng nội dung của Engage.

Thông tin chi tiết về quy trình tích hợp

Thuật ngữ

Quy trình tích hợp này bao gồm các loại cụm sau: Đề xuất, Nổi bật, Đặt phòngTiếp tục tìm kiếm.

  • Cụm Đề xuất hiển thị các đề xuất du lịch và sự kiện theo từng cá nhân từ một đối tác nhà phát triển. Những đề xuất này có thể dành riêng cho từng người dùng hoặc cho tất cả người dùng (ví dụ: các mặt hàng thịnh hành). Hãy sử dụng những đề xuất này để hiển thị bài viết, sự kiện, chỗ ở hoặc địa điểm thu hút.

    • Cụm Đề xuất có thể được tạo từ các trang thông tin ArticleEntity, EventEntity, LodgingEntity, PointOfInterestEntity hoặc StoreEntity, nhưng không thể kết hợp các loại thực thể khác nhau.

    Các đề xuất của bạn có cấu trúc sau:

    • Cụm Đề xuất: 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.

    • Thực thể: Một đối tượng đại diện cho mỗi nội dung trong một cụm. Hoạt động tích hợp này cung cấp một số thực thể sẽ xuất hiện bằng Cụm đề xuất:

      • ArticleEntity: ArticleEntity đại diện cho một đề xuất về nội dung dựa trên văn bản liên quan đến du lịch và sự kiện. Bạn có thể sử dụng công cụ này cho các bài viết, bài đăng trên blog, nội dung tiếp thị, đoạn tin tức, v.v.

        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 sẽ 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 đến người dùng.

        Hình 2: Giao diện người dùng cho thấy một EventEntity duy nhất trong cụm Đề xuất.
      • LodgingEntity: LodgingEntity đại diện cho một cơ sở 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 cho thấy 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ẻ 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 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ành phần 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. Bạn không nên sử dụng mã này cho chỗ lưu trú, cửa hàng hoặc địa điểm ăn uống.

        Hình 5: Giao diện người dùng cho thấy một PointOfInterestEntity duy nhất trong cụm Đề xuất.
  • Cụm Đặt chỗ 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 Đặt phòng.

    Nội dung đặt phòng của bạn có thể có cấu trúc như sau:

    • RestaurantReservationEntity: RestaurantReservationEntity đại diện cho yêu cầu đặt chỗ tại nhà hàng hoặc quán cà phê và giúp người dùng theo dõi các yêu cầu đặt chỗ nhà hàng sắp tới hoặc đang diễn ra.

      Hình 6. Giao diện người dùng hiển thị một RestaurantReservationEntity duy nhất trong một cụm Reservation.
    • 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. Các sự kiện có thể bao gồm nhưng không giới hạn ở những sự kiện sau:

      • Sự kiện thể thao như đặt chỗ cho một trận bóng đá
      • Các sự kiện về trò chơi như đặt chỗ cho thể thao điện tử
      • Sự kiện giải trí như đặt chỗ xem phim tại rạp chiếu phim, buổi hoà nhạc, buổi biểu diễn tại nhà hát, buổi ký tặng sách
      • Đặt chỗ cho chuyến đi hoặc địa điểm yêu thích, chẳng hạn như vé tham quan có hướng dẫn viên, vé bảo tàng
      • Đặt chỗ tham gia các 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 7. Giao diện người dùng hiển thị một EventReservationEntity trong một cụm Reservation.
    • LodgingReservationEntity: LodgingEntityReservation đại diện cho một yêu cầu đặt chỗ cho chỗ ở du lịch và giúp người dùng theo dõi các yêu cầu đặt phòng khách sạn hoặc nhà nghỉ dưỡng cho thuê sắp tới hoặc đang diễn ra.

      Hình 8. Giao diện người dùng hiển thị một LodgingReservationEntity trong một cụm Reservation.
    • TransportationReservationEntity: TransportationReservationEntity đại diện cho yêu cầu đặt chỗ phương tiện giao thông bằng mọi phương thức và giúp người dùng theo dõi yêu cầu đặt chỗ cho chuyến bay, phà, tàu, xe buýt, dịch vụ đi xe hoặc tàu 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 TransportationReservationEntity trong một cụm Reservation.
    • VehicleRentalReservationEntity: VehicleRentalReservationEntity đại diện cho yêu cầu đặt thuê xe và giúp người dùng theo dõi các yêu cầu đặt thuê xe 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 VehicleRentalReservationEntity duy nhất trong một cụm Reservation.
  • Cụm Nổi bật hiển thị một số thực thể đượ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. Sẽ 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 sẽ được phép thông báo về tối đa 10 thực thể trong cụm Nổi bật.

    • GenericFeaturedEntity: GenericFeaturedEntity khác với mục Đề xuất ở chỗ mục Được làm nổi bật phải được dùng cho một nội dung hàng đầu duy nhất của nhà phát triển và phải thể hiện nội dung quan trọng nhất, thú vị và phù hợp với người dùng.

      Hình 11: Giao diện người dùng hiển thị một FeaturedCluster có danh sách GenericFeaturedEntity
  • Cụm Tiếp tục tìm kiếm giúp người dùng tiếp tục hành trình tìm kiếm thông tin du lịch trước đó bằng cách giới thiệu danh sách các cụm từ tìm kiếm mà người dùng đã tìm kiếm gần đây trên tất cả các ứng dụng du lịch của họ. Cụm này sẽ được ghim ở vị trí thứ hai, sau các cụm đặt phòng và trước các cụm được đề xuất và nổi bật. Mỗi đối tác nhà phát triển sẽ được phép thông báo về tối đa 3 thực thể trong cụm Tiếp tục tìm kiếm.

    • 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 du lịch, đường mòn đi bộ đường dài, v.v. Nó làm nổi bật nội dung mà người dùng đã tìm kiếm trước đó.

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.5.2'
}

Tóm tắt

Thiết kế này dựa trên việc triển khai một 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 hoặc PointOfInterestEntity)
Cụm đặt trước Tối đa 1 Ít nhất 1 Tối đa 20 (RestaurantReservationEntity, 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)
Cụm Tiếp tục tìm kiếm Tối đa 1 Ít nhất 1 Tối đa 3 (PointOfInterestEntity)

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 Du lịch và Sự kiện:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. EventEntity
  4. LodgingEntity
  5. StoreEntity
  6. PointOfInterestEntity
  7. RestaurantReservationEntity
  8. EventReservationEntity
  9. LodgingReservationEntity
  10. TransportationReservationEntity
  11. VehicleRentalReservationEntity

Các biểu đồ bên dưới nêu ra các thuộc tính có sẵn 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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề xuất là 16:9

Lưu ý: Nếu có huy hiệu, hãy đảm bảo có 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.
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 duy nhất để 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 phải 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 phải 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 tự do (tối đa 15 ký tự) hoặc hình ảnh nhỏ.

Xử lý đặc biệt về trải nghiệm người dùng ở trên cùng của hình ảnh/video, Ví dụ: dưới dạng lớp phủ huy hiệu trên hình ảnh

  • "Cập nhật trực tiếp"
  • Thời gian đọc bài viết
Huy hiệu – Văn bản Không bắt buộc

Tiêu đề của huy hiệu

Lưu ý: Huy hiệu phải có văn bản hoặc hình ảnh

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ý đặc biệt về trải nghiệm người dùng, ví dụ: dưới dạng lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video.

Lưu ý: Huy hiệu 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.
Danh mục nội dung Không bắt buộc Mô tả danh mục nội dung trong thực thể.

Danh sách các enum

Hãy xem phần Danh mục nội dung để biết hướng dẫn.

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề xuất là 16:9

Lưu ý: Bạn nên sử dụng hình ảnh. Nếu bạn cung cấp huy hiệu, hãy đảm bảo có 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.
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 về nguồn, chẳng hạ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 duy nhất để 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 phải 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 phải 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 tự do (tối đa 15 ký tự) hoặc hình ảnh nhỏ.

Xử lý đặc biệt về trải nghiệm người dùng ở trên cùng của hình ảnh/video, ví dụ: dưới dạng lớp phủ huy hiệu trên hình ảnh

  • "Cập nhật trực tiếp"
  • Thời gian đọc bài viết
Huy hiệu – Văn bản Không bắt buộc

Tiêu đề của huy hiệu

Lưu ý: Huy hiệu phải có văn bản hoặc hình ảnh

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ý đặc biệt về trải nghiệm người dùng, ví dụ: dưới dạng lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video.

Lưu ý: Huy hiệu 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.
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) cho biết thời điểm 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 Không bắt buộc

Dấu thời gian epoch tính bằng mili giây khi người dùng tương tác với thực thể này vào lần gần đây nhất.

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 Không bắt buộc

Tỷ lệ phần trăm nội dung đầy đủ mà người dùng đã sử dụng cho đến nay.

Giá trị int nằm trong khoảng từ 0 đến 100.
Danh mục nội dung Không bắt buộc Mô tả danh mục nội dung trong thực thể.

Danh sách các enum

Hãy xem phần Danh mục nội dung để biết hướng dẫn.

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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 được bản địa hoá – Dấu thời gian 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.

Joda-Time Instant
Giờ bắt đầu được bản địa hoá – Múi giờ Bắt buộc

Múi giờ mà sự kiện dự kiến sẽ bắt đầu.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Chế độ sự kiện Bắt buộc

Một trường cho biết liệu 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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề xuất là 16:9

Lưu ý: Bạn nên sử dụng hình ảnh. Nếu bạn cung cấp huy hiệu, hãy đảm bảo có 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 có điều kiện

Quốc gia nơi diễn ra sự kiện.

Lưu ý: Đây là thông tin bắt buộc đối với những sự kiện là 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 khoảng 20 ký tự

Địa điểm – Thành phố Bắt buộc có điều kiện

Thành phố nơi diễn ra sự kiện.

Lưu ý: Đây là thông tin bắt buộc đối với những sự kiện là 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 khoảng 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 nơi diễn ra sự kiện mà người dùng sẽ nhìn thấy.

Lưu ý: Đây là thông tin bắt buộc đối với những sự kiện là 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 khoảng 20 ký tự

Vị trí – Địa chỉ đường phố Không bắt buộc Địa chỉ đường (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 khoảng 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 diễn ra sự kiện.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm – Mã bưu chính Không bắt buộc Mã bưu chính (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 khoảng 20 ký tự

Vị trí – Khu vực lân cận Không bắt buộc Khu dân cư (nếu có) nơi diễn ra sự kiện.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 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 duy nhất để 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 phải 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 phải 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 tự do (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 đề của huy hiệu

Lưu ý: Huy hiệu phải có văn bản hoặc hình ảnh

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ý đặc biệt về trải nghiệm người dùng, ví dụ: dưới dạng lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video.

Lưu ý: Huy hiệu 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.
Giá – CurrentPrice Bắt buộc có điều kiện

Giá hiện tại của vé/thẻ tham dự sự kiện.

Bạ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
Giá – 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, chiết khấu dành 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 nội dung trong thực thể.

Danh sách các enum đủ điều kiện

  • TYPE_MOVIES_AND_TV_SHOWS (Ví dụ: Rạp chiếu phim)
  • TYPE_DIGITAL_GAMES (Ví dụ: Thể thao điện tử)
  • TYPE_MUSIC (Ví dụ: Hoà nhạc)
  • TYPE_TRAVEL_AND_LOCAL (Ví dụ: Chuyến tham quan, lễ hội)
  • TYPE_HEALTH_AND_FITENESS (Ví dụ: Lớp học yoga)
  • TYPE_EDUCATION (Ví dụ: Lớp học)
  • TYPE_SPORTS (Ví dụ: Trận đấu bóng đá)
  • TYPE_DATING (Ví dụ: gặp mặt)

Hãy xem phần Danh mục nội dung để biết hướng dẫn.

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề xuất là 16:9

Lưu ý: Nếu có huy hiệu, hãy đảm bảo có khoảng trống an toàn 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 diễn ra hoạt động lưu trú.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm – Thành phố Bắt buộc Thành phố nơi diễn ra hoạt động lưu trú.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Vị trí – Địa chỉ hiển thị Bắt buộc Địa chỉ sẽ hiển thị cho người dùng. Bạn nên thêm tên thành phố và có thể là tiểu bang hoặc quốc gia cho hầu hết các trường hợp sử dụng. Chỉ thêm địa chỉ đường phố hoặc khu vực lân cận nếu người dùng ở gần vị trí đó, người dùng quen thuộc với vị trí đó hoặc thành phố có trong tiêu đề cụm. Nếu bạn thêm địa chỉ đường phố, hãy cung cấp một địa chỉ ngắn gọn, sử dụng các từ viết tắt nếu có thể (ví dụ: "Đ" cho "Đường", "Đại lộ" cho "Đại lộ").

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 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 khoảng 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 khoảng 20 ký tự

Địa điểm – Mã bưu chính Không bắt buộc Mã bưu chính (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 khoảng 20 ký tự

Vị trí – Khu vực lân cận Không bắt buộc Khu dân cư (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 khoảng 20 ký tự

Huy hiệu Không bắt buộc

Mỗi huy hiệu là văn bản tự do (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 đề của huy hiệu

Lưu ý: Huy hiệu phải có văn bản hoặc hình ảnh

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ý đặc biệt về trải nghiệm người dùng, ví dụ: dưới dạng lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video.

Lưu ý: Huy hiệu 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 duy nhất để 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 phải 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 phải 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 – Localized Start Time – Timestamp Không bắt buộc Dấu thời gian theo kỷ nguyên cho biết thời điểm dự kiến cơ sở lưu trú sẽ mở cửa/có sẵn. Joda-Time Instant
AvailabilityTimeWindow – Giờ bắt đầu theo giờ địa phương – Múi giờ Không bắt buộc Múi giờ mà cơ sở lưu trú dự kiến sẽ mở cửa/có sẵn.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

AvailabilityTimeWindow – Localized End Time – Timestamp (Khung giờ phát sóng – Giờ kết thúc theo giờ địa phương – Dấu thời gian) Không bắt buộc Dấu thời gian theo kỷ nguyên cho đến khi cơ sở lưu trú dự kiến sẽ mở cửa/có sẵn. Joda-Time Instant
AvailabilityTimeWindow – Localized End Time – Timezone (Khung thời gian phát sóng – Giờ kết thúc được bản địa hoá – Múi giờ) Không bắt buộc Múi giờ mà cơ sở lưu trú dự kiến sẽ mở cửa/có sẵn.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Đ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 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 mà người dùng có thể nhìn thấy. Ví dụ: nếu số lượt là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượt 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ị số lượng Không bắt buộc

Tổng số điểm 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ả Số lượng và Giá trị số lượng đều xuất hiện, chúng tôi sẽ dùng Số lượng để hiển thị cho người dùng

Dài
Giá – 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
Giá – StrikethroughPrice Không bắt buộc Giá gốc của cơ sở 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, chiết khấu dành 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)

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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ư một địa điểm ăn uống nổi tiếng hoặc quán ăn có liên quan đến trải nghiệm du lịch của một người.

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)

Danh mục Không bắt buộc

Danh mục của một cửa hàng, trong bối cảnh các địa điểm ăn uống, danh mục này có thể là ẩm thực như "pháp", "mỹ mới", "mì ramen", "ẩm thực cao cấp".

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 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 mà người dùng có thể nhìn thấy. Ví dụ: nếu số lượt là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượt 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ị số lượng Không bắt buộc

Tổng số điểm 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ả Số lượng và Giá trị số lượng đều xuất hiện, chúng tôi sẽ dùng Số lượng để hiển thị cho người dùng

Dài
DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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 có điều kiện

Chúng tôi sẽ chỉ hiển thị 1 hình ảnh khi bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề xuất là 16:9

Lưu ý: Bạn phải cung cấp hình ảnh nếu thực thể thuộc cụm đề xuất. Nếu bạn cung cấp huy hiệu, hãy đảm bảo có 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.
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 epoch khi người dùng tương tác lần gần đây nhất với thực thể này.

Lưu ý: Trường này là bắt buộc nếu thực thể thuộc cụm tiếp tục tìm kiếm.

Joda-Time Instant
Vị trí – Quốc gia Bắt buộc có điều kiện

Quốc gia nơi diễn ra địa điểm yêu thích.

Lưu ý: Trường này là bắt buộc nếu thực thể thuộc cụm đề xuất.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm – Thành phố Bắt buộc có điều kiện

Thành phố nơi diễn ra địa điểm yêu thích.

Lưu ý: Trường này là bắt buộc nếu thực thể thuộc cụm đề xuất.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Vị trí – Địa chỉ hiển thị Bắt buộc có điều kiện

Địa chỉ sẽ hiển thị cho người dùng. Cung cấp địa chỉ ngắn gọn, sử dụng từ viết tắt nếu có thể (ví dụ: "Đ" cho "Đường", "P" cho "Phố"). Chuỗi này có thể bị cắt bớt, tuỳ thuộc vào thiết bị và chế độ cài đặt của người dùng. Thêm tên thành phố để xác định rõ ràng.

Lưu ý: Trường này là bắt buộc nếu thực thể thuộc cụm đề xuất.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 35 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 khoảng 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 điểm đến nằm.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm – Mã bưu chính 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 khoảng 20 ký tự

Vị trí – Khu vực lân cận Không bắt buộc Khu dân cư (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 khoảng 20 ký tự

AvailabilityTimeWindow – Localized Start Time – Timestamp Không bắt buộc Dấu thời gian theo kỷ nguyên khi điểm đến dự kiến sẽ mở cửa/có sẵn. Joda-Time Instant
AvailabilityTimeWindow – Giờ bắt đầu theo giờ địa phương – Múi giờ Không bắt buộc Múi giờ mà điểm đến dự kiến sẽ mở cửa/có sẵn.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

AvailabilityTimeWindow – Localized End Time – Timestamp (Khung giờ phát sóng – Giờ kết thúc theo giờ địa phương – Dấu thời gian) Không bắt buộc Dấu thời gian theo kỷ nguyên cho đến khi điểm đến dự kiến sẽ mở cửa/có sẵn. Joda-Time Instant
AvailabilityTimeWindow – Localized End Time – Timezone (Khung thời gian phát sóng – Giờ kết thúc được bản địa hoá – Múi giờ) Không bắt buộc Múi giờ mà điểm đến dự kiến sẽ mở cửa/có sẵn.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Huy hiệu Không bắt buộc

Mỗi huy hiệu là văn bản tự do (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 đề của huy hiệu

Lưu ý: Huy hiệu phải có văn bản hoặc hình ảnh

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ý đặc biệt về trải nghiệm người dùng, ví dụ: dưới dạng lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video.

Lưu ý: Huy hiệu 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 duy nhất để 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 phải 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 phải 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ượng điểm xếp hạng cho địa điểm yêu thích.

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 mà người dùng có thể nhìn thấy. Ví dụ: nếu số lượt là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượt 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ị số lượng Không bắt buộc

Số lượng điểm 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 muốn tự xử lý logic viết tắt hiển thị. Nếu cả Số lượng và Giá trị số lượng đều xuất hiện, chúng tôi sẽ dùng Số lượng để hiển thị cho người dùng

Dài
Giá – 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.

Bạ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
Giá – 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, chiết khấu dành 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 nội dung trong thực thể.

Danh sách các enum đủ điều kiện

  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_MOVIES_AND_TV_SHOWS (Ví dụ: rạp chiếu phim)
  • TYPE_MEDICAL (Ví dụ: bệnh viện)
  • TYPE_EDUCATION (Ví dụ: trường học)
  • TYPE_SPORTS (Ví dụ: sân vận động)

Hãy xem phần Danh mục nội dung để biết hướng dẫn.

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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 chỗ được bản địa hoá – Dấu thời gian Bắt buộc Dấu thời gian theo kỷ nguyên cho biết thời điểm dự kiến bắt đầu đặt phòng. Joda-Time Instant
Giờ bắt đầu đặt phòng được bản địa hoá – Múi giờ Bắt buộc Múi giờ mà bạn dự kiến sẽ bắt đầu đặt phòng.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Vị trí – Quốc gia Bắt buộc Quốc gia nơi nhà hàng đang hoạt động.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm – 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 khoảng 20 ký tự

Vị trí – Địa chỉ hiển thị Bắt buộc Địa chỉ của nhà hàng sẽ xuất hiện 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 khoảng 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 khoảng 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 khoảng 20 ký tự

Địa điểm – Mã bưu chính Không bắt buộc Mã bưu chính (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 khoảng 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 khoảng 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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề 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 duy nhất để 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 phải 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 phải 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 phòng Số nguyên > 0
DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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 được bản địa hoá – Dấu thời gian 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.

Joda-Time Instant
Giờ bắt đầu được bản địa hoá – Múi giờ Bắt buộc

Múi giờ mà sự kiện dự kiến sẽ bắt đầu.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Chế độ sự kiện Bắt buộc

Một trường cho biết liệu 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 diễn ra sự kiện.

Lưu ý: Đây là thông tin bắt buộc đối với những sự kiện là 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 khoảng 20 ký tự

Địa điểm – Thành phố Bắt buộc có điều kiện

Thành phố nơi diễn ra sự kiện.

Lưu ý: Đây là thông tin bắt buộc đối với những sự kiện là 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 khoảng 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 nơi diễn ra sự kiện mà người dùng sẽ nhìn thấy.

Lưu ý: Đây là thông tin bắt buộc đối với những sự kiện là 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 khoảng 20 ký tự

Vị trí – Địa chỉ đường phố Không bắt buộc Địa chỉ đường (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 khoảng 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 diễn ra sự kiện.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm – Mã bưu chính Không bắt buộc Mã bưu chính (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 khoảng 20 ký tự

Vị trí – Khu vực lân cận Không bắt buộc Khu dân cư (nếu có) nơi diễn ra sự kiện.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề xuất là 16:9

Lưu ý: Bạn nên sử dụng hình ảnh. Nếu bạn cung cấp huy hiệu, hãy đảm bảo có 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.
Dấu thời gian cho giờ kết thúc được bản địa hoá 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.

Joda-Time Instant
Giờ kết thúc được bản địa hoá – Múi giờ Không bắt buộc

Múi giờ mà sự kiện dự kiến sẽ kết thúc.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

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ụ bắt buộc phải có văn bản hoặc hình ảnh.

Văn bản tuỳ ý. Ví dụ: tên của nhà tổ chức sự kiện/chuyến tham quan
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ụ bắt buộc 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 duy nhất để 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 phải 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 phải 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 tự do (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 đề của huy hiệu

Lưu ý: Huy hiệu phải có văn bản hoặc hình ảnh

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ý đặc biệt về trải nghiệm người dùng, ví dụ: dưới dạng lớp phủ huy hiệu trên hình thu nhỏ của hình ảnh/video.

Lưu ý: Huy hiệu 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 phòng Không bắt buộc Mã đặt chỗ cho lượt đặt chỗ sự kiện. Văn bản tự do
Giá – CurrentPrice Bắt buộc có điều kiện

Giá hiện tại của vé/thẻ tham dự sự kiện.

Bạ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
Giá – 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, chiết khấu dành 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

Số lượng đ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 mà người dùng có thể nhìn thấy. Ví dụ: nếu số lượt là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượt 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ị số lượng Không bắt buộc

Số lượng đ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ả Số lượng và Giá trị số lượng đều xuất hiện, chúng tôi sẽ sử dụng Số lượng để hiển thị cho người dùng

Dài
Danh mục nội dung Không bắt buộc Mô tả danh mục nội dung trong thực thể.

Danh sách các enum đủ điều kiện

  • TYPE_MOVIES_AND_TV_SHOWS (Ví dụ: Rạp chiếu phim)
  • TYPE_DIGITAL_GAMES (Ví dụ: Thể thao điện tử)
  • TYPE_MUSIC (Ví dụ: Hoà nhạc)
  • TYPE_TRAVEL_AND_LOCAL (Ví dụ: Chuyến tham quan, lễ hội)
  • TYPE_HEALTH_AND_FITENESS (Ví dụ: Lớp học yoga)
  • TYPE_EDUCATION (Ví dụ: Lớp học)
  • TYPE_SPORTS (Ví dụ: Trận đấu bóng đá)
  • TYPE_DATING (Ví dụ: gặp mặt)

Hãy xem phần Danh mục nội dung để biết hướng dẫn.

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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ụ: "Chuyến 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 được bản địa hoá – Dấu thời gian Bắt buộc Dấu thời gian bắt đầu của hệ thống biểu thị thời gian nhận phòng của lượt đặt phòng. Joda-Time Instant
Giờ nhận phòng được bản địa hoá – Múi giờ Bắt buộc Múi giờ mà thời gian nhận phòng được áp dụng cho lượt đặt phòng.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Giờ trả phòng được bản địa hoá – Dấu thời gian Bắt buộc Dấu thời gian bắt đầu của hệ thống biểu thị thời gian trả phòng của lượt đặt phòng. Joda-Time Instant
Giờ trả phòng được bản địa hoá – Múi giờ Bắt buộc Múi giờ mà thời gian trả phòng được áp dụng cho lượt đặt phòng.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Vị trí – Quốc gia Bắt buộc Quốc gia nơi đặt 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 khoảng 20 ký tự

Địa điểm – Thành phố Bắt buộc Thành phố 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 khoảng 20 ký tự

Vị trí – Địa chỉ hiển thị Bắt buộc Địa chỉ sẽ hiển thị cho người dùng. Cung cấp địa chỉ ngắn gọn, sử dụng từ viết tắt nếu có thể (ví dụ: "Đ" cho "Đường", "Đại lộ" cho "Đại lộ"). Chuỗi này có thể bị cắt bớt tuỳ thuộc vào thiết bị và chế độ cài đặt của người dùng. Thêm tên thành phố để xác định rõ ràng.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 35 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 khoảng 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 khoảng 20 ký tự

Địa điểm – Mã bưu chính Không bắt buộc Mã bưu chính (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 khoảng 20 ký tự

Vị trí – Khu vực lân cận Không bắt buộc Khu dân cư (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 khoảng 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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề xuất là 16:9

Lưu ý: Nếu bạn cung cấp huy hiệu, hãy đảm bảo có khoảng trống an toàn 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.
Mô tả Không bắt buộc

Một đoạn văn bản duy nhất để 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 phải 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 phải 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 phòng Không bắt buộc Mã đặt phòng của giao dịch đặt phòng lưu trú. 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

Tổng số điểm 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 mà người dùng có thể nhìn thấy. Ví dụ: nếu số lượt là 1.000.000, hãy cân nhắc sử dụng các từ viết tắt như 1M để số lượt 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ị số lượng Không bắt buộc

Tổng số điểm 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ả Số lượng và Giá trị số lượng đều xuất hiện, chúng tôi sẽ dùng Số lượng để hiển thị cho người dùng

Dài
Giá – 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
Giá – StrikethroughPrice Không bắt buộc Giá gốc của cơ sở 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, chiết khấu dành 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)

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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 Bắt buộc Phương thức/loại phương tiện đi lại cho lượt đặt phòng. Enum: CHUYẾN BAY, TÀU HOẢ, XE BUÝT hoặc PHÀ
Giờ khởi hành được bản địa hoá – Dấu thời gian Bắt buộc Dấu thời gian bắt đầu của hệ thống biểu thị thời gian khởi hành. Joda-Time Instant
Giờ khởi hành được bản địa hoá – Múi giờ Bắt buộc Múi giờ của thời gian khởi hành.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Thời gian đến được bản địa hoá – Dấu thời gian Bắt buộc Dấu thời gian bắt đầu của hệ thống biểu thị thời gian đến. Joda-Time Instant
Giờ đến được bản địa hoá – Múi giờ Bắt buộc Múi giờ của thời gian đến.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Số vận chuyển Bắt buộc Số hiệu chuyến bay, số xe buýt, số hiệu tàu hoặc số hiệu phà/tàu du lịch. Văn bản tự do
Giờ lên máy bay được bản địa hoá – Dấu thời gian Bắt buộc Dấu thời gian theo kỷ nguyên biểu thị thời gian lên máy bay cho lượt đặt chỗ (nếu có) Joda-Time Instant
Giờ lên máy bay được bản địa hoá – Múi giờ Bắt buộc Múi giờ của thời gian lên máy bay cho lượt đặt chỗ (nếu có)

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Đị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 khoảng 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 khoảng 20 ký tự

Vị trí xuất phát – Địa chỉ hiển thị Không bắt buộc Vị trí 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 khoảng 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 khoảng 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 khoảng 20 ký tự

Địa điểm khởi hành – Mã bưu chính Không bắt buộc Mã bưu chính (nếu có) của vị trí 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 khoảng 20 ký tự

Vị trí khởi hành – Vùng lân cận Không bắt buộc Khu dân cư (nếu có) của vị trí 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 khoảng 20 ký tự

Địa điểm đến – Quốc gia Không bắt buộc Quốc gia nơi bạn đến.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Vị trí nơi đến – Thành phố Không bắt buộc Thành phố nơi đến.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Vị trí đến – Địa chỉ hiển thị Không bắt buộc Vị trí đến mà người dùng sẽ nhìn thấy.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 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 vị trí đến.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm đến – Tiểu bang Không bắt buộc Tiểu bang hoặc tỉnh (nếu có) của vị trí đến.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa điểm đến – Mã bưu chính Không bắt buộc Mã bưu chính (nếu có) của vị trí đến.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Vị trí đến – Khu vực lân cận Không bắt buộc Khu dân cư (nếu có) của vị trí đến.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 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ụ bắt buộc 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ụ bắt buộc 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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề 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 duy nhất để 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 phải 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 phải 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 phòng Không bắt buộc Mã đặt chỗ cho thông tin đặt trước về phương tiện đi lại. Văn bản tự do
Giá – CurrentPrice Bắt buộc có điều kiện

Giá hiện tại của lượt đặ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
Giá – StrikethroughPrice Không bắt buộc Giá gốc của lượt đặt phòng (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, chiết khấu dành 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)

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

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ờ đến lấy hàng được bản địa hoá – Dấu thời gian Bắt buộc Dấu thời gian bắt đầu của hệ thống đại diện cho thời gian đến lấy hàng của lượt đặt trước. Joda-Time Instant
Giờ đến lấy hàng được bản địa hoá – Múi giờ Bắt buộc Múi giờ của thời gian đến lấy cho lượt đặt trước.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Giờ trả lại được bản địa hoá – Dấu thời gian Không bắt buộc Dấu thời gian bắt đầu của hệ thống biểu thị thời gian trả phòng của lượt đặt trước. Joda-Time Instant
Giờ trả lại được bản địa hoá – Múi giờ Không bắt buộc Múi giờ của thời gian trả phòng cho lượt đặt phòng.

Joda-Time DateTimeZone

Hãy xem Quy cách về múi giờ để biết hướng dẫn.

Địa chỉ đến lấy hàng – Quốc gia Không bắt buộc Quốc gia của địa điểm đến lấy hàng.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ đến lấy hàng – Thành phố Không bắt buộc Thành phố của địa điểm đến lấy hàng.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ đến lấy hàng – Địa chỉ hiển thị Không bắt buộc Địa điểm đến lấy hàng mà người dùng sẽ nhìn thấy.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ đến 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 lấy.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ đến 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 lấy.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ đến lấy hàng – Mã bưu chính Không bắt buộc Mã bưu chính (nếu có) của địa điểm đến lấy.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ đến 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 lấy.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ trả lại hàng – Quốc gia Không bắt buộc Quốc gia của địa điểm 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 khoảng 20 ký tự

Địa chỉ trả lại hàng – Thành phố Không bắt buộc Thành phố của vị trí trả lại.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ trả lại hàng – Địa chỉ hiển thị Không bắt buộc Vị trí trả lại mà người dùng sẽ nhìn thấy.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ trả lại hàng – Địa chỉ đường phố Không bắt buộc Địa chỉ đường phố (nếu có) của địa điểm trả lại.

Văn bản tự do

Kích thước văn bản nên dùng: tối đa khoảng 20 ký tự

Địa chỉ trả lại 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 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 khoảng 20 ký tự

Địa chỉ trả lại hàng – Mã bưu chính Không bắt buộc Mã bưu chính (nếu có) của địa điểm 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 khoảng 20 ký tự

Địa chỉ trả lại 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 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 khoảng 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ụ bắt buộc 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ụ bắt buộc 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 bạn cung cấp nhiều hình ảnh. Tỷ lệ khung hình được đề 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 duy nhất để 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 phải 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 phải 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 của thông tin đặt chỗ thuê xe. Văn bản tự do
Giá – CurrentPrice Bắt buộc có điều kiện

Giá hiện tại của lượt đặ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
Giá – StrikethroughPrice Không bắt buộc Giá gốc của lượt đặt phòng (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, chiết khấu dành 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)

DisplayTimeWindow (Không bắt buộc) – Đặt khoảng thời gian hiện nội dung trên giao diện
Dấu 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 mà sau đó nội dung sẽ hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)
Dấu 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 mà sau đó nội dung không còn hiện trên nền tảng.

Nếu bạn không đặt giá trị này, thì nội dung sẽ đủ điều kiện hiện trên nền tảng.

Dấu thời gian bắt đầu của hệ thống (tính bằng mili giây)

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.

Quy cách về múi giờ

Ưu tiên mã nhận dạng (ví dụ: "America/Los_Angeles") hơn độ lệch (ví dụ: "-07:00").

Ví dụ về cách sử dụng: DateTimeZone.forID("America/Los_Angeles")

Danh mục nội dung

Danh mục nội dung cho phép các ứng dụng xuất bản nội dung thuộc nhiều danh mục. Thao tác này 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_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

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

  1. Một số thực thể như ArticleEntityGenericFeaturedEntity đủ đ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 là đủ điều kiện. 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 sẵn danh sách.
  2. 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 các thực thể Chung và ContentCategory:

    • TYPE_MOVIES_AND_TV_SHOWS – Hãy xem các thực thể trong Hướng dẫn tích hợp Watch trước khi sử dụng các thực thể chung.
    • TYPE_BOOKS – Kiểm tra EbookEntity trước khi sử dụng các thực thể chung.
    • TYPE_AUDIOBOOKS – Kiểm tra AudiobookEntity trước khi dùng các thực thể chung.
    • TYPE_SHOPPING – Thanh toán 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 thực phẩm trước khi sử dụng các thực thể chung.
  3. 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 đó.

  4. Trong trường hợp bạn cung cấp nhiều danh mục nội dung, hãy cung cấp các danh mục đó theo thứ tự mức độ liên quan đến nội dung, trong đó danh mục nội dung phù hợp nhất được đặt ở vị trí đầ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).

AppEngageTravelClient 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:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishReservationCluster
  • publishContinueSearchCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteReservationCluster
  • deleteContinueSearchCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

API này dùng để kiểm tra xem dịch vụ có thể tích hợp và nội dung có xuất hiện trên thiết bị hay khô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 RecommendationCluster hiệ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 PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    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 FeaturedCluster hiệ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ì.

publishReservationCluster

API này được dùng để phát hành đối tượng ReservationCluster.

Kotlin

client.publishReservationCluster(
    PublishReservationClusterRequest.Builder()
      .setReservationCluster(
        ReservationCluster.Builder()
          .addLodgingReservationEntity(lodgingReservationEntity)
          .addVehicleRentalReservationEntity(vehicleRentalReservationEntity)
          .addTransportationReservationEntity(transportationReservationEntity)
          .addEventReservationEntity(eventReservationEntity)
          .addRestaurantReservationEntity(restaurantReservationEntity)
          .build())
      .build())

Java

client.publishReservationCluster(
            new PublishReservationClusterRequest.Builder()
                .setReservationCluster(
                    new ReservationCluster.Builder()
                        .addLodgingReservationEntity(lodgingReservationEntity)
                        .addVehicleRentalReservationEntity(vehicleRentalReservationEntity)
                        .addTransportationReservationEntity(transportationReservationEntity)
                        .addEventReservationEntity(eventReservationEntity)
                        .addRestaurantReservationEntity(restaurantReservationEntity)
                        .build())
                .build());

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 ReservationCluster hiệ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 Đặt phòng đã 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ì.

publishContinueSearchCluster

API này được dùng để phát hành danh sách đối tượng ContinueSearchCluster.

Kotlin

client.publishContinueSearchCluster(
    PublishContinueSearchClusterRequest.Builder()
      .setContinueSearchCluster(
        ContinueSearchCluster.Builder()
          .addPointOfInterestEntity(entity1)
          .addPointOfInterestEntity(entity2)
          .build())
      .build())

Java

client.publishContinueSearchCluster(
            new PublishContinueSearchClusterRequest.Builder()
                .setContinueSearchCluster(
                    new ContinueSearchCluster.Builder()
                        .addPointOfInterestEntity(entity1)
                        .addPointOfInterestEntity(entity2)
                        .build())
                .build());

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 ContinueSearchCluster hiệ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 tìm kiếm đã 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 UserAccountManagementCluster hiệ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());

deleteRecommendationClusters

API này dùng để xoá nội dung của cụm Recommendation (Đề xuất).

Kotlin

client.deleteRecommendationClusters()

Java

client.deleteRecommendationClusters();

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ì.

deleteReservationCluster

API này dùng để xoá nội dung của cụm Reservation (Đặt chỗ).

Kotlin

client.deleteReservationCluster()

Java

client.deleteReservationCluster();

Khi nhận được yêu cầu, dịch vụ sẽ xoá dữ liệu hiện có khỏi cụm Đặt phòng. 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.

deleteContinueSearchCluster

API này dùng để xoá nội dung của cụm Tiếp tục tìm kiếm.

Kotlin

client.deleteContinueSearchCluster()

Java

client.deleteContinueSearchCluster();

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 tìm kiế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ì.

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_RESERVATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .addClusterType(ClusterType.TYPE_CONTINUE_SEARCH)
      .build())

Java

client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_RESERVATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .addClusterType(ClusterType.TYPE_CONTINUE_SEARCH)
                .build());

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 BroadcastReceiver bằng cách sử dụng Context.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 continue search cluster publish when PUBLISH_CONTINUE_SEARCH
  // broadcast is received
  // Trigger reservation cluster publish when PUBLISH_RESERVATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Continue Search Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_CONTINUE_SEARCH),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Reservation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_RESERVATION),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)
}

Java

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continue search cluster publish when PUBLISH_CONTINUE_SEARCH
// broadcast is received

// Trigger reservation cluster publish when PUBLISH_RESERVATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Continue Search Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_CONTINUE_SEARCH),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Reservation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_RESERVATION),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

}
  • Khai báo tĩnh quá trình triển khai bằng thẻ <receiver> trong tệp AndroidManifest.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.travel.PUBLISH_CONTINUE_SEARCH" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.travel.PUBLISH_RESERVATION" />
      </intent-filter>
   </receiver>
</application>

Dịch vụ sẽ gửi các ý định sau:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION Bạn nên bắt đầu lệnh gọi publishRecommendationClusters khi nhận được ý định này.
  • com.google.android.engage.action.PUBLISH_FEATURED Bạn nên bắt đầu lệnh gọi publishFeaturedCluster khi nhận được ý định này.
  • com.google.android.engage.action.travel.PUBLISH_CONTINUE_SEARCH Bạn nên bắt đầu lệnh gọi publishContinueSearchCluster khi nhận được ý định này.
  • com.google.android.engage.action.travel.PUBLISH_RESERVATION Bạn nên bắt đầu lệnh gọi publishReservationCluster khi 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ệ

Hãy liên hệ với 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.com và đí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, Đặt trướcTiếp tục tìm kiếm có thể được xuất bản và hiển thị cho người dùng.