PUSH SDK provides an abstraction layer to integrate PUSH protocol features with your Frontend as well as Backend
Subscribe (opt-in) / Unsubscribe (opt-out)
Build PUSH features into their dApps
Enable Access to Push Nodes APIs
Render Default Notifications UI, etc
It is written in Typescript and supports React, React Native, Plain JS, and Node JS-based platforms. (We are adding support for more!).
It is also built on top of standard Web3 packages like ethers, @web3-react
PUSH SDK Features
A brief glance at the most imperative features of PUSH SDK along with the associated package and target platform.
Send notification to user(s) from a channel.
Opting to a Channel
Subscribe to a channel
Opting out of a Channel
Unsubscribe to a channel
Get all the notifications for a user address
Get all the spam notifications for a user address
UI React Component to display a notification item.
Fetch User Subscriptions
Get list of all the channels a user has subscribed.
Fetch Channel Details
Get channel details for a specific channel address
Search for channel(s)
Query for channel(s) using a keyword
UI React Native Component to display a notification item
UI JS based sidebar modal to display notifications of a user in a dapp.
Note: It must be noted that the PUSH SDK uses the CAIP format as of now, in order to provide a chain-agnostic protocol for communication between dapps or wallets.
PUSH SDK uses CAIP10 format but defaults to Ethereum address format, CAIP 10 format is a way to identify multichain addresses which is extended from CAIP 2. Any blockchain address becomes namespace + “:” + chain_id + “:” + account_address.
However, as we expand our boundaries to multiple chains in the future, we shall define our own specifications, if need be.
More details about this are in the @epnsproject/sdk-restapi.