YOGAE

TODO: FIXME:

Pinpoint

31 Dec 2018

Endpoint

모바일 앱을 실행하는 경우 등 사용자가 세션을 시작하면 모바일 또는 웹 애플리케이션이 Amazon Pinpoint에 엔드포인트를 자동으로 등록 또는 업데이트합니다. endpoint는 사용자가 세션을 시작한 디바이스를 나타냅니다. 여기에는 디바이스를 설명하는 속성이 들어 있으며, 사용자가 정의하는 사용자 지정 속성도 포함될 수 있습니다.

application이 endpoint를 등록하면 endpoint 속성을 기준으로 사용자를 분류할 수 있습니다.

하나의 사용자 ID를 여러 endpoint에 할당할 수 있습니다. 사용자 ID는 사용자 한 명을 나타내고, 사용자 ID에 할당된 각 endpoint는 사용자의 디바이스 한 대를 나타냅니다.

Session

사용자가 앱과 상호 작용할 때 앱이 세션 시작 시간, 세션 종료 시간, 세션 중 발생한 이벤트와 같은 앱 세션 정보를 Amazon Pinpoint에 보고합니다. Android 애플리케이션에서 이 정보를 보고하려면 앱이 사용자의 Android 디바이스에서 포그라운드 및 백그라운드로 전환될 때 이벤트를 처리하는 메서드가 앱에 들어 있어야 합니다. iOS 애플리케이션의 경우 AWS Mobile SDK for iOS에서 자동으로 세션 정보를 보고합니다.

사용자 ID에 endpoint를 할당

  • Amazon Cognito 사용자 풀에서 사용자 가입 및 로그인을 관리합니다.

  • Amazon Cognito 사용자 풀을 사용하지 않고 Amazon Pinpoint 클라이언트를 사용하여 사용자 ID를 할당합니다.

    func application(_ application: UIApplication, didFinishLaunchingWithOptions
        launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
          
        // . . .
      
        if let targetingClient = pinpoint?.targetingClient {
            let endpoint = targetingClient.currentEndpointProfile()
            // Create a user and set its userId property
            let user = AWSPinpointEndpointProfileUser()
            user.userId = "UserIdValue"
            // Assign the user to the endpoint
            endpoint.user = user
            // Update the endpoint with the targeting client
            targetingClient.update(endpoint)
            print("Assigned user ID \(user.userId ?? "nil") to endpoint \(endpoint.endpointId)")
        }
      
        // . . .
          
        return didFinishLaunching
    }
    

Event

Amazon Pinpoint API를 호출해 다음 이벤트 유형을 보고할 수 있습니다.

  • 세션 이벤트

    사용자가 앱을 여고 닫는 시점과 빈도를 나타냅니다.

  • 사용자 지정 이벤트

    사용자 지정 이벤트 유형을 할당하여 정의한 비표준 이벤트입니다. 사용자 지정 이벤트에는 사용자 지정 속성과 지표를 추가할 수 있습니다.

  • 수익창출 이벤트

    애플리케이션에서 창출된 수익과 사용자가 구입한 품목 수를 보고합니다.

  • 인증 이벤트

    사용자가 에플리케이션을 인증한 빈도를 나타냅니다.