앞서까지 글에서는 안드로이드와 아이폰 관련하여 CodePush 설정을 마쳤습니다.
이번에는 React Native 쪽 코드를 작성하므로서 React Native Code Push 적용기를 마쳐보려고 합니다.
Code Push 옵션 설정
위의 공식문서에 기재되어 있는 옵션들에 대해서 설명해드리겠습니다.
업데이트를 검사 시기를 지정합니다.
기본값 : CodePush.CheckFrequency.ON_APP_START
CodePush.CheckFrequency.ON_APP_START - 앱 프로세스가 시작될 때마다 업데이트를 검사 하려는 것을 나타냅니다.
CodePush.CheckFrequency.ON_APP_RESUME - "백그라운드"가 된 후 앱이 포그라운드로 돌아올 때마다 업데이트를 검사 하려는 것을 나타냅니다(사용자가 홈 단추를 누르고 앱이 별도의 결제 프로세스를 시작하는 등).
CodePush.CheckFrequency.MANUAL - 업데이트에 대한 자동 검사를 사용하지 않도록 설정하지만 앱 코드에서 가 호출된 경우에만 검사
업데이트 할 시기를 지정합니다.
기본값 : CodePush.InstallMode.ON_NEXT_RESTART
codePush.InstallMode.IMMEDIATE(0) - 업데이트를 설치하고 앱을 즉시 다시 시작하려고 했음을 나타냅니다.
codePush.InstallMode.ON_NEXT_RESTART(1) - 업데이트를 설치하려고 하지만 강제로 앱을 다시 시작하지 않음을 나타냅니다. OS 또는 최종 사용자로 인해 앱이 "자연스럽게" 다시 시작되면 업데이트가 원활하게 선택됩니다. 이 값은 자동 업데이트를 수행할 때 적합합니다.
codePush.InstallMode.ON_NEXT_RESUME(2) - 업데이트를 설치하려고 하지만 다음에 최종 사용자가 백그라운드에서 다시 시작할 때까지 앱을 다시 시작하지 않음을 나타냅니다.
codePush.InstallMode.ON_NEXT_SUSPEND(3) - 앱 일시 중단이 중요하지 않을 만큼 길지 않은 한 사용자 컨텍스트가 손실되지 않도록 백그라운드에 있는 동안 에만(기본적으로 0) 백그라운드 minimumBackgroundDuration 에서 업데이트를 설치하려고 했음을 나타냅니다.
필자의 경우에는 별다른 옵션을 적용하지 않고 기본설정을 사용하였습니다.
필자가 작성한 code push 코드입니다.
스플래시 화면에서 업데이트가 있는지 확인합니다.
만약 업데이트가 없다면 바로 다음화면으로 넘어가고
만약 업데이트가 있으면 해당 업데이트를 다운로드한 후
바로 앱을 재시작하는 로직으로 작성하였습니다.
사용자가 업데이트 과정을 볼 수 있게끔 percent도 시각적으로 표시해 줬습니다.
이상으로 길고도 길었던 리액트 네이티브 Code Push 적용기를 마무리하겠습니다. 감사합니다.
내년 3월에 코드푸쉬 섭종한다는데 혹시 대안같은게 있으실까요?