아무나 빌려가세요

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

플러터

flutter push알림 onesignal 적용(3)

빌라노바 2022. 5. 10. 22:18

PUSH알림을 통해 받은 데이터를 통해 페이지를 이동하는 방법을 적어본다.

onesignal 홈페이지에서 구독된 유저에게 알림 테스트를 해볼 수 있다.

New Push를 선택하면 알림을 보낼 수 있는 페이지가 나온다.

타이틀과 메시지를 적어준 후 구독된 전부에게 보내거나 내가 만든 집단에게 보낼 수 있다.

메시지 이외에 객체로 된 데이터를 보낼 수 있다.

이 데이터를 이용하여 알림클릭시 페이지가 이동하도록 설정한다.

setNotificationOpenedHandler를 이용하여 어떤 데이터가 오는지 확인한다.

custom: {"a":{"notice":"15"},"i":}
//여기서 내가보낸 데이터를 추출할 수 있다.

json파일을 객체로 변환후 switch문으로 분기를 나눈다.

var custom = jsonDecode(pushResult['custom']);
var key;
var value;
//객체의 key와 value를 분리한다.
custom.forEach((key,value){
var key = key;
var value = value;
});

switch (key) {
        case "notice":
          Navigator.push(
            context,
            MaterialPageRoute(
              builder: ((context) => NoticePage(value)),
            ),
          );
          break;
        case "event":
          Navigator.push(
            context,
            MaterialPageRoute(
              builder: ((context) => eventPage(value)),
            ),
          );
          break;
        default:
          return;
      }