Engage SDK 其他產業:第三方技術整合操作說明

Google 正在建構的裝置端途徑會依產業別將使用者的應用程式分門別類,並提供全新沉浸式體驗,可供使用者取用及瀏覽個人化應用程式內容。開發合作夥伴可以利用這個全螢幕體驗,在應用程式以外的專屬管道展示最精彩的多媒體內容。

本文件為開發合作夥伴提供整合新版本的操作說明 提供預訂、活動、住宿、觀光景點、人物和其他資訊等內容 內容。可能不屬於使用 Engage SDK 的任何類別 就能填入這個新的平面區域

整合詳情

術語

這項整合包含以下三個叢集類型:推薦精選接續

  • 「推薦」叢集會顯示來自個別使用者的個人化建議 開發人員合作夥伴。這是 UI 檢視畫面,包含一組建議 。

    • ArticleEntity:代表文字型的 ArticleEntity 內容涉及多個類別的相關建議 內容ArticleEntity 項目可讓開發人員提供 包含更多中繼資料的文字和圖片內容,以便清楚傳達資訊 比較對象例如:行銷內容 新聞摘要

      圖 1:在建議中顯示單一 ArticleEntity 的使用者介面 物件
    • EventEntity:EventEntity 代表 事件開始時間是非常重要的資訊 需要傳達的資訊

      圖 2:顯示其中單一 EventEntity 的使用者介面 推薦叢集。
    • LodgingEntity:LodgingEntity 代表住宿地點, 做為飯店、公寓、長期度假屋 租借。

      圖 3:顯示單一 LodgingEntity 的 UI 套用不同的建議
    • StoreEntity:StoreEntity 代表商店、餐廳、咖啡廳 例如介紹餐廳或商店 是非常重要的一環 使用者。

      圖 4:顯示內部單一 StoreEntity 的 UI 推薦叢集。
    • PointOfInterestEntity:PointOfInterestEntity 代表 觀光景點,例如加油站、活動場地、主題樂園 博物館、觀光景點、健行步道等 其中位置資訊是很重要的 傳達給使用者不得用於住宿、商店或 用餐場所

      圖 5:顯示單一使用者介面 建議叢集內的 PointOfInterestEntity。
    • PersonEntity:PersonEntity 代表個人。建議做法 可用來突顯健康與健身等類別的人 運動、約會等

      圖 5:顯示內有單一 PersonEntity 的 UI 推薦叢集。
  • 「接續」叢集會顯示使用者最近互動的內容 將多個開發合作夥伴納入一個 UI 群組中。每位開發合作夥伴 最多可在「接續」中播送 10 個實體 物件

    接續內容可採用以下結構:

    • ArticleEntity:代表文字型的 ArticleEntity 內容涉及多個類別的相關建議 內容這個實體可用於代表未完成的新聞 文章或其他內容,讓使用者想繼續瀏覽 而不是他們離開的目的地例如:行銷內容、新聞摘要

      圖 6. 顯示以下其中單一 ArticleEntity 的使用者介面: 也就是接續叢集
    • RestaurantReservationEntity:RestaurantReservationEntity 代表 餐廳或咖啡店的訂位資訊,並協助使用者追蹤即將到來的餐廳或咖啡店 進行中的餐廳訂位。

      圖 7. 顯示單一單項的 UI 接續叢集內的 RestaurantReservationEntity。
    • EventReservationEntity:EventReservationEntity 代表 預訂活動,並協助使用者追蹤即將到來或正在進行的活動 活動預訂。事件包括但不限於 包括:

      • 體育賽事,例如預訂足球比賽預訂
      • 遊戲活動,例如預約電競活動
      • 娛樂活動,例如在電影院預約電影 音樂會, 劇場, 書簽署
      • 旅遊或搜尋點預約資訊,例如導覽、博物館 支援單
      • 社交 / 研討會 / 會議預訂
      • 教育 / 訓練課程預約
      圖 8.顯示單一單項的 UI 接續叢集內的 EventReservationEntity。
    • LodgingReservationEntity:LodgingEntityReservation 代表 預訂旅遊住宿,可協助使用者追蹤即將到來或 持續預訂的飯店或度假民宿訂房。

      圖 9.顯示單一單項的 UI 接續叢集內的 LodgingReservationEntity。
    • TransportationReservationEntity:TransportationReservationEntity 代表預訂了任何交通方式的交通工具預訂資訊, 追蹤近期或進行中航班、渡輪、火車、巴士、 例如叫車或郵輪

      圖 10.顯示單一單項的 UI 接續叢集內的 TransportationReservationEntity。
    • VehiclerentReservationEntity:VehiclerentReservationEntity 代表租車預約,可協助使用者追蹤即將到來的租車資訊 或進行中的租車預約。

      圖 11.顯示單一單項的 UI 接續叢集內的 VehiclerentReservationEntity。
  • 「精選」叢集是一種 UI 檢視畫面,會顯示選定的英雄 單一 UI 群組中多個開發合作夥伴提供的 GenericFeaturedEntity。 這個單一精選叢集會顯示在靠近頂端的 使用者介面,優先放置在所有推薦叢集的上方。每項 開發合作夥伴可以播送支援的單一實體 類型,其中包含許多不同類型的實體 (類型可能不同) 在精選叢集中有多個應用程式開發人員

    • GenericGenericEntity (通用精選實體):泛型精選實體與 該精選項目中的推薦項目應用於單一 開發人員的熱門內容,且應呈現 有趣且切合使用者需求的重要內容

      圖 12:顯示單一英雄的 UI 精選叢集中的一般精選 Entity 資訊卡

事前作業

最低 API 級別:19

com.google.android.engage:engage-core 程式庫新增至應用程式:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}

摘要

這項設計是以 繫結服務

用戶端可發布的資料受到不同叢集類型的限制,如下所示:

叢集類型 叢集限制 單一叢集中的實體數量下限 單一叢集中的實體數量上限
推薦叢集 最多 5 個 至少 5 則 最多 25 個 (ArticleEntityEventEntityLodgingEntityStoreEntityPointOfInterestEntityPersonEntity)
接續叢集 最多 1 個 至少 1 個 最多 10 個 (ArticleEntityEventReservationEntityLodgingReservationEntity, TransportationReservationEntity,或 VehicleRentalReservationEntity)
精選叢集 最多 1 個 至少 1 個 最多 10 個 (GenericFeaturedEntity)

