Notice
Recent Posts
Recent Comments
Link
투케이2K
9. (TWOK/LOGIC) [Ios] 푸시 (push) 알림 포그라운드 , 백그라운드 , 앱 kill 상태 클릭 이벤트 로직 본문
투케이2K 로직정리
9. (TWOK/LOGIC) [Ios] 푸시 (push) 알림 포그라운드 , 백그라운드 , 앱 kill 상태 클릭 이벤트 로직
투케이2K 2022. 8. 30. 13:47[로직 정리]
정리 로직 : MOBILE (Ios)
상태 : [Ios] 푸시 (push) 알림 포그라운드 , 백그라운드 , 앱 kill 상태 클릭 이벤트 로직
[설 명]
[IOS]
1. SceneDelegate 클래스 sceneDidBecomeActive (Scene 활성화 및 사용자 이벤트에 응답 실시) 부분에서 Application_Run 프리퍼런스 값 저장 실시 (TRUE)
2. AppDelegate 클래스 applicationWillTerminate , didDiscardSceneSessions 부분에서 Application_Run 프리퍼런스 값 초기화 실시
3. A_Main 클래스 viewDidLoad , 포그라운드 부분에서 A_Main_Run 실행 프리퍼런스 값 저장 실시 (TRUE)
4. A_Main 클래스 viewDidDisappear , 백그라운드 부분에서 A_Main_Run 실행 프리퍼런스 값 초기화 실시
5. AppDelegate 클래스에서 userNotificationCenter willPresent 포그라운드 푸시 알림을 전달 받은 경우 A_Main_Run 프리퍼런스 값 널 체크 >> 브로드 캐스팅 알림 전달 실시
6. AppDelegate 클래스에서 userNotificationCenter didReceive 백그라운드 푸시 알림 클릭 이벤트 확인 부분에서 Application_Run 프리퍼런스 값 널 체크 실시
- Application_Run 프리퍼런스 값이 널이 아닌 경우 (백그라운드에서 포그라운드 접속) : PUSH_BACK_TO_FORE_DATA 프리퍼런스에 백그라운드 푸시 메시지 저장
- Application_Run 프리퍼런스 값이 널 인 경우 (앱 Kill 상태에서 포그라운드 접속) : PRE_APP_KILL_PUSH_MSG 프리퍼런스에 앱 Kill 상태 푸시 메시지 저장
7. AppDelegate 클래스에서 didReceiveRemoteNotification background 리모트 푸시 알림 수신 이벤트 확인 부분에서 Application_Run 프리퍼런스 값 널 체크 실시
- Application_Run 프리퍼런스 값이 널이 아닌 경우 (백그라운드에서 포그라운드 접속) : PUSH_BACK_TO_FORE_DATA 프리퍼런스에 백그라운드 푸시 메시지 저장
- Application_Run 프리퍼런스 값이 널 인 경우 (앱 Kill 상태에서 포그라운드 접속) : PRE_APP_KILL_PUSH_MSG 프리퍼런스에 앱 Kill 상태 푸시 메시지 저장
8. SceneDelegate 클래스 >> sceneWillEnterForeground 포그라운드 접속 체크 부분에서 웹뷰 404 에러가 아닌 경우 >> 백그라운드 푸시 메시지 널 체크, 앱 Kill 상태 푸시 메시지 널 체크 실시
- 백그라운드 푸시 메시지가 널이 아닌 경우 : A_Main 클래스로 브로드 캐스팅 알림 전달 실시
- 백그라운드 푸시 메시지가 널 인 경우 : 앱 Kill 상태 푸시 메시지 널 체크 >> 앱 Kill 상태 푸시 메시지가 널이 아닌 경우 >> A_Intro 클래스 인텐트 이동 실시 및 앱 Kill 상태 메시지 전달 >> A_Intro 에서는 A_Main 클래스로 다시 데이터 전달
(이 부분에서 데이터를 전송하고 난 후 프리퍼런스 데이터 초기화 실시)
9. A_Main 클래스에서 특정 주소 웹뷰 로드 완료 시 푸시 메시지 널 체크 >> 자바스크립트 브릿지로 전송 실시 (전송 후 무한 루프 방지 위해 데이터 초기화)
반응형
'투케이2K 로직정리' 카테고리의 다른 글
Comments