Amazon Cognito 사용자 풀에서 Amazon Pinpoint 분석 사용 - Amazon Cognito

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

Amazon Cognito 사용자 풀에서 Amazon Pinpoint 분석 사용

Amazon Cognito 사용자 풀은 Amazon Pinpoint와 통합되어 Amazon Cognito 사용자 풀에 대한 분석을 제공하고 Amazon Pinpoint 캠페인을 위한 사용자 데이터를 보강합니다. Amazon Pinpoint는 분석 및 표적화된 캠페인을 제공하여 푸시 알림을 사용하는 모바일 앱에서 사용자 참여를 유도합니다. Amazon Cognito 사용자 풀의 Amazon Pinpoint 분석 지원을 통해 Amazon Pinpoint 콘솔에서 사용자 풀 가입, 로그인, 인증 실패, 일 실사용자(DAU) 및 월 실사용자(MAU)를 추적할 수 있습니다. 디바이스 플랫폼, 디바이스 로캘 및 앱 버전과 같은 다양한 날짜 범위 또는 속성에 대한 데이터를 자세히 확인할 수 있습니다.

앱의 사용자 지정 속성을 설정할 수도 있습니다. 그런 다음 Amazon Pinpoint에서 사용자를 세분화하고 대상 푸시 알림에 전송하는데 이를 사용할 수 있습니다. Amazon Cognito 콘솔의 Analytics(분석) 탭에서 Share user attribute data with Amazon Pinpoint(Amazon Pinpoint와 사용자 속성 데이터 공유)를 선택하면, Amazon Pinpoint는 사용자 이메일 주소와 전화 번호에 대한 추가 엔드포인트를 생성합니다.

Amazon Cognito 콘솔을 사용하여 사용자 풀에서 Amazon Pinpoint 분석을 활성화하면 Amazon Cognito가 사용자 풀을 위해 Amazon Pinpoint에 API 요청을 보낼 때 Amazon Cognito가 맡는 서비스 연결 역할도 생성됩니다. 분석 구성을 추가하는 IAM 보안 주체에게는 CreateServiceLinkedRole 권한이 있어야 합니다. 이 서비스 연결 역할은 AWSServiceRoleForAmazonCognitoIdp입니다. 자세한 내용은 Amazon Cognito에 서비스 연결 역할 사용 섹션을 참조하세요.

Amazon Cognito API에서 앱 클라이언트에 AnalyticsConfiguration을 적용하면 Amazon Pinpoint의 사용자 지정 IAM 역할과 이 역할을 맡을 외부 ID를 할당할 수 있습니다. 역할은 cognito-idp 서비스 보안 주체를 신뢰해야 하며, 역할 신뢰 정책에 외부 ID가 필요한 경우, 해당 ID가 AnalyticsConfiguration과 일치해야 합니다. Amazon Pinpoint 프로젝트를 위한 역할 cognito-idp:Describe* 권한 및 다음 권한을 부여해야 합니다.

  • mobiletargeting:UpdateEndpoint

  • mobiletargeting:PutEvents

Amazon Cognito 및 Amazon Pinpoint 리전 가용성

다음 표에는 다음 조건 중 하나를 충족하는, Amazon Cognito Cognito와 Amazon Pinpoint 간의 AWS 리전 매핑이 나옵니다.

  • Amazon Pinpoint 프로젝트는 미국 동부(버지니아 북부)(us-east-1) 리전에서만 사용할 수 있습니다.

  • Amazon Pinpoint 프로젝트는 동일한 리전이나 미국 동부(버지니아 북부)(us-east-1) 리전에서만 사용할 수 있습니다.

기본적으로 Amazon Cognito는 동일한 AWS 리전에 있는 Amazon Pinpoint 프로젝트에만 분석을 전송할 수 있습니다. 다음 표에 나오는 지역과 Amazon Pinpoint를 사용할 수 없는 지역에는 이 규칙이 적용되지 않습니다.