步驟 1:提供實體資料

SDK 定義了不同實體,用來代表各種項目類型。我們樂於 其他類別的下列實體:

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

下������表列���各類型的可用屬性和必要性。

GenericFeaturedEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
代表圖片 必要

如果您提供多張圖片,我們只會顯示 1 張圖片。 建議長寬比為 16:9

注意:如有提供識別證,請務必確認 圖片頂端和底部皆為 24 dp

如需相關指南,請參閱「圖片規格」一節。
標題 選用 實體的名稱。

任意文字

建議文字長度:50 個半形字元

說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

徽章 選用

每個徽章可以是任意文字 (最多 15 個半形字元) 或小型圖片。

以特殊使用者體驗處理圖片/影片,例如徽章 疊加在圖片上

  • 「即時更新」
  • 文章閱讀時長
徽章 - 文字 選用

徽章標題

注意:徽章必須提供文字或圖片

任意文字

建議文字長度:最多 15 個半形字元

徽章 - 圖片 選用

小型圖片

特殊使用者體驗的處理方式,例如圖片/影片上的徽章重疊 縮圖。

注意:徽章必須提供文字或圖片

如需相關指南,請參閱「圖片規格」一節。
內容類別 選用 說明實體中的內容類別,

列舉清單

請參閱「內容類別」一節

ArticleEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

任意文字

建議文字長度:最多 50 個半形字元

代表圖片 選用

如果您提供多張圖片,我們只會顯示 1 張圖片。 建議長寬比為 16:9

注意:強烈建議使用圖片。如果徽章 因此,請務必確保 圖片

如需相關指南,請參閱「圖片規格」一節。
來源 - 書名 選用 作者、機構或檢舉者的名稱

任意文字

建議文字長度:最多 25 個半形字元

來源 - 圖片 選用 來源圖片,例如作者、機構、記者 如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

徽章 選用

每個徽章可以是任意文字 (最多 15 個半形字元) 或小型圖片。

以特殊使用者體驗方式處理圖片/影片,例如徽章 疊加在圖片上

  • 「即時更新」
  • 文章閱讀時長
徽章 - 文字 選用

徽章標題

注意:徽章必須提供文字或圖片

任意文字

建議文字長度:最多 15 個半形字元

徽章 - 圖片 選用

小型圖片

特殊使用者體驗的處理方式,例如圖片/影片上的徽章重疊 縮圖。

注意:徽章必須提供文字或圖片

如需相關指南,請參閱「圖片規格」一節。
內容發布時間 選用 這是內容發生當下的 Epoch 時間戳記 (以毫秒為單位), 是否已在應用程式中發布 / 更新。 以毫秒為單位的 Epoch 紀元時間戳記
上次互動時間 必要 (有條件)

使用者進行互動的 Epoch 時間戳記 (以毫秒為單位) 這是上次使用這個實體的時間

注意:如果這個實體屬於 持續性叢集

以毫秒為單位的 Epoch 紀元時間戳記
進度百分比 必要 (有條件)

到目前為止,使用者已觀看的完整內容百分比。

注意:如果這個實體屬於 持續性叢集

介於 0 到 100 (含 0 和 100) 之間的整數值。
內容類別 選用 說明實體中的內容類別,

列舉清單

請參閱「內容類別」一節

EventEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

字串

建議文字長度:最多 50 個半形字元

開始時間 必要

事件預計開始的 Epoch 時間戳記。

注意:時間值是以毫秒為單位。

以毫秒為單位的 Epoch 紀元時間戳記
事件模式 必要

這個欄位用於表示活動是線上、現場或 兩者。

列舉:VIRTUAL、IN_PERSON 或 HYBRID
代表圖片 必要

如果您提供多張圖片,我們只會顯示 1 張圖片。 建議長寬比為 16:9

注意:強烈建議使用圖片。如果徽章 因此,請務必確保 圖片

如需相關指南,請參閱「圖片規格」一節。
地點 - 國家/地區 必要 (有條件)

舉辦活動的國家/地區。

注意:對於 IN_PERSON 或 IN_PERSON 的活動,此為必要欄位。 混合辦公

任意文字

建議文字長度:最多 20 個半形字元

位置 - 城市 必要 (有條件)

事件發生的城市。

注意:對於 IN_PERSON 或 IN_PERSON 的活動,此為必要欄位。 混合辦公

任意文字

建議文字長度:最多 20 個半形字元

位置 - 顯示地址 必要 (有條件)

活動地點的地址或場地名稱 向使用者顯示

注意:對於 IN_PERSON 或 IN_PERSON 的活動,此為必要欄位。 混合辦公

任意文字

建議文字長度:最多 20 個半形字元

地點 - 街道地址 選用 活動地點的街道地址 (如有) 託管。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 州/省 選用 活動時所在的州或省 (如適用) 託管。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 郵遞區號 選用 活動地點的郵遞區號 (如適用) 託管。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 社區 選用 舉辦活動的社區 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

結束時間 選用

事件預計結束的 Epoch 時間戳記。

注意:時間值是以毫秒為單位。

以毫秒為單位的 Epoch 紀元時間戳記
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

徽章 選用

每個徽章可以是任意文字 (最多 15 個半形字元) 或小型圖片。

徽章 - 文字 選用

徽章標題

注意:徽章必須提供文字或圖片

任意文字

建議文字長度:最多 15 個半形字元

徽章 - 圖片 選用

小型圖片

特殊使用者體驗的處理方式,例如圖片/影片上的徽章重疊 縮圖。

注意:徽章必須提供文字或圖片

如需相關指南,請參閱「圖片規格」一節。
價格 - 目前價格 在特定情況下為必要

活動票券/票證目前的價格。

如果提供了附帶刪除線的價格,則必須提供這項屬性。

任意文字
價格 - 加上刪除線的價格 選用 活動票券/票證的原始價格。 任意文字
價格摘要 選用 顯示促銷、活動或會員折扣的價格摘要 (如有)。

任意文字

建議文字長度:最多 45 個半形字元 (文字過長) 可能會顯示刪節號)

內容類別 選用 說明實體中的內容類別,

