View 的使用說明

在 view 當中,你可以根據不同的通訊平台,去製作對應的回覆內容。

Kamigo 會根據目前的平台,選擇對應的 render format,以 LINE 來說就會是 .line。

由於 Kamigo 目前只支援 LINE 通訊平台,因此目前只有 .line 可以使用。

舉例來說,如果你在 config/routes.rb 寫入以下程式:

get "目錄", to: 'home#index'

而且你有 app/controllers/home_controller 內容如下:

class HomeController < ApplicationController
end

即表示你應該要在 app/views/home/index.line 或者 app/views/home/index.line.erb 或者 app/views/home/index.line.jbuilder 來寫你的回覆訊息。

比方說,你可以在 app/views/home/index.line 輸入以下訊息:

{
  "type": "text",
  "text": "Hello, world"
}

或者你可以在 app/views/home/index.line.erb 輸入以下訊息:

<%= raw {
  type: "text",
  text: "Hello, world"
}.to_json %>

或者你可以在 app/views/home/index.line.jbuilder 輸入以下訊息:

json.type "text"
json.text "Hello, world"

最終都會產生出一樣的 json,也就是 LINE Messaging API 所要求的格式:

{
  "type": "text",
  "text": "Hello, world"
}

使用 Flex Message

LINE Messaging API 提供了一種訊息格式,稱為 Flex Message

你可以使用 Kamiflex 來快速生成 Flex Message。

目前在 view 當中使用 Kamiflex 的方法是使用 erb,比方說在 app/views/home/index.line.erb 輸入以下程式碼:

<%= raw(Kamiflex.build(self) do
  bubble do
    body do
      horizontal_box do
        text "Hello, world"
      end
    end
  end
end )%>

更多的 Kamiflex 使用說明

使用 LIFF

更換 LIFF Size

使用 liff_path 方法時,新增指定參數 liff_size

<%= liff_path(path: new_todo_path, liff_size: :compact) %>
<%= liff_path(path: new_todo_path, liff_size: :tall) %>
<%= liff_path(path: new_todo_path, liff_size: :full) %>

results matching ""

    No results matching ""