모바일 알림을 위해 Amazon SNS와 디바이스 토큰 통합 - Amazon Simple Notification Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

모바일 알림을 위해 Amazon SNS와 디바이스 토큰 통합

앱과 모바일 디바이스를 Apple 푸시 알림 서비스(APN) 및 Firebase Cloud Messaging(FCM)과 같은 알림 서비스에 처음 등록할 때 디바이스 토큰 또는 등록 ID가 해당 서비스에서 반환됩니다. 이러한 토큰/ID는 PlatformApplicationArn API를 사용하여 앱 및 디바이스에 대한 엔드포인트를 생성하기 위해 Amazon SNS에 추가됩니다. 엔드포인트가 생성되면 Amazon SNS가 올바른 앱/디바이스로 알림을 보내는 데 사용하는 EndpointArn이 반환됩니다.

다음 방법을 사용하여 디바이스 토큰 또는 등록 ID를 Amazon SNS에 추가할 수 있습니다.

  • 를 통해 수동으로 단일 토큰 추가 AWS Management Console

  • CreatePlatformEndpoint API를 사용하여 여러 토큰을 업로드

  • 향후 디바이스에 토큰 등록

디바이스 토큰 또는 등록 ID를 수동으로 추가하려면
  1. Amazon SNS 콘솔에 로그인합니다.

  2. 탐색 창에서 푸시 알림을 선택합니다.

  3. 플랫폼 애플리케이션 섹션에서 애플리케이션을 선택한 다음 편집을 선택합니다. 플랫폼 애플리케이션을 아직 생성하지 않은 경우 Amazon SNS 플랫폼 애플리케이션 만들기 가이드에 따라 지금 생성하세요.

  4. 엔드포인트 생성을 선택합니다.

  5. 엔드포인트 토큰 상자에 사용 중인 알림 서비스(예: FCM 등록 ID)에 따라 토큰 또는 등록 ID를 입력합니다.

  6. (선택 사항) 사용자 데이터 필드에 추가 데이터를 입력합니다. 이 데이터는 UTF-8로 인코딩되고 2KB 미만이어야 합니다.

  7. 엔드포인트 생성을 선택합니다.

엔드포인트가 만들어졌으므로 모바일 디바이스에 메시지를 직접 전송하거나 Amazon SNS 주제를 구독하는 모바일 디바이스에 메시지를 전송할 수 있습니다.

CreatePlatformEndpoint API를 사용하여 여러 토큰을 업로드하는 방법

다음 단계에서는에서 제공하는 샘플 Java 앱(bulkupload 패키지)을 사용하여 Amazon SNS AWS 에 여러 토큰(디바이스 토큰 또는 등록 IDs)을 업로드하는 방법을 보여줍니다. 이 샘플 앱을 사용하여 기존 토큰 업로드를 시작할 수 있습니다.

참고

다음 단계에서는 Eclipse Java IDE를 사용합니다. 이 단계에서는를 설치했고에 대한 AWS 보안 자격 증명 AWS SDK for Java 이 있다고 가정합니다 AWS 계정. 자세한 내용은 AWS SDK for Java 단원을 참조하십시오. 자격 증명에 대한 자세한 내용은 IAM 사용 설명서AWS 보안 자격 증명 섹션을 참조하세요.

  1. snsmobilepush.zip 파일을 다운로드하여 압축을 풉니다.

  2. Eclipse에서 새 Java 프로젝트를 생성하고 SNSSamples 폴더를 프로젝트로 가져옵니다.

  3. OpenCSV 라이브러리를 다운로드하여 빌드 경로에 추가합니다.

  4. BulkUpload.properties 파일에서 다음을 지정합니다.

    • ApplicationArn(플랫폼 애플리케이션 ARN).

    • 토큰이 포함된 CSV 파일의 절대 경로.

    • 성공 및 실패한 토큰에 대한 파일 이름 로깅. 예: goodTokens.csvbadTokens.csv.

    • (선택 사항) 구분 기호, 따옴표 및 사용할 스레드 수에 대한 구성입니다.

    완성된 BulkUpload.properties는 다음과 같습니다.

    applicationarn: arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp csvfilename: C:\\mytokendirectory\\mytokens.csv goodfilename: C:\\mylogfiles\\goodtokens.csv badfilename: C:\\mylogfiles\\badtokens.csv delimiterchar: ',' quotechar: '"' numofthreads: 5
  5. BatchCreatePlatformEndpointSample.java 애플리케이션을 실행하여 토큰을 Amazon SNS에 업로드합니다. 성공적으로 업로드된 토큰은 goodTokens.csv에 로깅되고 잘못된 형식의 토큰은 badTokens.csv에 로깅됩니다.

향후 앱 설치를 위해 디바이스의 토큰을 등록하는 방법

이 프로세스에는 두 가지 옵션이 있습니다.

Amazon Cognito 서비스 사용

모바일 앱은 임시 보안 자격 증명을 사용하여 엔드포인트를 생성할 수 있습니다. 임시 자격 증명을 생성하려면 Amazon Cognito를 사용하는 것이 좋습니다. 자세한 정보는 Amazon Cognito 개발자 안내서를 참조하세요.

등록을 추적하려면 새 엔드포인트 ARN이 생성될 때 Amazon SNS 이벤트를 사용하여 알림을 받으세요.

또는 ListEndpointByPlatformApplication API를 사용하여 등록된 엔드포인트 목록을 검색할 수 있습니다.

프록시 서버 사용

앱 인프라가 설치 시 디바이스 등록을 이미 지원하는 경우 서버를 프록시로 사용할 수 있습니다. CreatePlatformEndpoint API를 통해 Amazon SNS로 디바이스 토큰을 전달합니다.

Amazon SNS에서 생성한 엔드포인트 ARN이 반환되며 향후 메시지 게시를 위해 서버에서 저장할 수 있습니다.