符合資格的列舉清單

  • TYPE_BOOKS_AND_TV_SHOWS (例如 - Cinema)
  • TYPE_DIGITAL_GAMES (例如:電競)
  • TYPE_MUSIC (例如 - 演唱會)
  • TYPE_TRAVEL_AND_LOCAL (例如:巡迴演出、節慶)
  • TYPE_HEALTH_AND_FITENESS (範例 - 瑜伽課)
  • TYPE_EDUCATION (範例 - 類別)
  • TYPE_SPORTS (範例 - 美式足球比賽)
  • TYPE_DATING (範例 - 聚會)

請參閱「內容類別」一節

LodgingEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

字串

建議文字長度:最多 50 個半形字元

代表圖片 必要

如果您提供多張圖片,我們只會顯示 1 張圖片。推薦方案 顯示比例為 16:9

注意:如有提供識別證,請務必確認 圖片頂端和底部皆為 24 dp

如需相關指南,請參閱「圖片規格」一節。
地點 - 國家/地區 必要 住宿地點的國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 城市 必要 住宿地點的城市。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 顯示地址 必要 要向使用者顯示的住宿地址。

任意文字

建議文字長度:最多 20 個半形字元

地點 - 街道地址 選用 飯店的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 州/省 選用 住宿地點所在的州或省 (如適用) 定位。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 郵遞區號 選用 住宿地點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 社區 選用 住宿地點 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

徽章 選用

每個徽章可以是任意文字 (最多 15 個半形字元) 或小型圖片。

徽章 - 文字 選用

徽章標題

注意:徽章必須提供文字或圖片

任意文字

建議文字長度:最多 15 個半形字元

徽章 - 圖片 選用

小型圖片

特殊使用者體驗的處理方式,例如圖片/影片上的徽章重疊 縮圖。

注意:徽章必須提供文字或圖片

如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

AvailabilityTimeWindow - 開始時間 選用 飯店預計入住時間的 Epoch 時間戳記 (以毫秒為單位) 開放/可用 以毫秒為單位的 Epoch 紀元時間戳記
AvailabilityTimeWindow - 結束時間 選用 住宿預訂前的 Epoch 時間戳記,以毫秒為單位 設為開放/可供使用 以毫秒為單位的 Epoch 紀元時間戳記
評分 - 最高值 選用

分級量表的最高值。

如果同時提供目前的評分值,則必須提供這項屬性。

大於或等於 0.0 的數字
評分 - 目前的值 選用

目前分級量表的值。

如果同時提供最高評分值,則須提供這項屬性。

大於或等於 0.0 的數字
評分 - 計算 選用

住宿飯店的評分次數。

注意:如果您的應用程式有以下情況,請提供這個欄位 控制向使用者顯示的次數。使用精簡的字串。 舉例來說,如果計數是 1,000,000,請考慮使用縮寫 以免在螢幕較小的情況下遭到截斷

字串
評分 - 計數值 選用

住宿飯店的評分次數。

注意:如未處理,請提供這個欄位 顯示縮寫邏輯如果同時包含次數和計數值 系統會向使用者顯示計數。

價格 - 目前價格 在特定情況下為必要

住宿目前的價格。

如果提供了附帶刪除線的價格,則必須提供這項屬性。

任意文字
價格 - 加上刪除線的價格 選用 住宿優惠的原始價格,在 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型 任意文字
價格摘要 選用 顯示促銷、活動或會員折扣的價格摘要 (如有)。

任意文字

建議文字長度:最多 45 個半形字元 (文字過長) 可能會顯示刪節號)

StoreEntity

StoreEntity 物件代表開發合作夥伴要發布的個別商店,例如餐廳或雜貨店。

屬性 必要性 說明 格式
代表圖片 必要 至少須提供一張圖片 如需相關指南,請參閱「圖片規格」一節。
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 選用 商店名稱。

任意文字

建議文字長度:最多 45 個半形字元,過長部分會以刪節號顯示

位置 選用 商店的位置。

任意文字

建議文字長度:最多 45 個半形字元,過長部分會以刪節號顯示

摘要 選用 如果有,會是用來主打商店的促銷、活動或更新。

任意文字

建議文字長度:最多 45 個半形字元,過長部分會以刪節號顯示

摘要附屬細則 選用 摘要的附屬細則文字。

任意文字

建議文字長度:最多 45 個半形字元,過長部分會以刪節號顯示

說明 選用 商店說明。

任意文字

建議文字長度:最多 90 個半形字元,過長部分會以刪節號顯示

評分 - 最高值 選用

分級量表的最高值。

如果同時提供目前的評分值,則必須提供這項屬性。

大於或等於 0.0 的數字
評分 - 目前的值 選用

目前分級量表的值。

如果同時提供最高評分值,則須提供這項屬性。

大於或等於 0.0 的數字
評分 - 計算 選用

住宿飯店的評分次數。

注意:如果您的應用程式需要 管理向使用者顯示的方式提供精簡的字串 向使用者顯示的圖表舉例來說,如果計數為 1,000,000,請考慮使用 100 萬等縮寫,但是不會 但在螢幕較小的情況下無法完整顯示

字串
評分 - 計數值 選用

住宿飯店的評分次數。

注意:如果不想處理相關問題,請提供這個欄位 顯示縮寫邏輯如果同時包含次數和計數值 搜尋時,我們會使用「計數」向使用者顯示

PointOfInterestEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

字串

建議文字長度:最多 50 個半形字元

代表圖片 必要

如果您提供多張圖片,我們只會顯示 1 張圖片。 建議長寬比為 16:9

注意:強烈建議使用圖片。如果徽章 因此,請務必確保 圖片

如需相關指南,請參閱「圖片規格」一節。
地點 - 國家/地區 必要 搜尋點的發生國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 城市 必要 搜尋點發生的城市。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 顯示地址 必要 會在 內容。

任意文字

建議文字長度:最多 20 個半形字元

地點 - 街道地址 選用 搜尋點的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 州/省 選用 搜尋點所在的州或省 (如適用) 定位。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 郵遞區號 選用 搜尋點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 社區 選用 搜尋點的鄰裡 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

AvailabilityTimeWindow - 開始時間 選用 搜尋點以毫秒為單位的 Epoch 時間戳記, 分別處於開放/可供使用的狀態。 以毫秒為單位的 Epoch 紀元時間戳記
AvailabilityTimeWindow - 結束時間 選用 Epoch 時間戳記 (以毫秒為單位),直到搜尋點為止 分別處於開放/可供使用的狀態。 以毫秒為單位的 Epoch 紀元時間戳記
徽章 選用

