상세 컨텐츠

본문 제목

react-native silent push 테스트

카테고리 없음

by 까먹기전에 2024. 7. 31. 14:12

본문

반응형

Background Mode - On

remote notification - on

background fetch - on

 

background processing - off

 

 

서버에서 전송한 push payload

 

const message = {
        data: {
          title: "title",
          body: "test body",
        },
        topic: "test-topic",
        apns: {
          headers: {
            "apns-push-type": "background",
            "apns-priority": "5",
            "apns-topic": "my-bundle-id",
          },
          payload: {
            aps: {
              "content-available": 1,
            }
          },
        },
      };

 

 

 

앱이 백그라운드 상태 

 

   messaging().setBackgroundMessageHandler(async message => {
        setData('TEST','되나?');
        const rst = await instance.get('https://jsonplaceholder.typicode.com/posts');
        console.log('=====================================================')
        console.log('setBackgroundMessageHandler ========', rst.data.length);
        console.log('=====================================================')
        navigationRef?.current?.navigate('testPage')
    });

 

mmkv데이터 변견 - ok (asyncStorage 같은거)

api 호출 - ok

화면 이동 - ok

 LOG  =====================================================

 LOG  setBackgroundMessageHandler ======== 100

 LOG  =====================================================

 LOG  ==========GA4 - screen name=====

 LOG  :::: TourMap

 LOG  :::: TourMap_noparams

 LOG  =========================

 

앱이 백그라운드 상태  + 잠금상태

- mmkv데이터 변견 - ok (asyncStorage 같은거)

- api 호출 - ok

- 화면 이동 - ok

 

앱이 종료되어있는 상태

- 앱이 꺠어나지 않음

- 앱 접속시 setBackgroundMessageHandler 에서 수행이 되지않음

   messaging().onMessage(onMessageReceived); 에서 수행됨

 

앱이 종료되어있는 상태 + 잠금상태

- 앱이 꺠어나지 않음

- 앱 접속시 setBackgroundMessageHandler 에서 수행이 되지않음

   messaging().onMessage(onMessageReceived); 에서 수행됨

- 앱이 켜진후에 onMessage 에서 수행되다보니 navigationContainer가 생성된 이후로다보니 화면 전환이 됨

 

 

background processing - on

앱이 백그라운드 상태 

 - 동일함

 

앱이 백그라운드 상태  + 잠금상태

- mmkv데이터 변견 - ok (asyncStorage 같은거)

- api 호출 - ok

- 화면 이동 - ok

 

앱이 종료되어있는 상태

- 앱이 깨어남

- 앱 접속시 setBackgroundMessageHandler 에서 수행

- navigationContainer가 생성되기전이라 화면이동이 안됨

앱이 종료되어있는 상태 + 잠금상태

- 앱이 깨어남

- 앱 접속시 setBackgroundMessageHandler 에서 수행이 될때가 있고  messaging().onMessage(onMessageReceived); 에서 수행될때가 있고 둘다 안될때가 간혹 있음

- navigationContainer가 생성되기전이라 화면이동이 안됨

  

* 앱이 가끔 안깨어남

그럴때는 앱접속시 messaging().onMessage(onMessageReceived); 에서 수행 됨

 

결론

앱이 백그라운드 상태 핵잘됨

앱이 종료되어있는 상태 appdelegate에 코딩을 추가해야할거같음