다음 리전에서 Amazon Pinpoint를 사용할 수 없습니다. 이러한 리전에 있는 Amazon Cognito 사용자 풀은 분석을 지원하지 않습니다.

  • 유럽(밀라노)

  • 중동(바레인)

  • 아시아 태평양(오사카)

  • 이스라엘(텔아비브)

  • 아프리카(케이프타운)

  • 아시아 태평양(자카르타)

이 표에서는 Amazon Cognito 사용자 풀을 구축한 리전과 Amazon Pinpoint에 있는 대응하는 리전 간의 관계를 확인할 수 있습니다. Amazon Pinpoint 프로젝트를 Amazon Cognito와 통합하려면 사용 가능한 리전에서 Amazon Pinpoint 프로젝트를 구성해야 합니다.

Amazon Cognito 사용자 풀 리전 Amazon Pinpoint 프로젝트용 리전

ap-northeast-1

us-east-1

ap-northeast-2

us-east-1

ap-south-1

us-east-1, ap-south-1

ap-southeast-1

us-east-1

ap-southeast-2

us-east-1, ap-southeast-2

ca-central-1

us-east-1

eu-central-1

us-east-1, eu-central-1

eu-west-1

us-east-1, eu-west-1

eu-west-2

us-east-1

us-east-1

us-east-1

us-east-2

us-east-1

us-west-2

us-east-1, us-west-2

리전 매핑 예

  • ap-northeast-1에 사용자 풀을 생성하는 경우 us-east-1에 Amazon Pinpoint 프로젝트를 생성할 수 있습니다.

  • ap-south-1에 사용자 풀을 생성하는 경우 us-east-1 또는 ap-south-1에 Amazon Pinpoint 프로젝트를 생성할 수 있습니다.

참고

위 표에 나와 있는 리전을 제외한 모든 AWS 리전에서, Amazon Cognito는 사용자 풀과 동일한 리전에 있는 Amazon Pinpoint 프로젝트만 사용할 수 있습니다. 사용자 풀을 구축한 리전에서 Amazon Pinpoint를 사용할 수 없다면, Amazon Cognito는 해당 리전에서 Amazon Pinpoint 분석을 지원하지 않습니다. 자세한 AWS 리전 정보는 Amazon Pinpoint 엔드포인트 및 할당량을 참조하세요.

Amazon Pinpoint 분석 설정 지정(AWS Management Console)

분석 데이터를 Amazon Pinpoint로 보내도록 Amazon Cognito 사용자 풀을 구성할 수 있습니다. Amazon Cognito는 로컬 사용자에 대한 분석 데이터만 Amazon Pinpoint로 전송합니다. Amazon Pinpoint 프로젝트와 연결되도록 사용자 풀을 구성한 후에는 AnalyticsMetadata를 API 요청에 포함해야 합니다. 자세한 내용은 앱을 Amazon Pinpoint와 통합 섹션을 참조하세요.

