Popularity
4.9
Growing
Activity
0.0
Stable
25
3
18
Monthly Downloads: 8,184
Programming language: Elixir
License: MIT License
Tags:
Third Party APIs
Latest version: v2.2.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 -
airbrake
An Elixir notifier to the Airbrake/Errbit. System-wide error reporting enriched with the information from Plug and Phoenix channels.
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Promo
workos.com
Do you think we are missing an alternative of pusher or a related project?
Popular Comparisons
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