每個徽章可以是任意文字 (最多 15 個半形字元) 或小型圖片。

徽章 - 文字 選用

徽章標題

注意:徽章必須提供文字或圖片

任意文字

建議文字長度:最多 15 個半形字元

徽章 - 圖片 選用

小型圖片

特殊使用者體驗的處理方式,例如圖片/影片上的徽章重疊 縮圖。

注意:徽章必須提供文字或圖片

如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

評分 - 最高值 選用

分級量表的最高值。

如果同時提供目前的評分值,則必須提供這項屬性。

大於或等於 0.0 的數字
評分 - 目前的值 選用

目前分級量表的值。

如果同時提供最高評分值,則須提供這項屬性。

大於或等於 0.0 的數字
評分 - 計算 選用

搜尋點的評分次數。

注意:如果您的應用程式有以下情況,請提供這個欄位 控制向使用者顯示的次數。使用精簡的字串。 舉例來說,如果計數是 1,000,000,請考慮使用縮寫 以免在螢幕較小的情況下遭到截斷

字串
評分 - 計數值 選用

搜尋點的評分次數。

注意:如未處理,請提供這個欄位 必須自行顯示縮寫邏輯如果同時包含次數和計數值 會向使用者顯示計數

價格 - 目前價格 在特定情況下為必要

兩點的票券/通行證目前價格 興趣。

如果提供了附帶刪除線的價格,則必須提供這項屬性。

任意文字
價格 - 加上刪除線的價格 選用 搜尋點票券/通行證的原始價格。 任意文字
價格摘要 選用 顯示促銷、活動或會員折扣的價格摘要 (如有)。

任意文字

建議文字長度:最多 45 個半形字元 (文字過長, 顯示刪節號)

內容類別 選用 說明實體中的內容類別,

符合資格的列舉清單

  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_BOOKS_AND_TV_SHOWS (例如 - 電影院)
  • TYPE_MEDICAL (範例 - 醫院)
  • TYPE_EDUCATION (範例 - 學校)
  • TYPE_SPORTS (範例 - 體育場)

請參閱「內容類別」一節

PersonEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
設定檔 - 名稱 必要 個人資料名稱,或 ID/帳號代碼,例如「John Doe」、「@TeamPixel」等。

字串

建議文字長度:最多 50 個半形字元

設定檔 - 顯示圖片 必要

使用者的個人資料相片或顯示圖片。

注意:必須使用正方形 1:1 圖片。

如需相關指南,請參閱「圖片規格」一節。
設定檔 - 其他文字 選用 任意文字,例如商家檔案帳號代碼。

任意文字

建議文字長度:最多 15 個半形字元

個人資料 - 其他圖片 選用 小型圖片,例如驗證徽章。 如需相關指南,請參閱「圖片規格」一節。
標題圖片 選用

如果您提供多張圖片,我們只會顯示 1 張圖片。 建議長寬比為 16:9

注意:強烈建議使用圖片。如果徽章 因此,請務必確保 圖片

如需相關指南,請參閱「圖片規格」一節。
熱銷度 - 計數 選用

代表標題圖片。必須與個人資料圖片不同。 如有其他圖片有助於醒目顯示 他們喜歡自己的工作。

注意:必須是 16:9 的圖片,如果提供了徽章 確保圖片頂端和底部至少保留 24 dp 的空間

字串

建議文字長度:數量 + 標籤最多 20 個半形字元 結合

熱銷度 - 計數值 選用

追蹤者人數或熱門程度值。

注意:如果應用程式不需要,請提供數量值 處理邏輯,決定大型數字的最佳化方式 不同的顯示大���如果同時提供次數和計數值 系統會使用數量。

熱門程度 - 標籤 選用 指出熱門程度標籤。例如「按讚」。

字串

建議文字長度:數量 + 標籤最多 20 個半形字元 結合

熱門程度 - 視覺元素 選用

指出互動目的,例如:顯示圖像 喜歡圖示、表情符號。

可以提供多張圖片,但不一定全部都能顯示 板型規格

注意:必須使用正方形 1:1 的圖片

如需相關指南,請參閱「圖片規格」一節。
評分 - 最高值 必填

分級量表的最高值。

如果同時提供目前的評分值,則必須提供這項屬性。

大於或等於 0.0 的數字
評分 - 目前的值 必填

目前分級量表的值。

如果同時提供最高評分值,則須提供這項屬性。

大於或等於 0.0 的數字
評分 - 計算 選用

實體的評分次數。

注意:如果您的應用程式需要 管理向使用者顯示的方式提供精簡的字串 向使用者顯示的圖表舉例來說,如果計數為 1,000,000,請考慮使用 100 萬等縮寫,但是不會 但在螢幕較小的情況下無法完整顯示

字串
評分 - 計數值 選用

實體的評分次數。

注意:如果不想處理相關問題,請提供這個欄位 顯示縮寫邏輯如果同時包含次數和計數值 搜尋時,我們會使用「計數」向使用者顯示

地點 - 國家/地區 選用 聯絡人的所在國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 城市 選用 聯絡人所在或提供服務的城市。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 顯示地址 選用 會顯示人員的所在地或服務地址 使用者。

任意文字

建議文字長度:最多 20 個半形字元

地點 - 街道地址 選用 聯絡人所在地點的街道地址 (如有),或 放送。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 州/省 選用 聯絡人所在或提供服務的所在州別 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 郵遞區號 選用 聯絡人所在地或提供服務地點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 社區 選用 聯絡人所在或提供服務的鄰裡 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

徽章 選用

每個徽章可以是任意文字 (最多 15 個半形字元) 或小型圖片。

徽章 - 文字 選用

徽章標題

注意:徽章必須提供文字或圖片

任意文字

建議文字長度:最多 15 個半形字元

徽章 - 圖片 選用

小型圖片

特殊使用者體驗的處理方式,例如圖片/影片上的徽章重疊 縮圖。

注意:徽章必須提供文字或圖片

如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

內容類別 選用 說明實體中的內容類別,

符合資格的列舉清單

  • TYPE_HEALTH_AND_FITENESS (範例 - 瑜伽/健身教練)
  • TYPE_HOME_AND_AUTO (例如 - 水電工)
  • TYPE_SPORTS (例如 - 玩家)
  • TYPE_DATING