분석 설정을 지정하려면
  1. Amazon Cognito 콘솔로 이동합니다. AWS 자격 증명을 입력하라는 메시지가 나타날 수 있습니다.

  2. User Pools(사용자 풀)을 선택하고 목록에서 기존 사용자 풀을 선택합니다.

  3. [앱 통합(App integration)] 탭을 선택합니다.

  4. App clients and analytics(앱 클라이언트 및 분석)의 목록에서 기존 App client name(앱 클라이언트 이름)을 선택합니다.

  5. Pinpoint analytics(Pinpoint 분석)에서 Enable(활성화)을 선택합니다.

  6. Pinpoint Region(Pinpoint 리전)을 선택합니다.

  7. Amazon Pinpoint project(Amazon Pinpoint 프로젝트)를 선택하거나 Create Amazon Pinpoint project(Amazon Pinpoint 프로젝트 생성)를 선택합니다.

    참고

    Amazon Pinpoint 프로젝트 ID는 Amazon Pinpoint 프로젝트에 대해 고유한 32자 문자열입니다. 이 ID는 Amazon Pinpoint 콘솔에 나열됩니다.

    Amazon Pinpoint 프로젝트에 여러 Amazon Cognito 앱을 매핑할 수 있습니다. 그러나 각 Amazon Cognito 앱은 하나의 Amazon Pinpoint 프로젝트에만 매핑될 수 있습니다.

    Amazon Pinpoint에서 각 프로젝트는 단일 앱이어야 합니다. 예를 들어, 게임 개발자에게 두 개의 게임이 있고 두 게임 모두 동일한 Amazon Cognito 사용자 풀을 사용한다 하더라도 각 게임은 개별 Amazon Pinpoint 프로젝트입니다. Amazon Pinpoint 프로젝트에 대한 자세한 내용은 Amazon Pinpoint에서 프로젝트 생성을 참조하세요.

  8. Amazon Cognito에서 이메일 주소와 전화 번호를 Amazon Pinpoint로 보내 사용자를 위한 추가 엔드포인트를 생성하게 하고 싶다면, User data sharing(사용자 데이터 공유)에서 Share user data with Amazon Pinpoint(Amazon Pinpoint와 사용자 데이터 공유)를 선택합니다. 사용자가 자신의 이메일 주소와 전화 번호를 확인하면, Amazon Cognito는 사용자 계정에 사용할 수 있는 경우에만 이를 Amazon Pinpoint와 공유합니다.

    참고

    엔드포인트는 Amazon Pinpoint를 사용하여 푸시 알림이 전송될 수 있는 사용자 디바이스를 고유하게 식별합니다. 엔드포인트에 대한 자세한 내용은 Amazon Pinpoint 개발자 가이드에서 엔드포인트 추가를 참조하세요.

  9. 변경 사항 저장을 선택합니다.

Amazon Pinpoint 분석 설정 지정(AWS CLI 및 AWS API)

다음 명령을 사용하여 사용자 풀에 대한 Amazon Pinpoint 분석 설정을 지정합니다.

앱 생성 시간에 사용자 풀의 기존 클라이언트 앱에 대한 분석 설정을 지정하는 방법
사용자 풀의 기존 클라이언트 앱에 대한 분석 설정을 업데이트하는 방법
참고

Amazon Cognito는 ApplicationArn을 사용하는 경우 리전 내 통합을 지원합니다.

앱을 Amazon Pinpoint와 통합

사용자 풀 API에서 Amazon Cognito 로컬 사용자를 위한 분석 메타데이터를 Amazon Pinpoint에 게시할 수 있습니다.

로컬 사용자

계정에 가입했거나 서드 파티 ID 제공업체(idP)를 통해 로그인하는 대신 사용자 풀에서 생성된 사용자입니다.

사용자 풀 API

사용자 지정 사용자 인터페이스(UI)가 있는 앱을 사용하여 AWS SDK와 통합할 수 있는 작업입니다. 호스팅 UI를 통해 로그인하는 페더레이션 또는 로컬 사용자에 대한 분석 메타데이터를 전달할 수 없습니다. 사용자 풀 API 작업 목록은 Amazon Cognito API 참조에서 확인하세요.

캠페인에 게시하도록 사용자 풀을 구성한 후 Amazon Cognito는 다음 API 작업을 위해 메타데이터를 Amazon Pinpoint에 전달합니다.

  • AdminInitiateAuth

  • AdminRespondToAuthChallenge

  • ConfirmForgotPassword

  • ConfirmSignUp

  • ForgotPassword

  • InitiateAuth

  • ResendConfirmationCode

  • RespondToAuthChallenge

  • SignUp

사용자 세션에 대한 메타데이터를 Amazon Pinpoint 캠페인에 전달하려면 API 요청의 AnalyticsMetadata 파라미터에 AnalyticsEndpointId 값을 포함합니다. JavaScript 예제는 AWS 지식 센터에서 Amazon Cognito 사용자 풀 분석이 Amazon Pinpoint 대시보드에 나타나지 않는 이유는 무엇입니까?를 참조하세요.

사용자 풀 분석 구성

