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

요약: 모바일 API를 위한 서버 간(S2S) 이벤트 연동으로 앱 밖에서 발생하는 이벤트를 앱스플라이어로 전송합니다. S2S 이벤트는 SDK 이벤트와 유사하게 어트리뷰션을 하며, 앱스플라이어 플랫폼 내 모든 메뉴에서 확인할 수 있습니다. 

S2S_us-en.png

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

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

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

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

API 사용법

아래 정보를 참고하여 API 호출을 설정하십시오.  

S2S API 설명

API 엔드포인트

https://api2.appsflyer.com/inappevent/app_id

  • app_id: 앱스플라이어 대시보드에 표시되는 앱 ID 대시보드에 표시되는 대로 정확하게 삽입하십시오.
  • iOS 앱 : 반드시 id를 접두사(prefix)로 두십시오 .그렇지 않으면 이벤트를 기록하지 않고 OK를 의미하는 코드 200이 리턴됩니다.
  • Windows: 마이크로소프트 앱스토어에서 앱 ID를 가져옵니다.
  • 안드로이드 예: https://api2.appsflyer.com/inappevent/com.appsflyer.myapp
    iOS 예:https://api2.appsflyer.com/inappevent/id123456789
    Windows 예:https://api2.appsflyer.com/inappevent/a1b2c3d4e5f6
HTTP 메서드 POST
허용된 콘텐츠 타입 application/json
권한관리

--header 'authentication: dev_key'

  • dev_key는 header에 있는 인증키 입니다. 
  • 앱스플라이어 대시보드에서 앱 설정 > Dev Key로 가서 dev key를 받습니다.
응답 메시지 수신 허용 서버 등록

귀사의 서버 앞에 방화벽이 설치되어 있으면, 응답 메시지를 받도록 허용할 AWS IP 주소 범위를 등록합니다. 

JSON 페이로드(payload) 제한 

JSON 페이로드(payload) 용량: 최대 1KB

콜 수 제한

POST 제한 용량: 분당 60,000 POST 제한 용량을 늘리시려면, 담당 고객성공매니저에 연락바랍니다.

코딩 지시사항
URL로 인코딩하기

