SNS를 사용하는데, 문제가 발생해서 문의글 올립니다. 아래와 같은 코드로 SNS를…

SNS를 사용하는데, 문제가 발생해서 문의글 올립니다.

아래와 같은 코드로 SNS를 이용해 푸쉬 메시지를 전송하는데, 아이폰에 대해서만 endpoint가 생성되자마자 enabled 필드가 false가 되어 푸쉬메시지가 전송되지 않는 현상이 일어납니다. 안드로이드는 이러한 현상이 일어나지 않구요. 메시지를 publish할 때, 뜨는 에러는 다음과 같습니다. AWS::SNS::Errors::EndpointDisabled (Endpoint is disabled):
물론 해당 디바이스는 푸쉬 메시지를 받을 수 없는 상태는 아니구요.

SNS를 처음 사용할 때는 이런 일이 발생하지 않았는데, 2달 전부터 이런 현상이 일어나고 있습니다.

한 device token으로 endpoint를 하나 만든 후, 같은 device token으로 이미 생성된 arn을 사용하지 않고 푸쉬 메시지를 보낼 때 마다 endpoint를 생성한 것이 문제가 아닌가 짐작을 하긴 하는데, 현재는 enpoint list를 다 비우고 새로 문제가 발생한 device token으로 endpoint를 만들어도 같은 현상이 일어납니다.

혹시 비슷한 경험을 하셨거나, 짐작되는 원인이 생각나는 분이 계시면 조언 부탁드리겠습니다.

endpoint = AWS.sns.client.create_platform_endpoint(
:platform_application_arn => arn,
:token => device_token
)

AWS.sns.client.publish :message => message, :target_arn => endpoint[:endpoint_arn], :message_structure => ‘json’

3 thoughts on “SNS를 사용하는데, 문제가 발생해서 문의글 올립니다. 아래와 같은 코드로 SNS를…

  1. 추가로 말씀드리자면 나중에 유저가 앱을 지우거나 해서 전송이 실패해도 마찬가지 현상이 나타나고, 인증서를 잘못 업데이트 하거나 해도 마찬가지 입니다. 옛날에 이거때문에 몇만개의 키가 다 disable되서 스크립트 돌려서 다시 enable시킨적이..;

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.