아무나 빌려가세요

flutter push알림 onesignal 적용(2) 본문

플러터

flutter push알림 onesignal 적용(2)

빌라노바 2022. 4. 25. 22:33

구독된 유저의 고유Id를 추출하는 방법과 알림메세지 제목,내용을 받는방법을 써본다.

유저ID를 받는 방법은 두가지가 있다.

getDeviceState 와 SubscribeObserver 함수를 사용한다.

getDeviceState는 어떤 이유에선지 처음엔 무조건 null값을 출력하고 그다음부턴 userid를 출력한다.

처음부터 userId를 출력하려면 SubscribeObserver 를 사용해야 한다.

 OneSignal.shared         .setSubscriptionObserver((OSSubscriptionStateChanges changes) async {       print('permission change::::::::::::::::${changes.to.userId}'); //userID 출력            }); 

알림메시지 내용과 제목을 얻는 방법은 다음과 같다.

 OneSignal.shared.setNotificationOpenedHandler(         (OSNotificationOpenedResult result) async {       print(           'NOTIFICATION OPENED HANDLER CALLED WITH: ${result.notification.rawPayload}');           //rawPayLoad를 통해 json을 받는다.           var json = PushInformation.fromJson(result.notification.rawPayload!);       //json 직렬화            });   }