Pusherとは
WebSocketを使ってチャットアプリ等を実装するためのサービス。
Pusherを経由してWebhook, Rest APIを使うことでオンラインユーザへのメッセージの送信などが簡単にできます。
いろいろな言語でオフィシャルにクライアントライブラリが提供されていますが、Scalaはなかったので作ってみました。
使い方は簡単、
build.sbt
に以下を追加。
build.sbt
libraryDependencies += "com.github.dtaniwaki" %% "akka-pusher" % "x.y.z"
application.conf
に以下を追加。
application.conf
pusher {
appId=${?PUSHER_APP_ID}
key=${?PUHSER_API_KEY}
secret=${?PUSHER_API_SECRET}
}
importして実行。
import com.github.dtaniwaki.akka_pusher.PusherClient
val pusher = new PusherClient()
pusher.trigger("test_channel", "my_event", "hello world")
// Send the message to the connected users
pusher.shutdown()
試しに、Spray上にこのライブラリを使ったAPIサーバを実装してみました。
お試しあれ。