Amazon Pinpoint 분석을 이용하여 Amazon Cognito 사용자 풀 가입, 로그인, 인증 실패, 일 실사용자(DAU) 및 월 실사용자(MAU)를 추적할 수 있습니다. 또한 AWS Mobile SDK for Android 또는 AWS Mobile SDK for iOS를 사용하여 앱에 고유한 사용자 속성을 설정할 수 있습니다. 그런 다음 Amazon Pinpoint에서 사용자를 세분화하고 대상 푸시 알림에 전송하는데 이를 사용할 수 있습니다.

앱 클라이언트 및 분석 아래의 앱 통합 탭에서 기존 앱 클라이언트로 이동하거나 새 앱 클라이언트를 만들 수 있습니다. 앱 클라이언트 구성 내에서 앱과 함께 사용할 Amazon Pinpoint 프로젝트를 지정할 수 있습니다. 자세한 내용은 Amazon Cognito 사용자 풀과 함께 Amazon Pinpoint 분석 사용을 참조하세요.

참고

Amazon Pinpoint는 북미, 유럽, 아시아 및 오세아니아의 여러 AWS 리전에서 사용할 수 있습니다. Amazon Pinpoint 리전에는 Amazon Pinpoint API가 포함됩니다. Amazon Cognito에서 Amazon Pinpoint 리전을 지원하는 경우 Amazon Cognito는 이벤트를 동일한 Amazon Pinpoint 리전 내의 Amazon Pinpoint 프로젝트에 보냅니다. Amazon Pinpoint에서 해당 리전을 지원하지 않는 경우 Amazon Cognito는 us-east-1에서 이벤트 전송을 지원합니다. 자세한 Amazon Pinpoint 리전 정보는 Amazon Pinpoint 엔드포인트 및 할당량Amazon Cognito 사용자 풀로 Amazon Pinpoint 분석 사용을 참조하세요.

분석 및 캠페인을 추가하려면
  1. Add analytics and campaigns(분석 및 캠페인 추가)를 선택합니다.

  2. 목록에서 Cognito app client(Cognito 앱 클라이언트)를 선택합니다.

  3. Amazon Cognito 앱을 Amazon Pinpoint 프로젝트에 매핑하려면 목록에서 Amazon Pinpoint 프로젝트를 선택합니다.

    참고

    Amazon Pinpoint 프로젝트 ID는 Amazon Pinpoint 프로젝트에 대해 고유한 32자 문자열입니다. 이 ID는 Amazon Pinpoint 콘솔에 나열됩니다.

    Amazon Pinpoint 프로젝트에 여러 Amazon Cognito 앱을 매핑할 수 있습니다. 그러나 각 Amazon Cognito 앱은 하나의 Amazon Pinpoint 프로젝트에만 매핑될 수 있습니다.

    Amazon Pinpoint에서 각 프로젝트는 단일 앱이어야 합니다. 예를 들어, 게임 개발자에게 두 개의 게임이 있고 두 게임 모두 동일한 Amazon Cognito 사용자 풀을 사용한다 하더라도 각 게임은 개별 Amazon Pinpoint 프로젝트입니다.

  4. 사용자를 위한 추가 엔드포인트를 생성하기 위해 Amazon Cognito가 이메일 주소와 전화번호를 Amazon Pinpoint로 전송하도록 하려는 경우 [Amazon Pinpoint와 사용자 속성 데이터 공유(Share user attribute data with Amazon Pinpoint)]를 선택합니다.

    참고

    엔드포인트는 Amazon Pinpoint를 사용하여 푸시 알림이 전송될 수 있는 사용자 디바이스를 고유하게 식별합니다. 엔드포인트에 대한 자세한 내용은 Amazon Pinpoint 개발자 가이드에서 Amazon Pinpoint에 엔드포인트 추가를 참조하세요.

  5. 이미 생성한 IAM 역할을 입력하거나 [새 역할 생성(Create new role)]을 선택하여 IAM 콘솔에서 새 역할을 생성합니다.

  6. 변경 사항 저장을 선택합니다.

  7. 추가 앱 매핑을 지정하려면 Add app mapping(앱 매핑 추가)을 선택합니다.

  8. 변경 사항 저장을 선택합니다.