請參閱「內容類別」一節

RestaurantReservationEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

字串

建議文字長度:最多 50 個半形字元

預留項目開始時間 必要 預留項目預計達到下列時間的 Epoch 時間戳記 (以毫秒為單位) 。 以毫秒為單位的 Epoch 紀元時間戳記
地點 - 國家/地區 必要 餐廳舉辦的國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 城市 必要 提供餐廳的城市。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 顯示地址 必要 會顯示在 內容。

任意文字

建議文字長度:最多 20 個半形字元

地點 - 街道地址 選用 餐廳的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 州/省 選用 餐廳所在的州或省 (如有) 定位。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 郵遞區號 選用 餐廳的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 社區 選用 餐廳的社區 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

代表圖片 選用 如果您提供多張圖片,我們只會顯示 1 張圖片。推薦方案 顯示比例為 16:9 如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

資料表大小 選用 預訂群組的人數 整數 >0 分

EventReservationEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

字串

建議文字長度:最多 50 個半形字元

開始時間 必要

事件預計開始的 Epoch 時間戳記。

注意:時間值是以毫秒為單位。

以毫秒為單位的 Epoch 紀元時間戳記
事件模式 必要

這個欄位用於表示活動是線上、現場或 兩者。

列舉:VIRTUAL、IN_PERSON 或 HYBRID
地點 - 國家/地區 必要 (有條件)

舉辦活動的國家/地區。

注意:對於 IN_PERSON 或 IN_PERSON 的活動,此為必要欄位。 混合辦公

任意文字

建議文字長度:最多 20 個半形字元

位置 - 城市 必要 (有條件)

事件發生的城市。

注意:對於 IN_PERSON 或 IN_PERSON 的活動,此為必要欄位。 混合辦公

任意文字

建議文字長度:最多 20 個半形字元

位置 - 顯示地址 必要 (有條件)

活動地點的地址或場地名稱 向使用者顯示

注意:對於 IN_PERSON 或 IN_PERSON 的活動,此為必要欄位。 混合辦公

任意文字

建議文字長度:最多 20 個半形字元

地點 - 街道地址 選用 活動地點的街道地址 (如有) 託管。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 州/省 選用 活動時所在的州或省 (如適用) 託管。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 郵遞區號 選用 活動地點的郵遞區號 (如適用) 託管。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 社區 選用 舉辦活動的社區 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

代表圖片 選用

如果您提供多張圖片,我們只會顯示 1 張圖片。 建議長寬比為 16:9

注意:強烈建議使用圖片。如果徽章 因此,請務必確保 圖片

如需相關指南,請參閱「圖片規格」一節。
結束時間 選用

事件預計結束的 Epoch 時間戳記。

注意:時間值是以毫秒為單位。

以毫秒為單位的 Epoch 紀元時間戳記
服務供應商 - 名稱 選用

服務供應商的名稱。

注意:服務必須提供文字或圖片 。

任意文字。例如活動發起人/導覽的名稱
服務供應商 - 圖片 選用

服務供應商的標誌/圖片。

注意:服務必須提供文字或圖片 。

如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

徽章 選用

每個徽章可以是任意文字 (最多 15 個半形字元) 或小型圖片。

徽章 - 文字 選用

徽章標題

注意:徽章必須提供文字或圖片

任意文字

建議文字長度:最多 15 個半形字元

徽章 - 圖片 選用

小型圖片

特殊使用者體驗的處理方式,例如圖片/影片上的徽章重疊 縮圖。

注意:徽章必須提供文字或圖片

如需相關指南,請參閱「圖片規格」一節。
預留項目 ID 選用 活動預訂的預訂 ID。 任意文字
價格 - 目前價格 在特定情況下為必要

活動票券/票證目前的價格。

如果提供了附帶刪除線的價格,則必須提供這項屬性。

任意文字
價格 - 加上刪除線的價格 選用 活動票券/票證的原始價格。 任意文字
價格摘要 選用 顯示促銷、活動或會員折扣的價格摘要 (如有)。

任意文字

建議文字長度:最多 45 個半形字元 (文字過長) 可能會顯示刪節號)

評分 - 最高值 選用

分級量表的最高值。

如果同時提供目前的評分值,則必須提供這項屬性。

大於或等於 0.0 的數字
評分 - 目前的值 選用

目前分級量表的值。

如果同時提供最高評分值,則須提供這項屬性。

大於或等於 0.0 的數字
評分 - 計算 選用

事件的評分次數。

注意:如果您的應用程式需要 管理向使用者顯示的方式提供精簡的字串 向使用者顯示的圖表舉例來說,如果計數為 1,000,000,請考慮使用 100 萬等縮寫,但是不會 但在螢幕較小的情況下無法完整顯示

字串
評分 - 計數值 選用

事件的評分次數。

注意:如果不想處理相關問題,請提供這個欄位 顯示縮寫邏輯如果同時包含次數和計數值 搜尋時,我們會使用「計數」向使用者顯示

內容類別 選用 說明實體中的內容類別,

符合資格的列舉清單

  • TYPE_BOOKS_AND_TV_SHOWS (例如 - Cinema)
  • TYPE_DIGITAL_GAMES (例如:電競)
  • TYPE_MUSIC (例如 - 演唱會)
  • TYPE_TRAVEL_AND_LOCAL (例如:巡迴演出、節慶)
  • TYPE_HEALTH_AND_FITENESS (範例 - 瑜伽課)
  • TYPE_EDUCATION (範例 - 類別)
  • TYPE_SPORTS (範例 - 美式足球比賽)
  • TYPE_DATING (範例 - 聚會)

請參閱「內容類別」一節

LodgingReservationEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

任意文字。例如「12 月 12 日入住」

建議文字長度:最多 50 個半形字元

入住時間 必要 代表回報時間的 Epoch 時間戳記 (以毫秒為單位) 預訂流量 以毫秒為單位的 Epoch 紀元時間戳記
退房時間 必要 代表退房時間的 Epoch 時間戳記 (以毫秒為單��) 預訂流量 以毫秒為單位的 Epoch 紀元時間戳記
地點 - 國家/地區 必要 住宿地點的所在國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 城市 必要 住宿所在的城市,

任意文字

建議文字長度:最多 20 個半形字元

位置 - 顯示地址 必要 要向使用者顯示的住宿地址。

