푸시 문제해결 가이드

"모든 사용자", "타게팅 사용자"또는 "테스트 디바이스"에 푸시 알림을 보내는 데 문제가 있습니까? 이 문서는 푸시 알림과 관련된 몇 가지 일반적인 문제를 해결하는 데 도움이됩니다.

1. 현재 상태 진단

문제에 대한 올바른 솔루션을 찾는 프로세스를 시작하려면 전송 실패에 대한 다음 질문에 답해야합니다.

문제의 범위를 구체화 합니다.

  1. ( 항상 발생 / 가끔 발생 )
  2. ( 모든 / 특정 ) 디바이스
  3. ( 모든 플랫폼 / iOS / Android ) OS
  4. ( 모든 버전 / 특정 버전 )의 OS? (ex> iOS 8+, Android 2.3.4)

여기에서 문제의 가능한 원인을 좁힐 수 있습니다.

2. 대시보드 오류 코드

'테스트 디바이스'와 '푸시 알림 결과' 페이지 에서 오류 원인을 확인할 수 있습니다.

  1. 앱 설정-> 테스트 디바이스로 이동합니다. 푸시 지원 게임을 실행한 테스트 디바이스 옆에 있는 "전송" 버튼을 누르십시오. 푸시가 성공하면 화면에 '성공'메시지가 표시됩니다. 또한 디바이스에 푸시 알림 팝업이 표시됩니다. 성공하지 못한 경우 화면에 오류 메시지가 표시됩니다.

  2. 푸시 전송의 전송률이 100% 미만인 경우 "?" 아이콘 위에 마우스를 올리면 반송된 푸시의 수와 이유를 확인할 수 있습니다. "방송 성공률" 항목 오른쪽 옆에 있습니다.

3. 오류 코드 및 솔루션

iOS

