아아오닉, 파이어베이스 네이티브 푸시 개발

Ionic Native 플러그인 설치

1
2
$ ionic cordova plugin add phonegap-plugin-push
$ npm install --save @ionic-native/push

사용방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { Push, PushObject, PushOptions } from '@ionic-native/push';

constructor(private push: Push) { }

...


// to check if we have permission
this.push.hasPermission()
.then((res: any) => {

if (res.isEnabled) {
console.log('We have permission to send push notifications');
} else {
console.log('We do not have permission to send push notifications');
}

});

// to initialize push notifications

const options: PushOptions = {
android: {},
ios: {
alert: 'true',
badge: true,
sound: 'false'
},
windows: {},
browser: {
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
}
};

const pushObject: PushObject = this.push.init(options);

pushObject.on('notification').subscribe((notification: any) => console.log('Received a notification', notification));

pushObject.on('registration').subscribe((registration: any) => console.log('Device registered', registration));

pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error));

Ionic 안드로이드 푸시 설정

  • firebase - 프로젝트 설정 - 안드로이드 앱 추가 - google-services.json 다운로드 후 프로젝트 root에 복사

  • config.xml에서 android에 resource-file 추가

    1
    2
    3
    4
    <platform name="android">
    ...
    <resource-file src="google-services.json" target="google-services.json" />
    </platform>

reference