任意文字

建議文字長度:最多 20 個半形字元

地點 - 街道地址 選用 飯店的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 州/省 選用 住宿地點所在的州或省 (如適用) 定位。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 郵遞區號 選用 住宿地點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

位置 - 社區 選用 住宿地點 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

代表圖片 選用

如果您提供多張圖片,我們只會顯示 1 張圖片。推薦方案 顯示比例為 16:9

注意:如有提供識別證,請確保安全空間為 24 圖片頂端和底部兩者的 dp

如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

預留項目 ID 選用 住宿預訂的預訂 ID。 任意文字
評分 - 最高值 選用

分級量表的最高值。

如果同時提供目前的評分值,則必須提供這項屬性。

大於或等於 0.0 的數字
評分 - 目前的值 選用

目前分級量表的值。

如果同時提供最高評分值,則須提供這項屬性。

大於或等於 0.0 的數字
評分 - 計算 選用

住宿飯店的評分次數。

注意:如果您的應用程式需要 管理向使用者顯示的方式提供精簡的字串 向使用者顯示的圖表舉例來說,如果計數為 1,000,000,請考慮使用 100 萬等縮寫,但是不會 但在螢幕較小的情況下無法完整顯示

字串
評分 - 計數值 選用

住宿飯店的評分次數。

注意:如果不想處理相關問題,請提供這個欄位 顯示縮寫邏輯如果同時包含次數和計數值 搜尋時,我們會使用「計數」向使用者顯示

價格 - 目前價格 在特定情況下為必要

住宿目前的價格。

如果提供了附帶刪除線的價格,則必須提供這項屬性。

任意文字
價格 - 加上刪除線的價格 選用 住宿優惠的原始價格,在 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型 任意文字
價格摘要 選用 顯示促銷、活動或會員折扣的價格摘要 (如有)。

任意文字

建議文字長度:最多 45 個半形字元 (文字過長) 可能會顯示刪節號)

TransportationReservationEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

任意文字。例如「SFO 到 SAN」

建議文字長度:最多 50 個半形字元

������類��� 必要 預訂行程的交通方式/類型。 例如:Flight、TRAIN、BUS 或 FERRY
出發時間 必要 以毫秒為單位的 Epoch 時間戳記,用來表示出發時間。 以毫秒為單位的 Epoch 紀元時間戳記
抵達時間 必要 代表抵達時間的 Epoch 時間戳記,以毫秒為單位。 以毫秒為單位的 Epoch 紀元時間戳記
出發地點 - 國家/地區 選用 出發國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

出發地點 - 城市 選用 出發城市。

任意文字

建議文字長度:最多 20 個半形字元

出發地點 - 顯示地址 選用 要向使用者顯示的出發地點。

任意文字

建議文字長度:最多 20 個半形字元

出發地點 - 街道地址 選用 出發地點的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

出發地點 - 州/省 選用 出發地點的州或省 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

出發地點 - 郵遞區號 選用 出發地點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

出發地點 - 社區 選用 出發地點的鄰裡 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

抵達地點 - 國家/地區 選用 抵達國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

抵達地點 - 城市 選用 抵達的城市。

任意文字

建議文字長度:最多 20 個半形字元

抵達地點 - 顯示地址 選用 要向使用者顯示的抵達地點。

任意文字

建議文字長度:最多 20 個半形字元

抵達地點 - 街道地址 選用 抵達地點的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

抵達地點 - 州/省 選用 抵達地點的州或省 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

抵達地點 - 郵遞區號 選用 抵達地點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

抵達地點 - 社區 選用 抵達地點的鄰裡 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

服務供應商 - 名稱 選用

服務供應商的名稱。

注意:服務必須提供文字或圖片 。

任意文字。例如:航空公司名稱
服務供應商 - 圖片 選用

服務供應商的標誌/圖片。

注意:服務必須提供文字或圖片 。

如需相關指南,請參閱「圖片規格」一節。
代表圖片 選用

如果您提供多張圖片,我們只會顯示 1 張圖片。推薦方案 顯示比例為 16:9

如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

預留項目 ID 選用 交通工具預訂項目的預訂 ID。 任意文字
價格 - 目前價格 在特定情況下為必要

預留項目目前的價格。

如果提供了附帶刪除線的價格,則必須提供這項屬性。

任意文字
價格 - 加上刪除線的價格 選用 預訂的原始價格,在 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型 任意文字
價格摘要 選用 顯示促銷、活動或會員折扣的價格摘要 (如有)。

任意文字

建議文字長度:最多 45 個半形字元 (文字過長) 可能會顯示刪節號)

交通運輸號碼 必填 航班號碼、公車號碼、火車號碼或渡輪/郵輪號碼。 任意文字
登機時間 必填 代表預留項目登機時間的 Epoch 時間戳記 (如適用) 以毫秒為單位的 Epoch 紀元時間戳記

VehicleRentalReservationEntity

屬性 必要性 說明 格式
動作 URI 必要

服務供應商應用程式中實體的深層連結。

注意:您可以使用深層連結追蹤歸因。 請參閱這篇常見問題

URI
標題 必要 實體的名稱。

任意文字。例如:「臺北市信義區」

建議文字長度:最多 50 個半形字元

取貨時間 必要 代表預留項目取貨時間的 Epoch 時間戳記。 以毫秒為單位的 Epoch 紀元時間戳記
回程時間 選用 代表預訂退房時間的 Epoch 時間戳記。 以毫秒為單位的 Epoch 紀元時間戳記
取貨地址 - 國家/地區 選用 上車地點所在的國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

取件地址 - 城市 選用 上車地點的城市。

任意文字

建議文字長度:最多 20 個半形字元

取貨地址 - 顯示地址 選用 要向使用者顯示的上車地點。

任意文字

建議文字長度:最多 20 個半形字元

取貨地址 - 街道地址 選用 取貨地點的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

取貨地址 - 州/省 選用 上車地點的州或省 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

取貨地址 - 郵遞區號 選用 取貨地點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

取貨地址 - 社區 選用 上車地點的鄰裡 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

退貨地址 - 國家/地區 選用 退貨地點的國家/地區。

任意文字

建議文字長度:最多 20 個半形字元

退貨地址 - 城市 選用 退貨地點的城市。

任意文字

建議文字長度:最多 20 個半形字元

