Popularity
4.8
Stable
Activity
2.6
-
27
1
18
Monthly Downloads: 2,459
Programming language: Elixir
License:
Tags:
Third Party APIs
Latest version: v2.5.0
pusher alternatives and similar packages
Based on the "Third Party APIs" category.
Alternatively, view pusher alternatives based on common mentions on social networks and blogs.
-
MongoosePush
MongoosePush is a simple Elixir RESTful service allowing to send push notification via FCM and/or APNS. -
cashier
Cashier is an Elixir library that aims to be an easy to use payment gateway, whilst offering the fault tolerance and scalability benefits of being built on top of Erlang/OTP
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Promo
www.saashub.com
Do you think we are missing an alternative of pusher or a related project?
README
Pusher

Description
Elixir library to access the Pusher REST API.
Usage
Rest client
Define your Pusher.Client
ciient = %Pusher.Client{app_id: "app_id", app_key: "app_key", secret: "my_secret"}
ciient = %Pusher.Client{endpoint: "https://my_custom_pusher:8080", app_id: "app_id", app_key: "app_key", secret: "my_secret"}
Pusher.trigger(client, "message", %{ text: "Hello!" }, "chat-channel")
To get occupied channels:
Pusher.channels(client)
To get users connected to a presence channel
Pusher.users(client, "presence-demo")
Websocket client
Usage
iex> {:ok, pid} = Pusher.WS.start_link("ws://localhost:8080", "app_key", "secret", stream_to: self)
{:ok, #PID<0.134.0>}
iex> Pusher.WS.subscribe!(pid, "channel")
:ok
iex> Pusher.WS.subscribe!(pid, "presence-channel", %PusherClient.User{id: "123", info: %{a: "b"}})
:ok
# self will receive messages like this:
%{channel: nil,
data: %{"activity_timeout" => 120,
"socket_id" => "b388664a-3278-11e4-90df-7831c1bf9520"},
event: "pusher:connection_established"}
%{channel: "channel", data: %{}, event: "pusher:subscription_succeeded"}
That's it!
You can disconnect too:
iex> Pusher.WS.disconnect!(pid)
:stop