푸시 인증서 관련 문의 / 앱 죽음 문제

  • 뒤끝 SDK 버전 : 5.11.1
  • 프로젝트명 : 천마키우기

안녕하세요.

현재 해당 프로젝트 런칭일이 2주도 남지 않은 상황이라 급박하게 문의 드립니다.
다른분 계시글에 댓글 형태로 질문을 남겨 다시 정리해서 문의드립니다.
금일 내로 해결이 안되면, 최악의 경우 IOS는 푸시 없이 배포해야 합니다.

현재 2일 넘게 IOS 푸시 때문에 붙잡혀 있습니다.
뒤끝 가이드 그대로 따라 했지만, 문제 발생합니다.

인증서 발급과 적용에 문제가 있을까 하여 발급도 2번이나 새롭게 하였습니다.
아무리 알려주신 방법을 적용해봐도 ‘PutDeviceToken()’ 단계에서 앱이 죽어버립니다.
현재까지 해본 방법은 아래와 같습니다.

  1. 뒤끝 답변
    ‘iOS.PutDeviceToken(“토큰 수동 값”, isDevelopment)에서 토큰 수동값이 null일 경우 발생할 수 있는 현상으로 확인됩니다.해당 함수를 요청하기 전에 if(string.IsNullOrEmpty(token)으로 null인지 확인해 대응해 주시고,’

=> 토큰값이 Null인지 어떻게 체크해야하는지 그리고 대응은 또 어떻게 해야 하는지 null 값이면 앱이 죽지 않게 return을 하라는 말씀이신걸까요? 그러면 디바이스 토큰 적용이 안되는것 아닌지요?

Asset > TheBackend > Plugins > iOS 폴더를 지우시고, Asset > TheBackend > Plugins > Android에 있는 TheBckend.iOS.dll에서 include Platforms 옵션에 IOS도 추가해 시도
=> 말씀해주신 방법대로 하니 앱이 죽지 않았습니다. 이렇게 하면 유니티에서 제공하는 플러그인 Mobile Notifications를 사용해서 수동으로 토큰을 얻어야 한다고 들었습니다.

그래서 플러그인 설치 후 아래와같이 코드 적용해 token 값을 가져왔습니다.


이후 xcode 빌드를 시도했으나 빌드 오류가 발생해 실패했습니다.

해당 플러그인 제거 후에는 다시 빌드가 잘 되어 결국 2번 방법도 실패했습니다.

빌드 환경은 이렇습니다.
현재 파이어베이스 최신 버전을 사용할수가 없습니다. (뒤끝서버 GPGS 로그인 최신버전 지원 안함)
때문에 ExternalDependencyManager 1.2.176 유지를 위해 파이어베이스 Unity SDK 11.1.0 버전을 사용중입니다.

혹시 이부분에서 문제가 발생할 수 있나요?

추가적으로 인증서 적용 부분도 조금 이해가 어려운게 있는데요.


이 부분 Push Service 인증서를 등록해달라 했는데 해당 인증서가 등록되어 있지 않습니다.
따로 설정해야하는 부분이 있나요?

또한 이 부분 때문에 앱이 죽을수도 있는지도 확인이 필요합니다.
여름에 회사에 방문해주셨을 때, 기술적인 부분이나 여타 문제 발생 시
언제든지 연락달라고 하셔서 이렇게 급한마음 안고 다시 한 번 문의 올려봅니다.
아무쪼록 조금 더 자세한 가이드나 답변이 필요할것 같습니다 ㅠ.

좋아요 1

안녕하세요 개발자님.

확인해본 결과 Mobile Notifications의 경우, 아래와 같이 Enable Push Notifications와 Register for Push Notificiations on App Launch가 활성화되어 있어야 합니다. 해당 부분 체크해주시면 감사하겠습니다.

인증서의 경우, 키체인 접근에 sendbox 푸시 인증서와 APNS 인증서가 등록되어있을 경우 활성화가 될 것으로 추측됩니다. 해당 두 인증서는 키체인 접근에 등록되어있을까요?

네 키체인 접근에 ‘Apple Push Services’ 와 ‘Apple Sandbox Push Services’ 등록되어 있습니다. xcode에서 인증서 등록할때는 Apple Development 인증서만 등록가능한데 이 부분 원래 그런건가요?

지금 알려주신대로 세팅해서 Mobile Notifications 플러그인 넣고 빌드 재시도해보려합니다. 이렇게 해서 이슈 해결되면 댓글 남기겠습니다.

감사합니다. 자세한 답변 주셔서 IOS 푸시 성공하였습니다.
해결 과정을 간략하게 정리했습니다.

  1. Asset > TheBackend > Plugins > iOS 폴더 삭제
  2. Asset > TheBackend > Plugins > Android에 있는 TheBckend.iOS.dll에서 include Platforms 옵션에 IOS도 추가
  3. Mobile Notifications (유니티 플러그인) 설치
  4. Mobile Notification Settings - IOS - Enable Push Notifications와 Register for Push Notificiations on App Launch 체크
  5. 빌드 성공 및 푸시 테스트 진행
  6. 성공
좋아요 1

정보 감사합니다! 덕분에 문제 해결했습니다 :)

좋아요 1