内容简介:上週五去參加了 Line 的技術者聚會活動,也同時聽到如何透過 Line Beacon 來跟 Line Bot 結合.於是決定把整個官方範例串接起來,並且將整個流程寫的更容易了解.
前言
上週五去參加了 Line 的技術者聚會活動,也同時聽到如何透過 Line Beacon 來跟 Line Bot 結合.於是決定把整個官方範例串接起來,並且將整個流程寫的更容易了解.
LineBot Beacon 流程
在這個流程圖裡面,你可以看到整個流程有一點小複雜:
- 首先使用者的手機接受到 Beacon 的訊號後,手機會將藍牙訊號傳送到 Line App
- Line App 收到後,發送 Beacon hardware ID 給 Line Server
- Line Server 根據 hardware ID 轉發給相關的 Line Bot (也附上該使用者的 token)
- 這時候 Line Bot Webhook 就會收到使用者發送一個 beacon 的 event
- 跟據不同 Beacon ID 跟 Event (Enter/Leave) 來定義不同的反應方式
根據這樣的流程,可以知道以下幾件事情:
- Beacon 的控制的事情其實有限 (Enter/Leave)
- Beacon event 本身提供訊息也只有以下的部分
string Msg //beacon string string type //beacon type string hardware ID //beacon hardware ID to determine b
根據這些訊息,其實還是能做出很多有趣的運用就要看各位如何發揮想像力.
沒有 LineBeacon 可以測試? 先試試看官方 nodejs 範例
node 10 的 MacOSX 藍芽上似乎有問題
先來透過官方範例來看看,結果似乎有點問題 (20180825):
internal/modules/cjs/loader.js:583 throw err; ^ Error: Cannot find module 'xpc-connection' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15) at Function.Module._load (internal/modules/cjs/loader.js:507:25) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:20:18) at Object.<anonymous> (/Users/Evan/src/go/src/github.com/kkdai/line-simple-beacon/tools/line-simplebeacon-nodejs-sample/node_modules/bleno/lib/mac/highsierra.js:10:21) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3)
跟工程師討論的結果,似乎 node10 再 xpc-connection (也就是要跑 mac 藍牙的這個部分) 所以可能還是要使用 node8 是比較穩定的.
那來幫 nodejs 降版吧
如果你跟我一樣使用 Homebrew 作為套件的管理系統,那麼從 node10 降板到 node8 的方式如下.
brew uninstall //uninstall node10 brew install <a href="/cdn-cgi/l/email-protection" data-cfemail="3b55545f5e7b03">[email protected]</a> //install node8
這裡要注意,如果以之前有透過 npm 安裝的部分.最好砍掉重新安裝比較穩定.
Line Beacon 綁定在 Line Bot 上
首先先到 [email protected] Manager 來建立開發者帳號 (developer trial) 的 Beacon Hardware ID
記得要將你的號碼掛在你需要附屬的 Line Bot 上面.
LineBot 上面的相關修改
你必須要在你的相對應的 LineBot 上面做了以下的修改,才能讓你的 LineBot 在收到 Line Beacon 訊息的時候給予適當的提醒.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。