Gm folks ✨
В своем последнем руководстве я продемонстрировал полный механизм отправки уведомлений из EPNS dApp. Это очень полезно для рассылки широковещательных уведомлений. Однако чаще всего мы генерируем уведомления для конкретного пользователя.
Как же доставить множество уведомлений (в масштабе сотен и тысяч) одновременно?
Ответ практически очевиден. Вы должны использовать бэкенд вашего dApp для доставки этих пользовательских уведомлений. Для отправки уведомлений непосредственно из вашего бэкенда EPNS предоставляет вам SDK для бэкенда. Этот SDK предоставляет простую и легко реализуемую библиотеку JavaScript для отправки уведомлений из вашего dApp пользователям.
Сегодня я покажу вам, как использовать EPNS backend SDK и отправлять уведомления из вашего dApp. SDK очень прост в использовании и широко доступен на этом репозитории GitHub.
Настройка SDK для бэкенда
Чтобы начать отправку уведомлений с помощью EPNS backend SDK, вам сначала нужно установить его пакет npm. Для выполнения этой задачи у вас должен быть установлен менеджер пакетов Node.
Откройте терминал и введите следующую команду:
npm install @epnsproject/backend-sdk-staging
Пока что мы используем Staging SDK. Prod очень похож, единственное различие заключается в средах выполнения. Убедитесь, что вы уже создали канал. Если вы этого не сделали, ознакомьтесь с этим руководством.
Инициализация SDK
Чтобы начать использовать Backend SDK, я рекомендую вам создать отдельный файл JavaScript. Назовем его «notify.js». Перед инициализацией SDK мы должны импортировать его в notify.js и получить закрытый ключ нашего канала.
Импортируйте SDK в файл notify.js с помощью этой строки кода.
const EpnsSDK = require("@epnsproject/backend-sdk-staging").default;
Помните, что нам также необходимо установить соединение с нашим каналом. Поэтому вам нужно скопировать закрытый ключ вашего канала. Другими словами, вам нужен закрытый ключ кошелька MetaMask, который привязан к вашему каналу. Если у вас возникли трудности, ознакомьтесь с этим руководством по получению закрытого ключа вашего кошелька MetaMask.
Как только вы получили приватный ключ, добавьте 0x к вашему приватному ключу и вставьте эту строку в файл notify.js
const CHANNEL_PK = “0xPrivate_Key_Here”;
Теперь мы можем создать экземпляр EPNS backend SDK. Для этого мы воспользуемся приведенным ниже фрагментом:
const epnsSdk = new EpnsSDK(CHANNEL_PK);
Добавление параметров уведомления
Перед отправкой любого уведомления нам потребуются определенные параметры, которые будут формировать полезную нагрузку уведомления. К ним относятся заголовок уведомления, сообщение, ссылка на призыв к действию и тип уведомления.
Некоторые из параметров являются необязательными. Вы можете ознакомиться с полной документацией, доступной здесь, и настроить полезную нагрузку в соответствии с вашими потребностями. Также не забудьте ознакомиться с типами уведомлений.
Как только вы определитесь с типом уведомления и его параметрами, сохраните их значения в соответствующих переменных и вызовите функцию sendNotification().
Я попробовал отправить уведомление на один из моих других фиктивных аккаунтов и ввел его адрес в параметр recipientAddress. Вот общий фрагмент кода после импорта SDK и вставки параметров:
// import required packages
const EpnsSDK = require("@epnsproject/backend-sdk-staging").default;
// connecting to the channel using the private key
const CHANNEL_PK = "0x4968b4cd6ea60a132cdef893320c11f9febd374ae3ccf0ede7820668a431acb8"; // the private key of the channel
(async function Main() {
// initialise the sdk
const epnsSdk = new EpnsSDK(CHANNEL_PK);
const pushNotificationTitle = "Hello There!"; //the title which would appear in a push notification
const pushNotificationBody = "Welcome to EPNS"; //the body which would be displayed in a push notification
const notificationTitle = "Hello From EPNS"; //the long version of the title which would be displayed in the dApp
const notificationBody = `Welcome to EPNS, we are glad to have you onboard`; // the long version of the body to be displayed in the dApp
const recipientAddress = "0x5b22A6D95EDe615a263BC8e6cD214947c9873133";
const CTA = "https://epns.io"; // the link to be used as your CTA
const notificationType = 3; // a notification type of 3, means the notification is a direct message to the specified recipient
// send the actual notification
const response = await epnsSdk.sendNotification(
recipientAddress, //the recipient of the notification
pushNotificationTitle, //push notification title
pushNotificationBody, //push notification body
notificationTitle, //the title of the notification
notificationBody, //the body of the notification
notificationType, //notification type
CTA); //the CTA link of the notification
console.log({
response,
message: "Your notification has been successfully sent"
});
})();
Сохраните этот файл как notify.js и откройте терминал. Перейдите в каталог этого файла и выполните следующую команду:
node notify.js
Вы увидите результат, аналогичный показанному на скриншоте ниже, и ваше уведомление будет отправлено на указанный адрес получателя.
Если вы нашли это руководство полезным, пожалуйста, поделитесь им в своих социальных кругах. Это поможет нам расширить наш охват в построении будущего коммуникаций.
Знаете ли вы, что можно также отправлять уведомления, созданные на основе подграфа? Не беспокойтесь, я покажу вам, как это сделать самым простым способом в следующем уроке.
До тех пор, Сайонара!