0.0.2 • Published 3 years ago

onemedics-push-app-sdk-test v0.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

OneMedics Push App SDK

목차

  • 요약
  • 기능
  • 설치
  • 사용
  • 참조

1. 요약

FCM 으로 부터 Token 을 할당받고 Onemedics Module Push 서비스를 사용, 사용자를 등록 관리한다.

FCM

Firebase Cloud Messaging 의 줄임말.
Firebase 클라우드 메시징(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션입니다.

sequence diagram

이 프로젝트는 모바일(react-native) 에서 푸시 기능을 간편하게 만들수 있도록 SDK를 제공하는데 그 목적이 있습니다. 앱에 PushModule을 추가하려면 Firebase 콘솔의 프로젝트 등록이 선행되어야 합니다.

ios

NOTE: ios 푸시 서비스를 이용하기 위해 IOS Messaging Setup 이 필요합니다.

NOTE: Firebase를 iOS 앱에 추가하려면 먼저 iOS 앱에 연결할 Firebase 프로젝트를 만드세요.

android

NOTE: Firebase를 Android 앱에 추가하려면 먼저 Android 앱에 연결할 Firebase 프로젝트를 만드세요.

2. 기능

기능설명
registerPushToken()permission 체크 후 allow 상태라면 사용자를 등록하고 서버에 정보를 전달한다.
기능설명
getMessage().onMessagefcm 알림 메시지 message Listener
getMessage().onNotificationOpenedAppbackground 상태에서 푸시 클릭 시 불러오는 message Listener
getMessage().setbackgroundmessagehandlerbackground 상태의 푸시 messaging Listener (안드로이드에서만 사용)
기능value Type설명
setAccessToken(ACCESS_TOKEN)String세팅된 Access Token 정보를 업로드 한다.
기능value Type설명
modifyPermission(true/false)Boolean사용자의 푸시 수신권한을 변경한다
기능설명
deleteUser()registerPushToken 에서 받아온 userId값을 이용해 해당 사용자의 token값과 userInfo를 삭제한다.

3. 설치

3-1 npmrc 환경설정

[프로젝트] 폴더에 .npmrc 파일을 생성합니다. 다운받기 위한 레포지토리 설정을 합니다.

@onemedics:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=68d76b2af57014519ea34495aff776f10da084b5

3-2 다운로드

$ npm install @onemedics/push-app-sdk

4. 사용

4-1 초기 모듈 생성

onemedics-push-app module import :
import { PushAppModule, CoreModuleConfig } from '@onemedics/push-app-sdk';
const coreModuleConfig: CoreModuleConfig = {
  baseToken: 'OAUTH_ACCESS_TOKEN',
  url: 'PUSH_API URL',
  clientId: 'CLIENT_ID',
};

const pushAppModule = PushAppModule.getInstance(coreModuleConfig);

4-2. 모듈 사용

4-2-1. 로그인 후 토큰 및 리스너 등록

  • 모듈은 로그인 후 다음 순서를 통해 선언되어야 합니다.

    // 1. FCM 토큰 발급 및 서버에 토큰 등록하기
    PushAppModule.getInstance().registerPushToken();
    
    // 2. 알림 메시지 구독하기
    PushAppModule.getInstance().getMessage().onMessage((remoteMessage) => console.log(remoteMessage));
    
    PushAppModule.getInstance()
      .getMessage()
      .onNotificationOpenedApp((remoteMessage) =>{
       // remoteMessage data를 이용해 로드될 페이지를 설정 할 수 있다.
    });  
    
    //푸시서버 ApolloClient 엑세스토큰 세팅
      PushAppModule.getInstance().setAccessToken(`ACCESS_TOKEN`);

4-2-2. 권한 수정하기

  • 사용자가 권한 수정시 해당 호출을 통하여 서버에 저장된 사용유무를 변경합니다.
    PushAppModule.getInstance().modifyPermission(boolean);

4-2-3. 로그아웃시 토큰 지우기

  • 로그아웃시 해당 호출을 통하여 웹에 저장된 토큰을 제거합니다.
    PushAppModule.getInstance().deleteUser();

4-2-4. 알림 메시지 이력 확인하기

  • 수신된 푸시 알림 이력을 확인합니다.
    업데이트 예정입니다.

5. 참조

참고(https://rnfirebase.io/)

⬆ 위로가기