按鈕

大部分的訊息範本常駐選單可支援能執行不同類型動作的按鈕。這些按鈕可讓您輕易地為訊息接收者提供各種用於回應範本的動作,例如開啟 Messenger Webview、展開付款流程、傳送回傳訊息至 Webhook 等等。

若是訊息範本,按鈕是由 buttons 陣列中的物件所定義。若是常駐選單,按鈕是由 call_to_actions 陣列中的物件所定義。

網址按鈕

網址按鈕可在 Messenger Webview 開啟網頁。這樣您可以透過網站型體驗讓對話變得更加豐富,並可十分靈活地開發網頁。舉例來說,您可以在對話內展示產品摘要,接著使用「網址」按鈕在您的網站開啟完整的產品網頁。

如果網站包含應用程式連結,按鈕將啟動指定的原生應用程式。

Facebook 網絡爬蟲需要讀取應用程式連結中繼標籤,以便重新導向功能正常運作。請注意,如果您只在網站上執行了標籤,您可以使用分享偵錯工具要求新抓取。在網絡爬蟲抓取網站後,傳送的新網址按鈕應按照重新導向行為操作。

支援的使用方式

「網址」按鈕支援下列項目:

  • 常駐選單
  • 通用範本
  • 清單範本
  • 按鈕範本
  • 媒體範本

Messenger 擴充功能 SDK - 需要網域允許清單

如要在 Messenger WebView 中顯示啟用了 Messenger 擴充功能 SDK 的網頁,您必須Bot Messenger 個人檔案的 whitelisted_domains 屬性中將網域列入允許清單(包含子網域)。這樣可確保只有受信任的網域可以透過 SDK 函數存取可用的用戶資訊。

如要進一步了解如何將網域列入允許清單,請參閱 whitelisted_domains 參考資料

按鈕格式

請參閱網址按鈕參考資料,以查看按鈕屬性的完整清單。

{
  "type": "web_url",
  "url": "

回傳按鈕

回傳按鈕可連同 payload 屬性設定的字串,傳送 messaging_postbacks 事件至 Webhook。這樣您就可以在用戶點按按鈕後執行任意動作。例如您可以展示產品清單,然後在回傳中傳送產品編號至 webhook,可用來查詢資料庫並以結構化訊息回傳產品詳情。

支援的使用方式

「回傳」按鈕支援下列項目:

  • 常駐選單
  • 通用範本
  • 清單範本
  • 按鈕範本
  • 媒體範本

按鈕格式

請參閱回傳按鈕參考資料,以查看按鈕屬性的完整清單。

{
  "type": "postback",
  "title": "

致電按鈕

點按致電按鈕後即可撥打電話號碼。電話號碼的格式應為 +<COUNTRY_CODE><PHONE_NUMBER>,例如 +15105559999

支援的使用方式

「致電」按鈕支援下列項目:

  • 通用範本
  • 清單範本
  • 按鈕範本
  • 媒體範本

按鈕格式

請參閱致電按鈕參考資料,以查看按鈕屬性的完整清單。

{
  "type":"phone_number",
  "title":"

登入按鈕

登入按鈕可用於帳戶連結流程,此流程能讓您連結訊息傳送對象的 Messenger 身分與他們在您網站上的帳戶,方法是將他們導向您的網站登入身分驗證流程。

請參閱帳戶連結,以了解使用登入按鈕連結帳戶的詳情。

支援的使用方式

「登入」按鈕支援下列項目:

  • 通用範本
  • 清單範本
  • 按鈕範本
  • 媒體範本

按鈕格式

請參閱登入按鈕參考資料,以查看按鈕屬性的完整清單。

{
  "type": "account_link",
  "url": "

登出按鈕

登出按鈕可用於帳戶連結流程,此流程可取消訊息傳送對象的 Messenger 身分與他們在您網站上的帳戶之間的連結。

請參閱帳戶連結,以了解使用登出按鈕取消帳戶連結的詳情。

支援的使用方式

「登出」按鈕支援下列項目:

  • 通用範本
  • 清單範本
  • 按鈕範本
  • 媒體範本

按鈕格式

請參閱登出按鈕參考資料,以查看按鈕屬性的完整清單。

{
  "type": "account_unlink"
}

玩遊戲按鈕

玩遊戲按鈕可啟動與您的 Facebook 專頁連結的即時遊戲。若要自訂遊戲的開啟方式,您可以在要求中設定 payload 屬性,系統會在遊戲啟動時傳送此要求至遊戲;另外也可選用 game_metadata.player_idgame_metadata.context_id 屬性,這些屬性能讓您的 Bot 為單一玩家或現有群組在特定情況下展開遊戲。

按鈕格式

payload 屬性應為序列化的 JSON。即時遊戲 SDK 會還原序列化。

請參閱「玩遊戲」按鈕參考資料,以查看按鈕屬性的完整清單。

{
  "type":"game_play",
  "title":"Play",
  "payload":"{<SERIALIZED_JSON_PAYLOAD>}",
  "game_metadata": { // Only one of the below
    "player_id": "<PLAYER_ID>",
    "context_id": "<CONTEXT_ID>"
  }
}

請參考「玩遊戲」Webhook 事件,以了解用戶完成遊戲回合時傳送至 Bot 的事件。

最佳操作實例

使用按鈕配搭特定訊息來提示後續或進一步的互動。

請以動詞起頭以幫助用戶了解他們要採取的動作。

針對您希望用戶在網站上完成的任務(例如:購買、帳戶連結等等),請使用網址按鈕來操作。清楚說明您將要把用戶導向 Messenger 以外的地方。

請於用戶點按回呼按鈕後傳送回應。此舉可確認您已處理或完成用戶的動作(例如:取消訂位、回答問題)。

當用戶的動作取決的 Bot 的當前狀態時,請勿使用按鈕,因為按鈕會一直存在於對話串中。

請避免使用超過 1 至 3 個字或使用標點符號。請嘗試將文字維持在 20 個字元內(包含空格)。

請避免全部使用網址導向的按鈕。如果您在 Messenger 上建立更多元的互動模式,就能打造出更順暢的體驗效果。

請避免使用單一的回呼按鈕。如果只能選擇一個按鈕,用戶通常會認為這是訊息文字的延續說明,而不了解這是您希望他們採取的動作。