아무나 빌려가세요
flutter push알림 oneSignal 적용 (1) 본문
푸쉬알림은 파이어베이스에 제공하는 방법도 있지만 oneSignal이 훨씬 적용하기 쉬운것같아 글을 쓴다.
1. 먼저 https://app.onesignal.com/apps 에 접속해 회원가입을하고 푸쉬알림을 적용하고자 하는 앱을 만든다.
2. 상단 Settings 클릭후 NATIVE APP Platform 에서 구글과 애플 항목을 활성화 한다. (애플은 p.12파일 필요, 구글은 파이어베이스의 serverkey가 필요하다.
3. https://pub.dev/packages/onesignal_flutter
[onesignal_flutter | Flutter Package
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your flutter app with OneSignal
pub.dev](https://pub.dev/packages/onesignal_flutter)
패키지를 설치한다.
4. flutter에 기기를 등록할 함수를 만든다.
앱아이디를 등록해야 하는데 앱아이디는 이곳에서 확인할 수 있다.
static Future<void\> initPlatform() async {
await OneSignal.shared.setAppId("app id");
//알림 허가 창 띄우기(ios에선 안드로이드와 달리 허가를 눌러야만 구독이 된다.
await OneSignal.shared
.promptUserForPushNotificationPermission()
.then((accepted) {
print("Accepted permission: $accepted");
});
await OneSignal.shared.getDeviceState().then(
(value) => {
print('::::: one signal :::: ${value!.userId}'),
},
);
//등록이 성공하면 userId를 얻을 수있다.
}
// main.dart에서 홈에 해당하는 클래스에 함수를 적용한다.
@override
void initState() {
PushNotificationAPI.initPlatform();
super.initState();
}
기기에서 접속하면 userId가 뜨는것을 확인 할 수 있고 홈페이지 상단탭의 Messages에서 테스트 해볼 수 있다.
알람이 가려면 구독이 되어야 하는데 각 플랫폼이 활성화 되는데 시간이 걸리는 것 같다.
상단 탭 Audience에서 유저목록을 확인 할 수 있는데 구독이 되지 않은 유저는 알람이 가지 않는다.
다음엔 nodejs에서 알림을 보내는방법과 플러터에 다른기능이 무엇이 있는지 알아보려고 한다.
'플러터' 카테고리의 다른 글
flutter json List of Maps 모델 직렬화 (0) | 2022.04.26 |
---|---|
flutter push알림 onesignal 적용(2) (0) | 2022.04.25 |
flutter 페이지 뒤로 갔을때 새로고침 하는 방법. (0) | 2022.02.22 |
openAPI http를 이용해 데이터 가져오기 (0) | 2022.01.26 |
CarouselSlider에 youtube 띄우기 (0) | 2022.01.26 |