**ERROR CODE****Solution**
8이 기기에서 앱이 이미 제거되었습니다. 장치에 게임을 설치하고 장치에서 푸시 알림이 활성화되었는지 확인하십시오.
UnexpectedErrorAPNS 서버에서 발생한 오류로 인해 전송에 실패했습니다.
CERT\_EXPIRED푸시 인증서가 만료되었습니다.\[앱설정> 푸시 인증서\] 페이지에서 인증서를 갱신하세요. [푸시 인증서 설정 방법](https://dev.tapjoy.com/faq/how-to-configure-push-certificates/)
CERT\_NOT\_PRESENT푸시 인증서가 없습니다.\[앱설정> 푸시 인증서\] 페이지를 확인하세요. [푸시 인증서 설정 방법](https://dev.tapjoy.com/faq/how-to-configure-push-certificates/)
SSLError잘못된 인증서가 업로드되었습니다.인증서 파일이 프로덕션용인지 확인하십시오.

파일에 암호를 사용하지 마십시오.
How to configure Push Certificates

NoPushToken(테스트 디바이스 페이지)이 기기에 대한 푸시 토큰이 없습니다. 푸시가 연동된 앱을 설치했는지 확인하십시오. [Debug Mode & Developer Console](https://dev.tapjoy.com/sdk-integration/ios/getting-started-guide-publishers-ios/#debug_mode_developer_console)

체크리스트

  • 기기의 [설정> YOUR_APP_NAME] 메뉴에서 '알림' 항목을 볼 수 있습니까?
  • 확인되지 않는 경우 시작하기 문서의 '원격 알림 등록' 섹션을 확인하십시오.
  • 프로비저닝을 생성 할 때 푸시 서비스를 포함 했습니까?
  • iOS 7, iOS 8+에 대해 원격 알림을 각각 등록하기위한 코드를 추가 했습니까?
  • 시작하기 문서의 '원격 알림 등록'섹션을 참조하십시오.
  • 프로덕션 인증서입니까? Tapjoy는 현재 개발 푸시 인증서를 허용하지 않습니다.
  • ad-hoc 프로비저닝으로 앱을 빌드하고 코드 서명을 'distribution'로 설정 했습니까? 개발 빌드를 사용하는 경우 프로덕션 푸시 인증서를 사용할 경우 해당 빌드에 푸시를 보낼 수 없습니다.

Android

**ERROR CODE****Solution**
NotRegistered DEVICE\_UNREGISTERED이 기기에서 앱이 이미 제거되었습니다. 장치에 게임을 설치하고 푸시 알림이 활성화되었는지 확인하십시오.
MismatchSenderId BAD\_REGISTRATION코드의 'FCM Send ID'가 Tapjoy 대시보드에 입력된 API키와 페어링되지 않습니다. [FCM Sender ID 및 API키를 찾는 방법](https://dev.tapjoy.com/faq/how-to-find-sender-id-and-api-key-for-gcm/)[Multiple Push Providers](https://dev.tapjoy.com/faq/multiple-push-providers/)
UnexpectedErrorSERVICE\_UNAVAILABLE FCM 서버에서 오류가 발생하여 전송에 실패했습니다.
NoPushToken(테스트 디바이스 페이지)이 기기에 대한 푸시 토큰이 없습니다. 푸시가 연동된 앱을 설치했는지 확인하십시오. \[앱설정> 테스트 디바이스\] 페이지에서 올바른 디바이스 광고 ID를 입력했는지 확인하세요. 개발자 콘솔에서 기기의 광고 ID를 찾을 수 있습니다. [디버그 모드 및 개발자 콘솔](https://dev.tapjoy.com/sdk-integration/android/getting-started-guide-publishers-android/#debug_mode_developer_console)
InvalidRegistration잘못된 토큰 형식입니다.이 문제에 대한 자세한 내용은 담당 어카운트 메니저에게 이메일을 보내주십시오.
CERT\_NOT\_PRESENT푸시 인증서가 없습니다.\[앱설정> 푸시 인증서\] 페이지를 확인하세요. [FCM의 Sender ID 및 API키를 찾는 방법](https://dev.tapjoy.com/faq/how-to-find-sender-id-and-api-key-for-gcm/)

체크리스트

  • 여러 푸시 공급자가 있습니까? (타사 또는 자체 푸시 서버)
  • 여러 푸시 공급자 문서를 참조하십시오.
  • Google 개발자 콘솔에서 프로젝트의 FCM 사용 설정을 했습니까?
  • Google 개발자 콘솔에서 API 키에 대한 IP를 허용 했습니까?

대시보드 문제 해결

  • Tapjoy 대시보드에 api_key 및 Sender ID를 저장할 수 없는 경우 API 키가 활성화되어 있는지 확인하십시오.
  • 다음 스크립트를 실행하여 api_key가 FCM에 올바르게 등록되었는지 확인할 수도 있습니다.
  • curl –header "Authorization: key=$api_key" \ –header Content-Type:"application/json" \ https://gcm-http.googleapis.com/gcm/send \ -d "{"registration_ids":["ABC"]}"
  • 401 응답은 서버 키가 유효하지 않음을 나타냅니다.
  • Google 문서에서 이 문제에 대한 자세한 내용을 확인할 수 있습니다.(https://developers.google.com/cloud-messaging/http)

4. FCM API키 보안 제한

최근 Google은 FCM의 제한없는 API 키 접근을 허용하지 않습니다. LTV 대시보드에 API키 및 Sender ID를 저장하려고 할 때 오류 메시지가 표시되면 Firebase 콘솔에서 Google 프로젝트를 가져와야합니다..

  • Firebase 콘솔을 방문하여 'Import Google Project'를 실행합니다.
  • Google 프로젝트를 선택하고 가져옵니다.
  • 설정 아이콘을 클릭하고 "Project Setting"메뉴를 선택합니다.
  • "Could Messaging"탭을 선택하고 LTV 대시보드의 푸시 인증서 페이지에서 세팅된 API키와 Sender ID 를 사용합니다.
  • 목록에 없는 문제가 있는 경우 문제에 대한 자세한 정보와 함께 지원 문의를 통해 문제에 대한 설명을 보내주십시오.