Background Mode - On
remote notification - on
background fetch - on
서버에서 전송한 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가 생성된 이후로다보니 화면 전환이 됨
- 동일함
- mmkv데이터 변견 - ok (asyncStorage 같은거)
- api 호출 - ok
- 화면 이동 - ok
- 앱이 깨어남
- 앱 접속시 setBackgroundMessageHandler 에서 수행됨
- navigationContainer가 생성되기전이라 화면이동이 안됨
- 앱이 깨어남
- 앱 접속시 setBackgroundMessageHandler 에서 수행이 될때가 있고 messaging().onMessage(onMessageReceived); 에서 수행될때가 있고 둘다 안될때가 간혹 있음
- navigationContainer가 생성되기전이라 화면이동이 안됨
* 앱이 가끔 안깨어남
그럴때는 앱접속시 messaging().onMessage(onMessageReceived); 에서 수행 됨
결론
앱이 백그라운드 상태 핵잘됨
앱이 종료되어있는 상태 appdelegate에 코딩을 추가해야할거같음