앱을 유저에게 알리는 방법
마케팅
지인, 커뮤니티, SNS, 검색, TV, 신문, 잡지 등
앱의 기능
정보 컨텐츠 공유 (심리 테스트, 사진, 좋은 글, 영상 등)
주요 컨텐츠 공유 (쿠팡 판매 상품, 상담어플 디테일 페이지 등)
친구 초대 (초대 코드 보상)
멀티 플레이 게임 (동시에 접속해서 해야하는)
위의 경우 Deeplink로 내 앱이 실행되게 해야함.
Deferred Deeplink는 설치안했다면 마켓으로.
원래는 firebase dynamic link가 있었으나 2025년에 종료되어 대안으로
Android: App Link, IOS: Universal Link 사용해야함.
대안 서비스로는 Airbridge, Branch io, Adjust가 있는데 유료.
앱의 URL을 받아서 앱으로 이동시키는게 마냥 쉽지않은 기능이구나 느낌.
Firebase Cloud Messaging
사람들에게 알림을 줄 때 단일 유저, 유저 그룹을 정해서 보낼 수 있다
메세지를 받으려면 fcmToken 등록해야함
위에 deeplink 대안으로 유료서비스 알려준 곳 중 Airbridge, Branch io에서도 메세징 기능 지원한다고함.

detached는 앱 켜지지 않은 상태
resumed는 앱이 켜진 상태
inactive는 앱이 비활성화된 상태 홈 왼쪽 리스트 버튼을 통해 앱을 볼 때
그 상태에서 아예 바탕화면으로 이동하면 hidden 상태를 거쳐 paused 상태가 된다.
앱을 정상적으로 종료시키는게 아니라 강제로 꺼버리면 detached는 X.
FCM에서는 resumed인지, paused인지, detached 알아야 함.

Android Activity Lifecycle 인데, 앱은 여러 액티비티가 위 형태로 생기고 없어지면서 작동함.
RootRestorationScope, RestorationMixin 같은 걸로 앱이 프로세스를 강제로 종료할 때의 데이터를 가져올 수도 있음.
firebase 설치하고 firebase_messaging이라는 라이브러리 다운로드
IOS announcement로 시리가 읽어주게도 할 수 있네..
IOS criticalAlert로 위급한 경고도 보낼 수 있음, 안전에 관한 앱을 만들 때 삐용삐용해야할듯.
IOS provisional로 알림을 받을지 말지 묻지도 않고 그냥 알림 보내버릴 수 있음.
firebase > 참여 > messaging > Firebase 알림 메세지 > 작성 후 검토
//foreground
FirebaseMessageing.onMessage.listen((message) async {
요기에 message 활용해서 action 정하면된다.
});
//background
FirebaseMessageing.onMessageOpenedApp.listen((message) async {
요기에 message 활용해서 action 정하면된다.
딥링크 넣어서 바로 앱의 특정 화면으로 이동시킬 수도 있음. 이건 foreground도 마찬가지.
});
//not running
final firstMessage = await FirebaseMessaging.instance.getInitialMessage();
로 체킹 후 진행