예약 문자(reserved characters)로 퍼센트 인코딩을 합니다. (https://tools.ietf.org/html/rfc3986#section-2.1) 이 인코딩은 메서드 URL 형성 이전에 수행합니다. 

TLS

TLS 1.2 이상을 사용합니다. 암호(cipher)가 지원됩니다.

S2S API 설명

페이로드(payload) 파라미터

  • 페이로드(payload) 파라미터는 하나 혹은 하나 이상의 디바이스 ID(OS에 따라 다름)로 구성됩니다.
  • 디바이스 ID를 전송할 수 없다면?
    • 사용자가 광고 추적 제한(LAT, Limited Ad Tracking) 기능을 켜거나, iOS14을 사용하고 앱 추적 투명성(ATT, App Tracking Transparency)에서 IDFA 사용에 동의하지 않는 경우와 같이 통제할 수 없는 이유로 디바이스 ID를 전송할 수 없을 수도 있습니다.
    • 이 경우, 광고 ID/디바이스 ID를 전송하지 않으면 어트리뷰션이 되지 않을 수 있음을 숙지하십시오. 즉, 앱스플라이어는 이벤트를 미디어 소스에 어트리뷰션할 수 없습니다. 이벤트는 리포트와 대시보드에 기록됩니다. 
운영체제 식별자 이름 설명

iOS

iconAFios.png

 

idfa 

사용가능시, 디바이스의 IDFA가 나타납니다.

형식: 문자열(string)

예: "idfa": "9876F1SS-2983-3855-27RR-2R626772VFNB"

IDFV

사용가능시, 디바이스의 IDFV가 나타납니다.

형식: 문자열(string)
예시: "idfv": "95C9BD22-4A4C-41C8-9548-ED07C5C8C145"

Android

iconAFand.png

advertising_id

GAID (advertising ID) 사용가능시, 디바이스의 GAID (광고 ID)가 나타납니다.

형식: 문자열(string)

예: "advertising_id": "9c9a82fb-d5de-4cd1-90c3-527441c11828"

oaid

형식: 문자열(string)

예: "oaid": "1fe9a970-efbb-29e0-0bdd-f5dbbf751ab5"

amazon_aid

형식: 문자열(string)

IMEI

형식: 문자열(string)

예: "imei": "AA-BBBBBB-CCCCCC-D"

디바이스 식별자(ID)
파라미터 이름 필수 설명

appsflyer_id

앱 최초 실행시, 앱스플라이어가 발급하는 고유 식별자 

  • 형식: 문자열(string)
  • 예: "appsflyer_id": "1415211453000-6513894"

CUSTOMER_USER_ID

아니요

Customer user ID, 앱 소유주가 설정한 고유한 사용자 ID입니다.

  • 형식 : 문자열(string)
  • 예: "customer_user_id": "my_customer_number1234" 

att

아니요

iOS ATTrackingManager 인증 상태

  • 기기 OS 버전이 iOS 14 이상이면, ATTrackingManager로 att가 자동 생성됩니다.
    • 형식: 한 자리 숫자(int) 
    • 예: 1
  • ATTrackingManager에 대한 iOS 값: 
    • 0: 정해지지 않음
    • 1: 제한됨
    • 2: 거부됨
    • 3: 승인됨

중요! 

  • Apple 개인정보보호 정책에 따라, att 를 ATTrackingManager 값에 추가하기를 권장합니다.
  • 이 파라미터를 iOS14 공식 출시 이전에 미리 전송할 수 있으며 미리 전송된 파라미터는 iOS14 공식 출시 후 처리됩니다.  

 

ip

아니요

이벤트가 발생한 모바일 기기 IP 주소

  • 이 파라미터로 전송되는 IP 주소는 geo 필드에 나타납니다.
  • 이 파라미터가 전송되지 않으면, 인스톨 어트리뷰션 이벤트 값을 이용하여 IP 주소와 geo 필드 값이 자동 생성됩니다.  
  • 형식: IPV4 혹은 IPV6 주소를 포함한 문자열(string)
  • 예: "ip": "192.0.2.1
af_events_api 사용 중단
  • 2020년 7월 6일부로 사용 중단
  • 이 파라미터는 더 이상 필요하지 않습니다. 전송을 중단하십시오. 이 파라미터의 전송을 중단하는 것이 어트리뷰션에 전혀 영향을 끼치지 않습니다.  

eventName

이벤트 이름을 지정하십시오. 이벤트 이름은 마케터의 요구사항에 따라야 합니다.

  • 형식: 문자열(string)
  • 예: "eventName": "af_purchase"

eventValue

값이 없는 이벤트를 전송할 경우, "eventValue":""를 전송하십시오.

  • 이벤트 값은 추가 기호나 포맷팅 없이 전송되어야 합니다. 
  • af_revenue 에는 소수점을 사용할 수 있습니다. 마이너스 값은 앞에 -이 붙습니다.
  • 형식: JSON 문자열(string)
  • 예: "eventValue": "{ \"af_revenue\": \"6\", \"af_content_type\": \"wallets\", \"af_content_id\": \"15854\", \"af_quantity\" :\"1\" }"

app_version_name

아니요

앱 버전 혹은 앱 식별자(ID)

  • 형식: 문자열(string)
  • 예: "app_version_name": "my_app_version"

app_store

아니요

안드로이드 앱의 AF_STORE와 동일 앱이 다운로드된 스토어 

  • 로데이터 필드: Install App Store
  • 형식: 문자열(string)
  • 예: my_android_store_is_best

eventTime

아니요

UTC 기준 이벤트 발생 시각

  • 기본값:eventTime이 전송되지 않으면, 시간은 HTTP 메시지 도착 시간으로 설정됩니다.
  • 형식: yyyy-mm-dd hh:mm:ss.sss 문자열(string). 시간대는 UTC 기준으로 설정해야 합니다.
  • 예: "eventTime":"2019-05-15 12:17:01.123" 는 12:17:01 UTC를 의미합니다. 

일일 마감

  •  eventTime을 구현했으면, 이 이벤트는 앱스플라이어에 다음 날 02:00까지 도착해야 합니다. 예를 들어, 이벤트가 월요일 17:00 UTC에 발생했다면, 이 이벤트는 앱스플라이어 서버에 화요일 02:00 UTC까지 도착해야 합니다. 
  • 일일 마감 시간 이후 수신된 이벤트는 실제 도착 시각으로 타임스탬프가 찍힙니다.
  • 이벤트 시간이 데이터 도착 시간 이후인 미래 시간이면 이벤트 도착 시간이 찍힙니다. 

  • 시간은 UTC 기준입니다.
  • 이벤트가 eventTime = Monday 21:00과 함께 전송됩니다.
도착 시간 앱스플라이어 기록 시간 참고
화요일 01:00 월요일 21:00 일 마감 시간 전 (데이터) 도착
수요일 09:00  수요일 09:00 일 마감 시간 후 도착하면,  도착 시간으로 기록됩니다.

eventCurrency

아니요

ISO 4217 규정 3자리 문자코드 및 BCN (Bitcoin)

  • 기본 설정: USD
  • 예: "eventCurrency": "ZAR"

bundleIdentifier

아니요

고유 앱 식별자. 이 파라미터는 로데이터에서 Bundle ID를 생성합니다.

  • 형식: 문자열(string)
  • 예: "bundleIdentifer": "com.myapp"

sharing_filter

아니요

sharing_filter 파라미터는 포스트백/API를 통해서 연동 파트너 및 연동된 제 3자와의 S2S 이벤트 공유를 차단합니다. 

이 필터는 GDPR과 CCPA 같은 개인정보보호 요건을 준수하기 위해, 혹은 기타 비즈니스 로직에 따라 사용자 (개인정보공유) 옵트아웃을 구현할 때 사용하십시오.  

sharing_filter는 다음과 같은 옵션이 있습니다.

  • all: 모든 파트너가 차단됩니다. 이벤트를 아무와도 공유하지 않습니다.  예: "sharing_filter": "all"
  • 공유 허용 파트너 설정: 허용 파트너 ID 나열 형식: ["partnerid_1", "partnerid_2", "partnerid_n"]  예: "sharing_filter": ["googleadwords_int", "adcolony_int"]

파트너 ID 목록이 필요하시면 담당 고객 성공 매니저나 hello@appsflyer.com 으로 연락주십시오. 

curl 예시

curl --location --request POST 'https://api2.appsflyer.com/inappevent/<app_id_placeholder>' \
--header 'authentication: <dev_key_placeholder>
' \
--header 'Content-Type: application/json' \
--data-raw '{
  "appsflyer_id": "9999999999999-9999999999999999999",
	"advertising_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
	"customer_user_id" : "example_customer_id_123",
	"ip": "199.0.2.1",
	"app_version_name" : "example_version_name",
	"eventTime" : "2020-02-25 12:00.000",
	"eventName": "af_purchase",
	"eventCurrency": "ZAR",
	"eventValue": 
	"{
		\"af_revenue\": \"1006\",
		\"af_content_type\": \"wallets\",
		\"af_content_id\": \"15854\",
		\"af_quantity\" :\"1\"
   }"
}
'

응답 코드

응답 코드  메시지 처리 방법
200 OK

메시지를 수신하면 최소 데이터 검증 작업이 수행됩니다. 그래서 앱스플라이어에 이벤트가 완전히 다 기록되지 않더라도 OK 응답을 받을 수 있습니다. 이벤트를 디버깅하려면

  • 이 문서의 curl 예시를 참조하여,
    • 앱 ID와 dev key 정보를 업데이트 하십시오.
    • appsflyer_id 파라미터와 eventTime 파라미터를 변경하십시오. 현재 시간과 최근 논오가닉으로 어트리뷰션된 appsflyer_id를 사용하십시오.
  • 그리고 이벤트를 호출하십시오.
    • 200 OK 메시지가 리턴되어야 합니다.
    • 이벤트가 수익(revernue)를 포함하여 올바르게 기록되었는지 확인하십시오.
    • 필요시 추가 변경 작업을 하고 다시 테스트 하십시오.
400 인증 실패 인증 키가 올바른지 확인하십시오.
400  appsflyer_id 는 필수 필드입니다.
  • JSON에서 올바른 앱스플라이어 ID를 전달했는지 확인하십시오.
  • JSON이 문자열()이고 올바른 형식인지 확인합니다.
401 Unauthorized authentication(인증) 헤더에 제공된 키가 해당 앱에 대한 <dev_key>가 아닙니다.
400 Bad request

요청(request)이 유효성 검증 기준 중 하나라도 어긋나는 경우

400  페이로드(payload)가 누락되었거나 파싱(parsing)되지 않았습니다.
  • JSON이 문자열이고 올바른 형식인지 확인하십시오.
  • JSON 페이로드(payload)에 이벤트가 두 개 이상 포함되었다면, 한 번의 요청에 하나의 이벤트만 전송하도록 하세요.
500  내부 서버 오류 JSON이 문자열()이고 올바른 형식인지 확인하십시오.
 

테스트

유의사항

  • 테스트를 할 때, 논오가닉 인스톨의 앱스플라이어 ID를 사용하여 테스트 이벤트 어트리뷰션이 실시간으로 이루어지도록 하십시오. 오가닉 이벤트 어트리뷰션은 몇 시간 지연됩니다.
  • 일부 이벤트 필드는 해당 앱 유저의 인스톨 어트리뷰션 이벤트를 이용하여 자동 생성됩니다. 예: 인스톨 시간, 미디어 소스 

테스트 기기로 논오가닉 인스톨 어트리뷰션하기

  1. S2S 메시지 테스트를 위한 커스텀 어트리뷰션 링크를 준비합니다. 이 링크에서 미디어 소스 파라미터를 s2s_test로 설정합니다. 예: &pid=s2s_test 
  2. 테스트 기기를 등록합니다.
  3. 테스트할 앱을 테스트 기기에서 삭제합니다.
  4. 어트리뷰션 링크를 테스트 기기에 보냅니다.
  5. 그 링크를 클릭합니다.
  6. 앱을 설치하고 실행합니다.
  7. 앱스플라이어 대시보드에서 인스톨이 어트리뷰션되었는지 확인합니다.
  8. S2S 메시지에 사용할 앱스플라이어 ID를 가져옵니다.

S2S 테스트 메시지 전송하기

  1. 할당된 앱스플라이어 ID를 이용하여 S2S 메시지를 준비합니다. 아래 S2S 메시지 전송 코드 예시를 참고하십시오.
  2. 메시지를 전송합니다.
  3. 다음 방식 중 하나로 발송된 메시지가 앱스플라이어에 어떻게 기록되는지 확인합니다.
  4. 다음 항목을 확인합니다.
    • S2S 메시지로 전송된 값이 리포트에 올바르게 생성되었는지 확인합니다. Event date, Event currency, Event revenue그리고 Event value 필드를 특히 주의해서 확인합니다.
    • 어트리뷰션 소스와 인스톨 시간은 앱스플라이어에서 자동으로 생성됩니다.
    • SDK 버전 같이 SDK가 제공하는 값은 표시되지 않습니다.

S2S 메시지 전송 코드 예시

JavaPythonNode JSC#PHPGo
/* using the okhttp package 
install from maven https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp */
import okhttp3.*;
import java.io.IOException;

public class SendRequest {
  public static void main(String[] args) {

    OkHttpClient client = new OkHttpClient();
    MediaType mediaType = MediaType.parse("application/json");

    RequestBody body = RequestBody.create(mediaType, "" +
        "{\r\n\t\"appsflyer_id\": \"<APPS_FLYER_ID>\"," +
        "\r\n\t\"customer_user_id\": \"123456\",\r\n\t\"eventName\": \"af_purchase\",\r\n\t\"" +
        "eventValue\": \"{\\\"af_revenue\\\":\\\"6\\\" ,\\\"af_content_id\\\":\\\"15854\\\"}\",\r\n\t\"" +
        "eventCurrency\": \"USD\",\r\n\t\"" +
        "eventTime\": \"2018-08-10 4:17:00.000\",\r\n\t\"");

    Request request = new Request.Builder()
        .url("https://api2.appsflyer.com/inappevent/<APP_ID>")
        .post(body)
        .addHeader("Content-Type", "application/json")
        .addHeader("authentication", "<YOUR_DEV_KEY>")
        .build();

    try {
      Response response = client.newCall(request).execute();
      System.out.println(response.code());
      System.out.println(response.body().string());
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

광고 ID/디바이스 ID 전송 중요

  • 광고 ID/디바이스 ID는 페이스북과 구글 애즈 같은 SRN(Self Reporting Network)에 포스트백을 전송하기 위한 필수 요소입니다. 이 ID를 보낼 수 없으면, 포스트백을 전송할 수 없는 점을 고려하십시오.
  • 앱스플라이어 ID만 전송하더라도, 인앱 이벤트가 기록되며 정확히 어트리뷰션됩니다.

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 등)을 가져온 다음, 서버 간 연동된 인앱 이벤트를 전송합니다. 

 Request 본문 예

{
  "appsflyer_id": "1415211453000-6513894",
	"advertising_id": "38412345-8cf0-aa78-b23e-10b96e40000d",
	"eventName": "af_purchase",
	"eventValue": 
	"{
		\"af_revenue\": \"6\",
		\"af_content_type\": \"wallets\",
		\"af_content_id\": \"15854\",
		\"af_quantity\" :\"1\"
   }",
	"eventCurrency": "USD",
	"ip": "1.2.3.4",
	"eventTime": "2014-05-15 12:17:00.000"
}


이 경우, 앱스플라이어는 콘텐츠 유형과 같은 추가적인 속성 뿐만 아니라 수익(revenue)을 포함한 구매 이벤트를 나타내는 S2S 인앱 이벤트를 수신합니다.

앱스플라이어 ID 가져오기

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

 

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

마이너스 수익 전송하기

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

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

마이너스 수익 예시

{
	"eventName": "cancel_purchase",
	"eventValue": 
	"{
		\"af_revenue\": \"-6\",
		\"af_content_type\": \"wallets\",
		\"af_content_id\": \"15854\",
		\"af_quantity\" :\"1\"
   }",
	"eventCurrency": "USD",
	
}

이벤트 값이 없는 이벤트 전송하기

이벤트 값이 없는 이벤트를 전송하려면 이벤트 값에 다음과 같이 빈 문자열을 넘깁니다. "eventValue":""

광고주의 설정에 따라 앱스플라이어는 리치 인앱 이벤트를 미디어 소스에 전송할 수 있고, 이를 타겟팅 고도화, 최적화, 오디언스 생성 목적으로 활용할 수 있습니다.

문제 해결

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

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

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

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

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

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

수익 값은 어떤 식으로든 포맷되지 않아야 합니다. 소수점 표시 콤마(decimal comma)를 사용할 수 있지만 의무는 아닙니다. 통화 기호나 코드 혹은 구분기호인 , 를 포함하지 마세요. 수익(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
도움이 되었습니까?