본문 바로가기
프로그램/스프링

[PWA] 자바로 pwa push 알림 기능 개발하기(5)

by cbwstar 2021. 8. 2.
728x90
반응형

resource폴더에 pwa.properties 파일을 생성후에

 

publicKey = BNzzfdcBcThU27FcGve6F3GF6He2Fro82ZMuOLga9fukatLMlaKB6GdO-82loi6W4iGdPQZAp_4HLgST8z5of_E
privateKey = yzZ8xvvhiM50HlTsDLCwiofkCyOypb-ZTkqdvpwyz7c


publicKey와 privateKey를 입력한다. 이키는 pwa에서 push 알림을 보낼때 사용되는 공개키와 비밀키이다. 키는 이 프로젝트가 끝날때즘 새로운 키를 생성해야 한다. privateKey는 공개 되어서는 안되는 키이다.

제대로 따라 했다면 resource 폴더가 위와 같은 그림이 되어야 한다.

build.gradle 파일을 열어서 push 기능을 만들기 위해 의존성 라이브러리를 몇개 추가 하자

implementation group: 'nl.martijndwars', name: 'web-push', version: '5.1.1'
implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.68'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.3'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.12.3'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.12.3'
implementation group: 'com.github.gavlyukovskiy', name: 'p6spy-spring-boot-starter', version: '1.7.1'


web-push'
version: '5.1.1' : web-push 를 사용할수 있게 해주는 lib다

'bcprov-jdk15on', version: '1.68' : security 보안 관련 lib다

com.fasterxml.jackson.core : json 형식으로 변환해 주는 lib다

p6spy-spring-boot-starter : 쿼리 로그 찍힐때 파라미터 정보를 출력하게 해준다.

 

build.gradle 전체 셋팅 파일

plugins {
        id 'org.springframework.boot' version '2.5.3'
        id 'io.spring.dependency-management' version '1.0.11.RELEASE'
        id 'java'
}

group = 'pwa-push'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
        compileOnly {
                extendsFrom annotationProcessor
        }
}

repositories {
        mavenCentral()
}

dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
        implementation 'org.springframework.boot:spring-boot-starter-web'
        implementation group: 'nl.martijndwars', name: 'web-push', version: '5.1.1'
   implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.68'
   implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.3'
        implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.12.3'
   implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.12.3'
   implementation group: 'com.github.gavlyukovskiy', name: 'p6spy-spring-boot-starter', version: '1.7.1'
        compileOnly 'org.projectlombok:lombok'
        developmentOnly 'org.springframework.boot:spring-boot-devtools'
        runtimeOnly 'com.h2database:h2'
        annotationProcessor 'org.projectlombok:lombok'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
        useJUnitPlatform()
     }

 

728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading