2019-01-19

Dino Line@ API System Version 2.0 Demo

以下文章為 Demo 影片的備忘搞,可以直接觀看影片:
https://youtu.be/ovm9YfX8Z4k  (建議使用 1.5x 倍速播放)

今天要來跟大家介紹最近在開發的 Line@ 生活圈 Message API 系統
有在接觸 Chat BOT 聊天機器人或是訊息傳遞行銷的人應該知道這是什麼,就不多做解釋,今天只對於我開發中的系統作介紹

首先來瞭解一下 Line@ 生活圈的方案

最便宜的方案每個月 798,可以用廣播訊息和一對一聊天功能,沒有分眾群發訊息的功能
當然如果多付一點錢的話你可以有目標群眾的群發功能
但是只能依照 Line 官方提供的性別、年齡層、手機系統是 Android 或 iOS、職業等等來分類
不能依照自己經營的情況將用戶分組
http://at-blog.line.me/tw/feature/targetingmessage-sp.html

如果你想要經營一種有區分會員等級之類的平台,當你要發訊息給某特定 100 個人的時候
你就必須要用一對一交談功能發 100 次,萬一你想發訊息又想發圖片的話,就得發 200 次,因為文字訊息跟圖片訊息得分開發
那你如果發現剛剛的訊息需要更正或補充的話,就要再發 100 次
http://at-blog.line.me/tw/messaging_api_intro

如果你想要自訂群組的話,就一定要改用 API 方案自己寫程式,且一旦啟用 Line@ 的 API 模式,就再也回不去了,不能再透過 Line@ 官方後臺發訊息
所以你得先擷取用戶的 uID 與名字、自己建立資料庫,然後還要能撰寫整個訊息流程的程式才能發訊息
(切換網頁回方案介紹、往下拉到注意,在切換網頁到 Push/Reply API)
雖然這是可以理解的,但是真得非常不方便
為什麼說可以理解呢?因為如果 Line@ 官方後臺可以用,你又可以自己透過 API 收發訊息的話
那 Line@ 官方的系統要把用戶的訊息丟給他自己的系統還是你的系統?兩者都發的話訊息量就變成兩倍
雖然說技術上沒有不可行,但總之 Line 官方不給這個方便
https://help2.line.me/line_at_application/web/categoryId/10001844/

以上就是我開發 Line@ 生活圈 Message API 系統的原因
首先可以到我的部落格看一下之前的開發經歷,Google 搜尋 Dino9021 Line@ 就可以找到
在 2018 年 9 月的時候簡單寫了一個很簡陋的 Version 1
https://www.youtube.com/watch?v=WMxAfTTk4Wg

當時還在用古代的方法,讓客戶端定時 Refresh 的方式來更新聊天室內容,到 2018 年 11 月的時候才又將整個引擎改寫
利用 Google 的 Firebase Cloud Messaging (簡稱FCM) 來 Push 訊息到客戶端,這樣比較即時,又可以節省定時向 Server 發出 Request 造成的頻寬與效能瓶頸
(切到 Lineat.thbs.net 後台)
此外也將前台介面重新設計,儘量跟官方 Line@ 的一對一聊天介面一樣

其實整個開發的動機很單純只有一個:要做客訂群發的功能
那現在就來看一下我開發的系統目前的功能情況
首先可以看到三個用戶,包含我自己、一個測試帳號、以及 Line 官方測試帳號
切換到群組頁籤有一個測試群組
因為開發者帳號可以用 Push API, 所以接下來的 Demo 中,從 Line@ 帳號發給用戶的訊息全部都是透過 Push API 來運作
而用戶傳給 Line@ 的訊息則是透過 Google Firebase Cloud Messaging 來傳遞
實際運作流程是這樣子


Line@ 最便宜一個月 798 的入門版不能被加入群組,但 API 方案可以
所以除了一對一聊天室以外,我還有做到多人聊天室、聊天群組的功能

接下來就實際 Demo 最簡單的一對一聊天
文字訊息來回
貼圖
圖片 (剪貼簿、拖曳、選檔)
音檔 (拖曳、選檔)
影片 (拖曳、選檔)

接下來是釘選功能,我的作法是跟 Line@ 官方一對一介面一樣,把人加入另一個頁籤
因為 API 方案可以被加入群組,所以我連群組也可以釘選

接下來是開發這個系統的初衷,也是最初的目的:群發功能
為了要做到群發功能,就得先把前面所有的基本功能全部都做出來,因為群發功能是架構在這些基本功能上面的
群發功能為了跟群組用詞區別,所以我稱它為 Club
可以把人或群組加入,訊息可以只貼一次就發給所有 Club 中的人及群組
群組後面的日期設計成這個人加入這個 Club 的到期日,時間過了之後這個 Club 的訊息就不會再發給他
目前這個功能還沒寫好
那接下來就以發最簡單的文字及貼圖來 Demo 群發功能

以上就是目前所有開發完成的功能,還會繼續開發各種訊息模組、以及自動應答等功能
讓這個系統不只是取代原本的手動聊天,還能實際運用 Message API 的功能達到應答機器人的功能

最後簡單帶一下頻道設定的部份,我也把它寫成後台,如此一來這個系統就能給任何人自行註冊使用
讓不會寫程式的人也能輕鬆建置自己的機器人
其中我還設計了一個 Forwarder 的功能,結合上面的 Club 群發機制
我想將額外的 Line@ 帳號加入這個系統,並將他與某個頻道的某個 Club 連結
這樣我在一般的 Line App 上面只要把訊息發給這個 Forwarder ,他就會自動轉發到指定的 Club 去
類似這樣的概念

整個系統開發完成我預估至少還要一年
因為我只有一個人,也不是每天專職再開發這個。
如果你對這個系統有興趣,無論是有興趣用或有興趣加入開發,都歡迎與我聯絡

沒有留言:

張貼留言