0.0.64 • Published 3 years ago

onemedics-push-web-test v0.0.64

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

OneMedics Push Web SDK

목차

1. 요약

이 프로젝트는 웹에서 푸시 기능을 간편하게 만들수 있도록 SDK를 제공하는데 그 목적이 있습니다.

2. 기능

기능설명
OnMessage(nextOrObserver)포그라운드 메시지 처리
기능설명
setAccessToken(ACCESS_TOKEN)푸시서버 인증 토큰 설정하기
기능설명
registerPushToken()권한체크 후 토큰 생성 및 서버 저장 처리
기능설명
modifyPermission(BOOLEAN)권한수정 요청하기
기능설명
resetPushToken()로그아웃시 푸시 토큰 초기화

3. 설치

$ npm install onemedics-push-web

모듈을 설치하면 두개의 파일이 [프로젝트/public] 폴더에 추가됩니다.

3-1. 기본 설정 파일

pushWebConfig.json

기본 firebase 및 푸시서버에 연결하기 위한 config 내용이 담긴 파일입니다. firebaseConfig에 대한 자세한 사항은 firebase js 세팅 를 통해 확인하시면 됩니다.

{
  "firebaseConfig": {
    "apiKey": "api-key",
    "authDomain": "project-id.firebaseapp.com",
    "databaseURL": "https://project-id.firebaseio.com",
    "projectId": "project-id",
    "storageBucket": "project-id.appspot.com",
    "messagingSenderId": "sender-id",
    "appId": "app-id",
    "measurementId": "G-measurement-id"
  },
  "coreModuleConfig": {
    "url": "push-url",
    "clientId": "client-id"
  }
}

firebase-messaging-sw.js

화면이 비활성화된 상태에서 알림을 받기위해 선언합니다. onBackgroundMessage 내부 함수를 변경하여 알림수정이 가능합니다.

...
messaging.onBackgroundMessage((payload) => {
  /**
   * 해당 위치에서 알림 내용을 수정 가능합니다.
   */
  const notificationTitle = payload.notification.title;
  const notificationOptions = {
    body: payload.notification.body,
    icon: 'icon 경로',
  };

  self.registration.showNotification(notificationTitle??'알림',
    notificationOptions);
});
...

index.tsx

모듈은 firebase에 대한 초기 설정을 해야합니다.

import { PushWebModule } from 'onemedics-push-web';

PushWebModule.getInstance();

## 4. 사용

### 4-1. 모듈 사용

### 4-1-1. 로그인 후 토큰 및 리스너 등록
> 모듈은 로그인 후 다음 순서를 통해 선언되어야 합니다.
```typescript
import { PushWebModule } from 'onemedics-push-web';

//1. 푸시서버 엑세스 토큰 세팅
PushWebModule.getInstance().setAccessToken('ACCESS_TOKEN');
//2. FCM 토큰 발급 및 서버에 토큰 등록하기
PushWebModule.getInstance().registerPushToken()
  .then(pushToken=>{
    /* fcmtoken */
  });
//3. 알림 메시지 구독하기
PushWebModule.getInstance().onMessage((payload)=>{
  /**
   * 해당 위치에서 알림 내용을 수정 가능합니다.
   */
  const notificationTitle = payload.notification.title;
  const notificationOptions = {
    body: payload.notification.body,
    icon: '/icon-dosoo.png'
  };
});

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

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

import { PushWebModule } from 'onemedics-push-web';

PushWebModule.getInstance().modifyPermission(boolean) .then(booleanResult=>{ / success or fail / });

### 4-1-3. 로그아웃시 푸시 토큰 초기화
> 로그아웃시 해당 호출을 통하여 웹에 저장된 토큰을 제거합니다.
```typescript
import { PushWebModule } from 'onemedics-push-web';

PushWebModule.getInstance().resetPushToken();

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

사용자가 자신에게 왔던 알림 이력을 확인합니다.

추가 예정입니다.

5. 참조

참고(https://firebase.google.com/docs/web/setup?hl=ko)

참고(https://firebase.google.com/docs/cloud-messaging/js/receive?hl=ko)

참고(https://graphql.org/learn/)

참고(https://www.apollographql.com/docs/)

⬆ 위로가기

0.0.62

3 years ago

0.0.63

3 years ago

0.0.64

3 years ago

0.0.60

3 years ago

0.0.61

3 years ago

0.0.59

3 years ago

0.0.57

3 years ago

0.0.58

3 years ago

0.0.52

3 years ago

0.0.53

3 years ago

0.0.54

3 years ago

0.0.55

3 years ago

0.0.56

3 years ago

0.0.42

3 years ago

0.0.43

3 years ago

0.0.44

3 years ago

0.0.45

3 years ago

0.0.46

3 years ago

0.0.51

3 years ago

0.0.50

3 years ago

0.0.48

3 years ago

0.0.49

3 years ago

0.0.40

3 years ago

0.0.41

3 years ago

0.0.30

3 years ago

0.0.31

3 years ago

0.0.32

3 years ago

0.0.33

3 years ago

0.0.34

3 years ago

0.0.35

3 years ago

0.0.36

3 years ago

0.0.37

3 years ago

0.0.38

3 years ago

0.0.39

3 years ago

0.0.26

3 years ago

0.0.27

3 years ago

0.0.28

3 years ago

0.0.29

3 years ago

0.0.20

3 years ago

0.0.21

3 years ago

0.0.22

3 years ago

0.0.19

3 years ago

0.0.14

3 years ago

0.0.15

3 years ago

0.0.17

3 years ago

0.0.18

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago