서버 간 모바일 이벤트 연동 API (모바일 S2S)

요약: 서버에서 앱스플라이어로 이벤트를 보내 앱 외부에서 발생하는 모바일 이벤트를 측정합니다.

S2S_us-en.png

서버 간 모바일 이벤트 연동 API

iOS 앱의 경우 iOS 14부터는 OS(운영 체제) 파라미터를 전송해야 합니다. 

앱스플라이어 플랫폼은 앱스플라이어 SDK와 API로 전송된 모바일 앱 이벤트를 기록하고 어트리뷰션 합니다. S2S API를 이용하여 앱 밖에서 발생하는 이벤트를 받아볼 수 있습니다. 예를 들어, 웹 인터페이스를 사용하여 사용자가 구독을 갱신합니다. 이 구독 갱신 이벤트가 S2S 이벤트로 기록되면, 앱스플라이어 플랫폼 내 대시보드, 로데이터 리포트, 애널리틱스 기능에서 모두 확인할 수 있습니다. PBA 웹 이벤트는 PBA용 S2S 웹 이벤트를 참조하십시오.

앱스플라이어 생성 S2S 이벤트

  • S2S 메시지로 보낸 값
  • 일부 앱스플라이어 인스톨 어트리뷰션 값 (예: 인스톨 시각, 미디어 소스)

API를 통해 이벤트를 보내려면 개발자에게 서버 간 이벤트 API 지침을 따르도록 지시하세요.

S2S 인앱 이벤트 파라미터

오가닉과 논오가닉 차이

앱스플라이어에서 S2S 인앱 이벤트를 처리할 때, 앱스플라이어 ID를 이용하여 어트리뷰션 필드 값이 자동으로 채워져, 입앱 이벤트 이전에 발생한 연관 인스톨을 확인합니다.

이는 논오가닉 S2S 인앱 이벤트 어트리뷰션에 사용되는 일부 데이터는 오가닉 S2S 인앱 이벤트 어트리뷰션에 사용되지 않음을 의미합니다.

 예:

논오가닉 S2S 인앱 이벤트와 오가닉 S2S 인앱 이벤트의 로데이터를 비교하면, 오가닉 이벤트에 없는 데이터가 논오가닉 이벤트에 있는 것을 알 수 있습니다.

논오가닉 인앱 이벤트는 미디어 소스, 캠페인, 어트리뷰션 터치 유형 및 어트리뷰션 터치 시간에 대한 정보를 포함하고 있습니다.

반면에 오가닉 인앱 이벤트는 오가닉 설치 이후 발생합니다. 오가닉 인스톨에는 캠페인, 미디어 소스, 어트리뷰션 터치 유형 및 인스톨 시간에 관련된 데이터가 없습니다.

앱스플라이어 ID - CUID(Customer User ID) 매핑

파라미터 값을 얻는 백엔드 로직이 필요합니다. 앱스플라이어 ID를 얻는 방법은 다음과 같습니다.

  • 앱스플라이어 ID는 필수이며, 이벤트를 어트리뷰션 하기 위해 사용됩니다.
  • 앱스플라이어 ID는 앱 사용자가 모바일 앱을 처음 설치할 때 발급됩니다.
  • 귀사의 CUID를 앱스플라이어 ID와 매핑하기 위해서는 CUID를 해당 앱에 설정해야 합니다. 

어떤 사용자가 어떤 이벤트를 수행했는지 간단히 파악하기 위해, 아래 순서대로 매핑 작업을 완료하십시오.

  • 앱을 설치한 사용자에 대해 CUID(Customer User ID)를 설정하십시오.
  • 앱스플라이어 로데이터 리포트에는 CUID와 앱스플라이어 ID가 모두 표시됩니다. 로데이터 리포트를 받으려면 데이터 전송 툴이나 앱스플라이어 Push API를 사용하십시오. 
  • 로데이터 리포트를 이용하여 CUID와 앱스플라이어 ID를 매칭하십시오. 
  • 앱스플라이어 ID는 (안드로이드/iOS) 앱에 연동된 SDK에서 확인할 수 있습니다.
  • 귀사의 내부 시스템에서 앱스플라이어 ID를 CUID와 매핑하십시오. (추후 사용을 위해 중요)

앱스플라이어 ID와 CUID를 매핑하면, 사용자를 사용자가 수행한 이벤트와 매칭할 수 있습니다. 그리고 다른 값(event value, event currency, event time 등)을 가져온 다음, 서버 간 연동된 인앱 이벤트를 전송합니다.

앱스플라이어 ID 가져오기

appsflyer_id는 서버간 이벤트 메시지에서 필수 파라미터 입니다. 앱스플라이어는 이 파라미터를 이용하여 발생 이벤트에 대해 원래 기기와 어트리뷰션한 미디어 소스의 성과를 측정합니다. 앱스플라이어 ID 확인 방법:

 

S2S 메시지를 테스트할 때, 로데이터를 확인하려면 미디어 소스, "s2s_test"를 찾으십시오. 이것은 테스트 기기를 나타내며, 이 기기의 앱스플라이어 디바이스 ID가 필요한 ID입니다.

마이너스 수익 전송하기

수익(revenue) 값이 음수인 이벤트가 전송될 수 있습니다. 예를 들어, 구매가 취소되었습니다. af_revenue 파라미터는 구매 취소를 기록하기 위해 마이너스 값을 가질 수 있습니다. 

af_quantity를 사용하는 경우, 귀사의 시스템 로직에 따라 마이너스 값을 표기할 수 있습니다. 앱스플라이어는 af_quantity를 사용하지 않습니다.

문제 해결

이벤트가 대시보드에 보이지 않습니다.

  • 엔드포인트: 엔드포인트 설정이 올바른지 확인하십시오.
  • 페이로드(payload)에 필수 파라미터가 포함되어 있는지 확인하십시오. 여기를 참조하세요.
  • 이벤트를 발송하기 위해 사용하는 앱스플라이어 ID가 실제 appsflyer_id이며 특정 앱에 실제로 설치되었는지 확인하십시오. 테스트 ID는 이 문서에 제공되지 않습니다. 여기를 참조하세요.
  • 한 S2S 요청(request)에서 복수의 이벤트를 지원하지 않습니다. 각 이벤트는 한 요청에 한 개씩 전송되어야 합니다.
    • 응답 시간을 줄이기 위해 비동기 방식으로 이벤트를 보낼 수 있습니다.
  • 개요 대시보드에 표시된 기간은 앱 인스톨 일자(LTV) 기준이며 이벤트 발생일과는 관련이 없습니다.
    • 기간(날짜 기준)을 올바르게 선택했는지 확인하십시오.
    • 대시보드의 기간이 이벤트 발생일자가 아니라 기기(appsflyer_id)의 앱 설치 날짜와 일치하는지 확인하십시오.
  • 단, 이벤트 로데이터 리포트의 기간은 인스톨 발생일이 아니라 이벤트 발생일 기준입니다.  

이벤트에 수익(revenue)이 없습니다.

S2S 이벤트를 전송했지만 수익이 기록되지 않았다면 전송한 JSON이 문자열(string)인지 확인하십시오. 가장 중요한 부분은 JSON 안에 있는 이벤트 값 파라미터입니다. 다음 예시와 같이 문자열(string) 형식이어야 합니다.

"{\"af_revenue\":\"6\" ,\"af_content_type\":\"wallets\"}"

문자열로 되어 있지 않으면, 이벤트 값이 올바로 처리되지 않고, 수익이 기록되지 않습니다.

수익 값은 어떤 식으로든 포맷되지 않아야 합니다. 소수점은 포함할 수 있습니다. 통화 기호나 코드 혹은 구분 기호인 ,를 포함하지 마세요. 수익(revenue) 앞에 - 기호를 붙일 수 있습니다.

  • 유효한 값: 123, -123.45123.456 
  • 잘못된 값: 1,234.561,234

S2S 이벤트 필드 값이 다 보이지는 않습니다.

로데이터 필드는 S2S 호출로 전송된 값을 사용하여 생성됩니다. 그 중 일부 필드는 인스톨 이벤트를 이용하여 생성됩니다. 앱스플라이어 SDK를 사용하여 보고된 인앱 이벤트에서 유사하지만 동일하지 않은 동작이 관찰됩니다. SDK 리포팅 데이터와 S2S 이벤트 데이터 사이에 몇 가지 다른 점이 있습니다. 다음 필드는 S2S 이벤트에서 자동 생성되지 않습니다.

  • wifi
  • operator
  • language
  • Device Type
  • Device Category
  • App Version: app_version_name를 사용할 수 있습니다.
  • App Name