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

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

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

Apple Push Notification Service() 및 Firebase Cloud Messaging(APNs)과 같은 알림 서비스에 앱 및 모바일 디바이스를 처음 등록하면 FCM디바이스 토큰 또는 등록이 알림 서비스에서 반환IDs됩니다. Amazon 에 디바이스 토큰 또는 등록IDs을 추가하면 SNS와 함께 디바이스 토큰 또는 등록이 앱 및 디바이스의 엔드포인트를 생성하는 PlatformApplicationArn API 데 사용됩니다. Amazon이 엔드포인트를 SNS 생성하면 이 반환EndpointArn됩니다. EndpointArn 는 Amazon이 알림 메시지를 보낼 앱과 모바일 디바이스를 SNS 파악하는 방법입니다.

다음 방법을 SNS 사용하여 AmazonIDs에 디바이스 토큰 및 등록을 추가할 수 있습니다.

  • 를 AWS 사용하여 에 단일 토큰을 수동으로 추가 AWS Management Console

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

  • 향후 앱을 설치할 디바이스에서 토큰을 등록

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

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

  3. 플랫폼 애플리케이션 섹션에서 애플리케이션을 선택한 다음 편집을 선택합니다. 플랫폼 애플리케이션을 생성하지 않은 경우 지금 생성합니다. 작업 방법에 대한 지침은 Amazon SNS 플랫폼 애플리케이션 생성을(를) 참조하십시오.

  4. 엔드포인트 추가를 선택합니다.

  5. [Endpoint Token] 상자에서 알림 서비스에 따라 토큰 ID 또는 등록 ID를 입력합니다. 예를 들어 ADM 및 를 사용하여 등록 ID를 FCM 입력합니다.

  6. (선택 사항) 사용자 데이터 상자에 엔드포인트와 연결할 임의의 정보를 입력합니다. AmazonSNS은 이 데이터를 사용하지 않습니다. 데이터는 UTF-8 형식이고 2KB 미만이어야 합니다.

  7. 엔드포인트 추가를 선택합니다.

    생성된 엔드포인트를 사용하면 모바일 디바이스로 직접 메시지를 보내거나 주제를 구독하는 모바일 디바이스로 메시지를 보낼 수 있습니다.

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

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

참고

다음 단계에서는 Eclipse Java 를 사용합니다IDE. 이 단계에서는 를 설치했고 에 대한 AWS 보안 자격 증명 AWS SDK for Java 이 있다고 가정합니다 AWS 계정. 자세한 내용은 AWS SDK for Java 단원을 참조하십시오. 자격 증명에 대한 자세한 정보는 AWS 일반 참조의 보안 자격 증명을 가져오려면 어떻게 해야 합니까?를 참조하세요.

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

  2. Eclipse에서 새 Java 프로젝트를 생성합니다.

  3. SNSSamples 폴더를 새로 만든 Java 프로젝트의 최상위 디렉터리로 가져옵니다. Eclipse에서 Java 프로젝트 이름을 마우스 오른쪽 버튼으로 선택한 후 가져오기를 선택하고 일반을 확장한 후 파일 시스템, 다음을 차례로 선택한 다음 SNSSamples 폴더로 이동하여 확인, 마침을 차례로 선택합니다.

  4. OpenCSV 라이브러리 사본을 다운로드하여 bulkupload 패키지의 빌드 경로에 추가합니다.

  5. bulkupload 패키지에 있는 BulkUpload.properties 파일을 엽니다.

  6. 다음을 BulkUpload.properties로 추가하십시오:

    • 엔드포인트를 추가하려는 ApplicationArn.

    • 토큰이 포함된 CSV 파일의 위치에 대한 절대 경로입니다.

    • Amazon이 올바르게 SNS 구문 분석하는 토큰goodTokens.csv과 실패한 토큰을 로깅하기 위해 생성할 CSV 파일 이름(예: 및 badTokens.csv)입니다.

    • (선택 사항) 토큰이 포함된 CSV 파일의 구분 기호와 따옴표를 지정하는 문자입니다.

    • (선택 사항) 엔드포인트를 동시에 만들기 위해 사용할 스레드 수. 기본 값은 1 스레드입니다.

    완성된 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
  7. BatchCreatePlatformEndpointSample.java 애플리케이션을 실행하여 토큰을 Amazon 에 업로드합니다SNS.

    이 예제에서는 Amazon에 성공적으로 업로드된 토큰에 대해 생성된 엔드포인트SNS가 에 기록되는 goodTokens.csv반면, 잘못된 형식의 토큰은 에 기록됩니다badTokens.csv. 또한 Eclipse의 콘솔에 작성된 STD OUT 로그에 다음과 유사한 콘텐츠가 포함되어 있어야 합니다.

    <1>[SUCCESS] The endpoint was created with Arn arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp/165j2214-051z-3176-b586-138o3d420071 <2>[ERROR: MALFORMED CSV FILE] Null token found in /mytokendirectory/mytokens.csv
향후 앱을 설치할 디바이스에서 토큰을 등록하려면

다음 두 가지 옵션 중 하나를 사용할 수 있습니다.

  • Amazon Cognito 서비스 사용: Amazon SNS 플랫폼 애플리케이션과 연결된 엔드포인트를 생성하려면 모바일 앱에 보안 인증 정보가 필요합니다. 일정 기간 이후 만료되는 임시 자격 증명을 사용하는 것이 좋습니다. 대부분의 시나리오에서 Amazon Cognito를 사용하여 임시 보안 자격 증명을 만들 것을 권장합니다. 자세한 정보는 Amazon Cognito 개발자 안내서를 참조하세요. 앱이 Amazon 에 등록할 때 알림을 받으려면 새 엔드포인트 를 제공하는 Amazon SNS 이벤트를 수신하도록 등록할 SNS수 있습니다ARN. 를 사용하여 Amazon ListEndpointByPlatformApplicationAPI에 등록된 엔드포인트의 전체 목록을 가져올 수도 있습니다SNS.

  • 프록시 서버 사용: 모바일 앱이 각 설치에서 호출하고 등록하기 위한 애플리케이션 인프라가 이미 설정된 경우 이 설정을 계속 사용할 수 있습니다. 서버는 프록시 역할을 하며 저장하려는 사용자 데이터와 함께 디바이스 토큰을 Amazon SNS 모바일 푸시 알림에 전달합니다. 이를 위해 프록시 서버는 자격 AWS 증명을 SNS 사용하여 Amazon에 연결하고 CreatePlatformEndpoint API 호출을 사용하여 토큰 정보를 업로드합니다. 새로 생성된 엔드포인트 Amazon 리소스 이름(ARN)이 반환되며, 서버가 Amazon 에 후속 게시 호출을 위해 저장할 수 있습니다SNS.