退貨地址 - 顯示地址 選用 向使用者顯示的返回地點。

任意文字

建議文字長度:最多 20 個半形字元

退貨地址 - 街道地址 選用 退貨地點的街道地址 (如有)。

任意文字

建議文字長度:最多 20 個半形字元

退貨地址 - 州/省 選用 退貨地點的州或省 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

退貨地址 - 郵遞區號 選用 退貨地點的郵遞區號 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

退貨地址 - 社區 選用 退貨地點的鄰裡 (如適用)。

任意文字

建議文字長度:最多 20 個半形字元

服務供應商 - 名稱 選用

服務供應商的名稱。

注意:服務必須提供文字或圖片 。

任意文字。例如「Avis 租車」
服務供應商 - 圖片 選用

服務供應商的標誌/圖片。

注意:服務必須提供文字或圖片 。

如需相關指南,請參閱「圖片規格」一節。
代表圖片 選用

如果您提供多張圖片,我們只會顯示 1 張圖片。推薦方案 顯示比例為 16:9

如需相關指南,請參閱「圖片規格」一節。
說明 選用

用來描述實體的單一文字段落。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

建議文字長度:180 個半形字元

字幕清單 選用

最多 3 則字幕,每行文字各一行。

注意:說明和字幕清單將會顯示 只會向使用者顯示

任意文字

每個字幕的建議文字大小:上限 50 個半形字元

確認 ID 選用 租車預訂的確認 ID。 任意文字
價格 - 目前價格 在特定情況下為必要

預留項目目前的價格。

如果提供了附帶刪除線的價格,則必須提供這項屬性。

任意文字
價格 - 加上刪除線的價格 選用 預訂的原始價格,在 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型 任意文字
價格摘要 選用 顯示促銷、活動或會員折扣的價格摘要 (如有)。

任意文字

建議文字長度:最多 45 個半形字元 (文字過長) 可能會顯示刪節號)

圖片規格

下表列出圖片素材資源的規格規定:

顯示比例 最低像素 建議的像素

正方形 (1x1)

建議採用

300x300 1200x1200
橫向 (1.91x1) 600x314 1200x628
直向 (4x5) 480x600 960x1200

圖片必須在公開 CDN 上代管,以便 Google 存取。

檔案格式

PNG、JPG、靜態 GIF、WebP

檔案大小上限

5120 KB

其他建議

  • 圖片安全區域:將重要內容放在圖片中央 80% 的範圍內。
  • 使用透明背景,讓圖片正確顯示在深色和淺色主題設定中。

內容類別

內容類別可讓應用程式發布屬於 類別這會將內容對應至部分預先定義的類別:

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

圖片必須在公開 CDN 上代管,以便 Google 存取。

內容類別使用規範

  1. ArticleEntityGenericGenericEntity 等實體是 有資格使用任一內容類別。如為其他實體, 僅限 EventEntityEventReservationEntityPointOfInterestEntity 只有部分類別符合資格。查看類別清單 才符合某個實體類型的條件,再填入清單。
  2. 針對某些內容類別加以組合使用特定實體類型 分別是一般實體和 ContentCategory:

    • TYPE_MovieS_AND_TV_SHOWS - 查看來自以下實體的實體: 使用前請先手錶整合指南,再使用 一般實體
    • TYPE_BOOKS - 查看 EbookEntity,再使用 一般實體
    • TYPE_AUDIOBOOKS - 結帳 AudiobookEntity 之前 使用一般實體
    • TYPE_SHOPPING - 結帳 ShoppingEntity 之前 使用一般實體
    • TYPE_FOOD_AND_DRINK - 查看下列實體的實體: 使用 Food Integration 指南後,再使用 一般實體
  3. [ContentCategory] 欄位為選填欄位,如果 不屬於前述任何類別。

  4. 如果提供了多項內容類別,請依序提供 與置入性最相關的內容類別之內容的關聯性 首先

步驟 2:提供叢集資料

建議您在背景執行內容發布工作 (例如使用 WorkManager),並安排定期執行或根據事件排程 (例如使用者每次開啟應用程式,或剛將商品加入購物車時)。

AppEngagePublishClient 負責發布叢集。

以下 API 可用於在用戶端發布叢集:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

這個 API 可用於檢查服務是否可供整合,以及內容是否能在裝置上顯示。

Kotlin

client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

Java

client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

這個 API 可用於發布 RecommendationCluster 物件清單。

Kotlin

client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

Java

client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

服務收到要求後,系統會在單一交易中執行以下動作:

  • 移除開發合作夥伴提供的現有 RecommendationCluster 資料。
  • 剖析要求所提供的資料並儲存在更新後的推薦叢集中。

如果發生錯誤,整個要求都會遭到拒絕,現有狀態則維持不變。

publishFeaturedCluster

這個 API 可用於發布 FeaturedCluster 物件清單。

Kotlin

client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

服務收到要求後,系統會在單一交易中執行以下動作:

  • 移除開發合作夥伴提供的現有 FeaturedCluster 資料。
  • 剖析要求所提供的資料並儲存在更新後的精選叢集中。

如果發生錯誤,整個要求都會遭到拒絕,現有狀態則維持不變。

publishContinuationCluster

這個 API 可用來發布 ContinuationCluster 物件。

Kotlin

client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

服務收到要求後,系統會在單一交易中執行以下動作:

  • 移除開發合作夥伴提供的現有 ContinuationCluster 資料。
  • 剖析要求所提供的資料並儲存在更新後的接續叢集中。

如果發生錯誤,整個要求都會遭到拒絕,現有狀態則維持不變。

publishUserAccountManagementRequest

這個 API 是用來發布「登入」資訊卡。登入動作會將使用者導向應用程式的登入頁面,方便應用程式發布內容 (或提供更個人化的內容)

登入資訊卡包含下列中繼資料:

屬性 必要性 說明
動作 URI 必要 導向動作的深層連結,也就是前往應用程式登入頁面
圖片 選用 - 如未提供,則必須提供標題

資訊卡上顯示的圖片

解析度 1264x712、顯示比例 16x9 的圖片

標題 選用 - 如未提供,則必須提供圖片 資訊卡上的標題
動作文字 選用 行動號召中顯示的文字,也就是「登入」
副標題 選用 資訊卡上的選用副標題

Kotlin

var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Java

SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

