EPNS 백엔드 SDK를 사용하여 알림 보내기

5400 단어
GM 여러분 ✨

지난 튜토리얼에서 sending notifications from the EPNS dApp 의 전체 메커니즘을 시연했습니다. 브로드캐스트 알림을 보내는 데 매우 유용합니다. 그러나 대부분의 경우 사용자별 알림을 생성합니다.

그렇다면 동시에 여러 알림(수백, 수천 개의 규모)을 전달하려면 어떻게 해야 할까요?

대답은 매우 분명합니다. 이러한 맞춤형 알림을 전달하려면 dApp 백엔드를 활용해야 합니다. 백엔드에서 직접 알림을 보내기 위해 EPNS는 백엔드 SDK를 제공합니다. 이 SDK는 dApp에서 사용자에게 알림을 보내는 간단하고 구현하기 쉬운 JavaScript 라이브러리를 제공합니다.

오늘은 EPNS 백엔드 SDK를 사용하는 방법과 dApp에서 알림을 보내는 방법을 정확히 보여드리겠습니다. SDK는 매우 사용하기 쉽고 this GitHub repository에서 광범위하게 사용할 수 있습니다.

백엔드 SDK 설정



EPNS 백엔드 SDK를 사용하여 알림 전송을 시작하려면 먼저 npm 패키지를 설치해야 합니다. 이 작업을 수행하려면 노드 패키지 관리자가 설치되어 있어야 합니다.

터미널을 열고 다음 명령을 입력하십시오.

npm install @epnsproject/backend-sdk-staging


현재 스테이징 SDK를 사용하고 있습니다. Prod는 매우 유사하며 유일한 차이점은 실행 환경에 있습니다. 이미 채널을 생성했는지 확인하십시오. 그렇지 않은 경우 this tutorial을 확인하십시오.

SDK 초기화



백엔드 SDK 활용을 시작하려면 별도의 JavaScript 파일을 생성하는 것이 좋습니다. 이름을 "notify.js"로 지정하겠습니다. SDK를 초기화하기 전에 notify.js로 가져와 채널 개인 키를 가져와야 합니다.

이 코드 행을 사용하여 notify.js에서 SDK를 가져오십시오.

const EpnsSDK = require("@epnsproject/backend-sdk-staging").default;


채널과의 연결도 설정해야 합니다. 따라서 채널의 개인 키를 복사해야 합니다. 즉, 채널과 연결된 메타마스크 지갑의 개인키가 필요합니다. 문제가 발생하면 MetaMask 지갑this guide to fetch the private key을 확인하십시오.

개인 키가 있으면 개인 키 앞에 0x를 추가하고 이 행을 notify.js에 삽입하십시오.

const CHANNEL_PK = “0xPrivate_Key_Here”;


이제 EPNS 백엔드 SDK의 인스턴스를 생성할 수 있습니다. 이를 위해 아래 스니펫을 사용합니다.

const epnsSdk = new EpnsSDK(CHANNEL_PK);


알림 매개변수 추가



알림을 보내기 전에 알림 페이로드를 구성할 특정 매개변수가 필요합니다. 여기에는 알림 제목, 메시지, 클릭 유도 문안 링크 및 알림 유형이 포함됩니다.

일부 매개변수는 선택적입니다. 사용 가능한 전체 설명서here를 확인하고 필요에 따라 페이로드를 사용자 지정할 수 있습니다. 또한 types of notifications을 확인하는 것을 잊지 마십시오.

알림 유형과 해당 매개변수를 결정한 후 해당 값을 적절한 변수에 저장하고 sendNotification() 함수를 호출합니다.

다른 더미 계정 중 하나에 알림을 보내려고 시도했으며 수신자 주소 매개 변수에 해당 주소를 입력했습니다. 다음은 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


아래 스크린샷과 유사한 결과가 표시되고 지정된 수신자 주소로 알림이 전송됩니다.

이 자습서가 유용하다고 생각되면 소셜 서클에서 공유하십시오. 이는 커뮤니케이션의 미래를 구축하는 데 있어 우리의 범위를 확장하는 데 도움이 될 것입니다.

하위 그래프에서 생성된 알림을 보낼 수도 있다는 사실을 알고 계셨나요? 걱정하지 마세요. 다음 자습서에서 가장 간단한 방법으로 수행하는 방법을 보여 드리겠습니다.

그때까지 사요나라!

좋은 웹페이지 즐겨찾기