• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

push noti background handler에서 userSlice를 가져오고 싶어요.

23.11.17 13:14 작성 조회수 210

0

App.tsx에서요.

messaging().setBackgroundMessageHandler(async remoteMessage => {

console.log('Message handled in the background!', remoteMessage);

});

백그라운드상태에서 푸시알림이 왔을때

axios로 서버 http call을 하고 싶은데요. accesstoken과 userId를 넣어 call하려고 합니다.

userSlice를 가져오는걸 어떻게 코드에 적용할 수 있을까요?

예시를 해 주시면 더욱 감사합니다.

답변 5

·

답변을 작성해보세요.

0

sdbang.v님의 프로필

sdbang.v

질문자

2023.11.18

foreground 서비스가 없냐는건 무슨 뜻인가요?
app 화면들이 당연히 있어요. 사용하다 끄거나 백그라운드로 보냈을 경우에도 위치 공유가 되었으면 해서요.

Life360은 같은 서클내 멤버들의 위치들이 서로 공유되어 보여 주는 앱이에요. 다른 멤버가 항상 앱을 켜 놓지 않을텐데 위치 이동이 계속 보이거든요. 그런건 어떻게 구현했을까 하는거에요.

포어그라운드 서비스를 검색해보세요. 만보기같이 항상 알림창에 켜져있는 그런 서비스를 의미하는 겁니다.

0

sdbang.v님의 프로필

sdbang.v

질문자

2023.11.17

라이프 360은 상대방이 app실행을 안하고 있을텐데도 위치 이동이 자연스럽게 보이든데요. 그런건 어떻게 구현한 것일까요?

라이프360이 뭔지 모르겠네요. 포그라운드서비스도 없는건가요?

0

sdbang.v님의 프로필

sdbang.v

질문자

2023.11.17

app이 백그라운드로 가서도 위치 정보를 계속 서버에 저장하고 싶었거든요.

0

sdbang.v님의 프로필

sdbang.v

질문자

2023.11.17

messaging().setBackgroundMessageHandler(async remoteMessage => {
    console.log('Message handled in the background!', remoteMessage);
    const accessToken = store.getState().user.accessToken;
    const userId = store.getState().user.id;
    Geolocation.getCurrentPosition(
messaging().setBackgroundMessageHandler 여기 에서는 Geolocation.getCurrentPosition 이 위치를 못 가져 오는데요? 방법이 없을까요?

백그라운드에서는 안드로이드 정책상 가져올 수 없습니다. 포어그라운드 서비스를 쓰셔야 합니다

0

https://github.com/ZeroCho/food-delivery-app/tree/master/ch6/src

여기의 store를 import해서

store.getState().user 로 userSlice state를 접근할 수 있습니다.