服務收到要求後,系統會在單一交易中執行以下動作:

  • 移除開發合作夥伴提供的現有 UserAccountManagementCluster 資料。
  • 剖析要求所提供的資料並儲存在更新後的 UserAccountManagementCluster 叢集中。

如果發生錯誤,整個要求都會遭到拒絕,現有狀態則維持不變。

updatePublishStatus

如基於內部業務原因,���發布任何叢集 強烈建議使用 updatePublishStatus API。這麼做很重要,因為:

  • 在所有情況下,提供狀態都至關重要,即使內容已發布 (STATUS == PUBLISHED) 也一樣。如此一來,才能為資訊主頁填入資料,並以明確的狀態表示整合項目的健康度和其他指標。
  • 如未發布內容,但整合狀態未遭中斷 (STATUS == NOT_PUBLISHED),Google 便可避免在應用程式健康資訊主頁中觸發快訊。這可從提供者的角度確認內容是因預期的情況而未發布。
  • 這有助開發人員深入瞭解資料何時發布和發布 而不是
  • Google 可使用狀態碼,提示使用者在 以便他們查看或克服應用程式內容。

以下為符合資格的發布狀態碼清單:

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

如果內容因使用者未登入而未發布,Google 建議您發布登入資訊卡如果供應商因故無法 發布登入資訊卡,建議您呼叫 含有狀態碼的 updatePublishStatus API NOT_PUBLISHED_REQUIRES_SIGN_IN

Kotlin

client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

Java

client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

這個 API 可用來刪除推薦叢集的內容。

Kotlin

client.deleteRecommendationClusters()

Java

client.deleteRecommendationClusters();

服務收到要求後,會從推薦叢集中移除現有資料。如果發生錯誤,整個要求都會遭到拒絕, 現有狀態維持不變

deleteFeaturedCluster

這個 API 可用來刪除精選叢集的內容。

Kotlin

client.deleteFeaturedCluster()

Java

client.deleteFeaturedCluster();

服務收到要求後,會從精選叢集中移除現有資料。如果發生錯誤,整個要求都會遭到拒絕,現有狀態則維持不變。

deleteContinuationCluster

這個 API 可用來刪除接續叢集的內容。

Kotlin

client.deleteContinuationCluster()

Java

client.deleteContinuationCluster();

服務收到要求後,會從接續叢集中移除現有資料。如果發生錯誤,整個要求都會遭到拒絕, 現有狀態維持不變

deleteUserManagementCluster

這個 API 可用來刪除 UserAccountManagement 叢集的內容。

Kotlin

client.deleteUserManagementCluster()

Java

client.deleteUserManagementCluster();

服務收到要求後,會從 UserAccountManagement 叢集中移除現有資料。如果發生錯誤,整個要求都會遭到拒絕,現有狀態則維持不變。

deleteClusters

這個 API 可用於刪除���定叢集類型的內容。

Kotlin

client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

Java

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

服務收到要求後,會從符合指定叢集類型的所有叢集中移除現有資料。用戶端可以選擇傳遞一或多個叢集類型。如果發生錯誤,整個要求都會遭到拒絕,現有狀態則維持不變。

處理錯誤

強烈建議您監聽來自發布 API 的工作結果,據以採取後續動作來復原及重新提交能順利執行的工作。

Kotlin

client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

Java

client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

發生錯誤時會傳回 AppEngageException,並提供原因的錯誤代碼。

錯誤代碼 附註
SERVICE_NOT_FOUND 這項服務不適用於指定裝置。
SERVICE_NOT_AVAILABLE 這項服務適用於指定裝置,但無法於呼叫期間使用 (例如服務已明確��用)。
SERVICE_CALL_EXECUTION_FAILURE 執行緒發生問題,因此工作執行失敗。在這種情況下,您可以重試。
SERVICE_CALL_PERMISSION_DENIED 呼叫端未獲准發出服務呼叫。
SERVICE_CALL_INVALID_ARGUMENT 要求包含無效的資料 (例如,超過允許的叢集數量上限)。
SERVICE_CALL_INTERNAL 服務端發生錯誤。
SERVICE_CALL_RESOURCE_EXHAUSTED 服務呼叫過於頻繁。

步驟 3:處理廣播意圖

除了透過工作發出發布內容 API 呼叫,您還需要設定 BroadcastReceiver 來接收內容發布要求。

廣播意圖的目標主要用於應用程式重新啟動及強制同步處理資料。廣播意圖的傳送頻率通常不高。觸發廣播意圖的唯一時機,就是 Engage Service 判定內容可能過時 (例如已滿一週)。這樣一來,即使應用程式已有長時間未執行,使用者也能獲得最新的內容體驗。

BroadcastReceiver 必須透過下列兩種方式進行設定:

  • 使用 Context.registerReceiver() 以動態方式註冊 BroadcastReceiver 類別的例項。這樣就能接收仍在記憶體中的應用程式訊息。

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))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

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));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • AndroidManifest.xml 檔案中使用 <receiver> 標記,以靜態方式宣告實作項目。這樣應用程式就能在未執行的狀態下接收廣播意圖,也能發布內容。
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      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>

服務會傳送下列意圖

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION (建議選項) 在收到此意圖時啟動 publishRecommendationClusters 呼叫。
  • com.google.android.engage.action.PUBLISH_FEATURED建議 在收到此意圖時啟動 publishFeaturedCluster 呼叫。
  • com.google.android.engage.action.PUBLISH_CONTINUATION建議 在收到此意圖時啟動 publishContinuationCluster 呼叫。

整合工作流程

如需整合完成後驗證作業的逐步指南,請參閱「Engage 開發人員整合工作流程」一文。

常見問題

請參閱「Engage SDK 常見問題」。

聯絡資訊

聯絡 engage-developers@google.com 都會遇到任何問題

後續步驟

完成這項整合後,後續步驟如下:

  • 傳送電子郵件給 engage-developers@google.com 和 上傳完成供 Google 測試的整合式 APK。
  • Google 會在內部執行驗證及審查,確認整合項目能夠正常運作。如果需要進行變更,Google 會與您聯絡並提供所有必要詳細資料。
  • 測試完成後,Google 會與您聯絡 通知您,您可以將完成整合的更新版 APK 發布至 Play 商店。
  • Google 確認您已將更新版 APK 發布至 Play 商店後,就會發布您的推薦精選接續叢集供使用者瀏覽。