台灣主要的Chatbot平台之爭,大概就是LINE跟臉書了。兩邊都以很高的頻率在更新相關功能與開發SDK,這邊針對臉書最近更新的TAG與MESSAGING_TYPE做一些說明與紀錄。
真心話其實就是,他牛的改來改去搞得太複雜了,為了下次忘記的時候不用再找半天,決定把這次看完的結果做個紀錄。
進入正題,臉書的Chatbot到目前為止都沒有收費,算是頗佛心的。只是相對的,新建立的Chatbot只能讓開發者或設定好的測試員使用,所有功能的公開都需要經過權限申請與審核。過去主要的權限審核分為一般發送跟訂閱訊息這兩種等級,使用者與粉絲團最後一次訊息往來的24小時以內,Chatbot要發訊息給使用者都只需要一般發送權限,但是一但超過這個24小時期間,Chatbot就需要有訂閱訊息權限才能主動推播訊息給使用者。
可想而知,訂閱訊息權限比一般發送權限難申請很多,至少我申請過超過5組的一般發送權限,也幾乎都通過了,但卻從來沒有申請成功訂閱訊息權限過。
不過,這些現在變得更複雜了。
先講一下結論,現在的臉書機制允許不需要申請訂閱訊息的權限,Chatbot就能在一定的限制下發送訊息給超過24小時沒互動的使用者。這應該對很多開發者來說是個很令人高興的消息,但一般發送權限還是要記得申請,否則還是一樣只有開發者跟測試員才能收到訊息。
如果現在就讓Chatbot直接向已經超過24小時沒互動的使用者傳送訊息,你會發現是可以成功送出訊息的!但是別高興得太早,因為同樣的動作你可能無法進行第二次了。現在的臉書政策允許Chatbot對超過24無互動的使用者發送訊息,但僅限一則。這個規則被臉書稱為「24+1 policy」。
那要怎麼樣才能送出突破24+1 policy限制的訊息呢?這就關係到臉書Chatbot新增的TAG跟MESSAGING_TYPE這兩個新東西了。
MESSAGING_TYPE顧名思義就是訊息的種類,跟原本在訊息JSON格式中的type屬性不同,MESSAGING_TYPE比較像是訊息"發送目的"的類別。從2018年5月7日起,Chatbot在送出任何訊息時,都必須增加MESSAGING_TYPE屬性,否則不管是一般訊息還是訂閱訊息通通都送不出去。
MESSAGING_TYPE現在分為三種(2018/03/02):RESPONSE、UPDATE、MESSAGE_TAG,官方提供的說明連結在這邊。
如果Chatbot送出的訊息是在回應使用者送出的某一則訊息,那麼就算是RESPONS,例如回應使用者的餐廳訂位需求訊息;如果Chatbot送出的訊息並非針對使用者的任一則訊息或目的,那麼就算是UPDATE。
然而在使用上,RESPONSE跟UPDATE目前沒有差異,也都無法突破24+1 policy,也就是說等同於以往的一般發送訊息。不過看起來臉書的政策未來很有可能對這兩種訊息給予不同的規範(例如把RESPONSE類訊息的可回應時間縮到更短),所以最好開發時還是注意分類一下,不要偷懶就全部都標RESPONSE或UPDATE。
MESSAGE_TAG比較特別,也是唯一能夠不在24+1 policy規定內的訊息類別,但這類的訊息必須增加TAG屬性,用來說明這則訊息要傳達的目的類型,且不同的TAG有著不同的標註限制,不是想用就可以亂用的。這也就是一開始點出的「限制」。
TAG從可標註的訊息類別來說,大概分為三類:
- NON_PROMOTIONAL_SUBSCRIPTION
- 粉絲頁有申請並通過訂閱權限審核時(訂閱訊息的審核從APP移到粉絲頁→設定→Messenger Platform了),無論什麼類型的訊息都可以掛上這個TAG,然後開開心心的突破24+1 policy,根本無敵星。
- ISSUE_RESOLUTION
- 這個TAG只能接受Generic template類型以及純文字text類型的訊息,這是沒有申請訂閱權限能突破24+1 policy的最大寬容度了。
- 以上兩者之外其他的TAG
- 這些TAG都只能用在Generic template類型的訊息。臉書提供的TAG從「遊戲資訊更新」、「交通預約更新」到「帳號更新」等五花八門,加上屆由開發者所提供的建議會一直更新追加,需要時可以直接從列表中去尋找符合的TAG。
沒有留言 :
張貼留言