연동 테스트

시작하기 전에

본 문서의 테스트를 성공적으로 완료하려면 다음을 수행해야 합니다:

안드로이드 SDK 연동 테스트

테스트는 다음과 같이 구성됩니다:

  1. 광고 클릭 및 전환 시뮬레이션.
  2. 인스톨의 전환 데이터 검사.

Simulate a conversion

사용자의 광고 클릭 및 앱 인스톨을 시뮬레이션합니다.

1단계: 광고 클릭 시뮬레이션
어트리뷰션 링크를 통해 광고 클릭을 시뮬레이션합니다. 어트리뷰션 링크를 다음과 같이 구성합니다:

https://app.appsflyer.com/<app_id>?pid=<media_source>
&advertising_id=<registered_device_gaid>

장소:

  • app_id 사용자의 앱스플라이어 앱 ID입니다.
  • pid 인스톨에 어트리뷰트해야 하는 미디어 소스입니다.
  • advertising_id 등록된 기기의 GAID입니다.

The advertising_id 파라미터는 ID 매칭을 통해 어트리뷰트를 지정하는 데 필요합니다. 생략하면 어트리뷰션이 확률적으로 발생합니다.

예를 들어 앱 ID가 com.my.app, the attribution link might look like this:

https://app.appsflyer.com/com.my.app?pid=devtest&c=test1

또는 GAID 사용:

https://app.appsflyer.com/com.my.app?pid=devtest&c=test1&advertising_id=********-****-****-****-************

👍

종종 어트리뷰션 링크를 사용한 테스트는 두 번 이상 수행됩니다. 그런 이유로 테스트할 "버전"에 어트리뷰션 파라미터 중 하나를 사용하는 것이 좋습니다. 그러면 어떤 링크가 어떤 전환을 유발했는지 더 쉽게 이해할 수 있습니다.

In the above example, the value of c is test1. In consecutive tests, increment the value of c to test2, test3, and so on.

2단계: 앱 인스톨
디버그 모드를 활성화하고 등록된 테스트 기기에 앱을 인스톨합니다.

3단계: 테스트 실행
전환 데이터 검사를 진행합니다.

Inspect conversion data

전환을 시뮬레이션한 후 다음 단계에 따라 인스톨의 전환 데이터를 검사합니다.

1단계: 인스톨 UID 검색
앱이 인스톨되면 디버그 로그를 검색합니다. conversions.appsflyer

2단계: 전환 데이터 검사
전환 데이터 테스트 API로 이동하여 다음 필수 필드를 입력합니다:

  1. app-id: 사용자의 앱 ID
  2. device_id: paste the value of uid from step 1.
  3. af_request_epoch_ms - Current epoch timestamp. You can get it here
  4. The af_sig created by concatenating the values of the following fields:
    Concatenate the value of af_request_epoch_ms with device_id and app_id, separated an invisible character \u2063.
    (E.g. 1661969117203 1591184059153-1591377216180180185 com.zzkko)

The HMAC is generated using SHA256 and uses the DevKey as the signature’s secret key.
To retrieve the DevKey, in the AppsFlyer dashboard, go Configuration > App Settings.

You can find here an HMAC calculator to assist in calculating this token.

그런 다음 시도하기!를 클릭하여 테스트를 실행하십시오.

예상 결과
인스톨의 전환 데이터를 포함한 200 응답(가독성을 위해 잘림):

{
  ...
  "campaign": "test1",
  ...
  "media_source": "devtest",
  ...
  "af_status": "Non-organic"
  ...
}

📘

참고

해당 인스톨이 대시보드에 표시될 때까지 30여 분 정도 시간이 소요될 수 있습니다.

안드로이드 SDK 연동 문제 해결

항상 오가닉으로 어트리뷰트 되는 인스톨

시나리오
어트리뷰션 링크를 사용하여 어트리뷰션을 테스트하려고 합니다. SDK conversion listerner를 구현했지만 로그에서는 항상 설치가 오가닉으로 표시됩니다. 게다가, 논오가닉 인스톨은 대시보드에 전혀 기록되지 않았습니다.

가능한 이유

  1. dev key가 잘못되었습니다. 잘못된 dev key를 입력하면 앱 설치를 어트리뷰트 할 수 없습니다.
  2. 사용하는 어트리뷰션 링크가 잘못되었습니다. 어트리뷰션 링크에 대한 가이드를 참조하십시오.
  3. 테스트 중인 기기가 등록되어 있는지 확인하십시오.
  4. 적절하지 않은 채널이 manifest에 정의되어 있습니다.

감지되거나 어트리뷰트 되지 않은 인스톨

시나리오
인스톨 어트리뷰션을 테스트하려고 하지만, 로그에는 type, first launch 등과 같은 앱 설치 관련 데이터가 표시되지 않습니다.

가능한 이유

  1. 메서드가 start and init 에서 호출되는지 확인합니다. Application class.
  2. 테스트 중인 기기가 등록되어 있는지 확인하십시오.

앱 설치 또는 이벤트 기록시 404 응답이 표시됩니다

시나리오
인앱 이벤트가 정확한 미디어소스에 어트리뷰트되는지 확인하기 위해 테스트하려고 합니다. 그러나 앱 설치 및 인앱 이벤트를 보낼 때 모두, 로그에는 404 응답이 표시됩니다. 앱 설치 또는 인앱 이벤트 아무것도 대시보드에 표시되지 않습니다.

가능한 이유
404 응답은 앱 ID가 잘못되었음을 나타냅니다. 파일의 파라미터에 있는 앱 ID가 applicationId 대시보드의 build.gradle 앱 ID와 동일한지 확인합니다.

수익이 제대로 기록되지 않았습니다

시나리오
수익 데이터가 포함된 인앱 이벤트를 테스트하려고 합니다. 이벤트는 대시보드에 표시되지만 수익은 기록되지 않습니다

가능한 이유
수익 파라미터가 올바른 형식이 아닙니다. 수익 값은 어떤 표시 형식도 지정되지 않아야 합니다. 쉼표 구분 기호, 환율 기호, 또는 문자가 포함되면 안됩니다. 예를 들어, 수익 값은 1234.56과 같은 형태가 되어야 합니다.

인앱이벤트를 테스트할 때, "AppsFlyer's SDK cannot send any event without providing devkey"라고 로그에 표시됩니다

시나리오
로그에서 인앱 이벤트를 확인해보려고 합니다. 이벤트를 트리거하면 로그에는 "AppsFlyer's SDK cannot send any event without providing DevKey" 라고 표시됩니다.

가능한 이유
사용자가 dev key를 start 파라미터로 전달하지 않고 메서드를 호출합니다. 메서드에 dev key를 전달하십시오.

인앱이벤트를 테스트할 때, "not sending data yet, waiting for dev key"라고 로그에 표시됩니다

시나리오
로그에서 인앱 이벤트를 테스트해보려고 합니다. 이벤트를 트리거하면 로그에 "Not sending data yet, waiting for dev key" 라고만 표시됩니다.

가능한 이유
사용자가 dev key를 init 그리고 사용자가 dev key를 빈 문자열로 전달합니다. 메서드에 dev key를 전달하십시오.

인앱이벤트를 테스트할 때, 400 응답을 받았습니다

시나리오
인앱이벤트를 테스트하려고 합니다. 이벤트를 트리거하면 로그에 오류 400이 표시됩니다.

가능한 이유
이것은 dev key에 문제가 있음을 나타낼 수 있습니다. dev key가 올바른지 확인하십시오. 또한, dev key에 영숫자만 포함되어 있는지 확인하십시오.

"warning: Google play services is missing"라고 로그에 표시됩니다

시나리오
로그캣에서 "WARNING: Google Play Services is missing" 경고메시지가 표시됩니다.

가능한 이유
앱에 구글 플레이 서비스 디펜던시(Google Play Services dependencies)가 누락되어 있습니다. 이로 인해 SDK가 구글 광고 ID(GAID)를 수집하지 못하게되어 어트리뷰션 문제가 발생할 수 있습니다.

앱 수준 다음 종속성을 추가합니다. build.gradle file:

implementation 'com.google.android.gms:play-services-base:15.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'

앱 설치 또는 이벤트 기록시 response 403이 표시됩니다.

시나리오
로그에서 인스톨과 기타 전환 이벤트를 확인하고자 합니다. 이러한 이벤트를 트리거하는 경우 로그에 response 403 (forbidden)이 표시됩니다.

가능한 이유
This might be because you have the Zero package, which does not include attribution data; only data on clicks and impressions. To start receiving attribution data, learn more about the different AppsFlyer packages, and update as needed. You can also contact our customer engagement team at [email protected] if you have questions about our packages.

안드로이드 디버그 앱 만들기

선택 가능
Android Studio의 빌드 변형을 활용하여 테스트 목적으로 사용하기 쉬운 디버그 앱을 구성할 수 있습니다.

모든 테스트는 프로덕션 및 디버그 앱 모두에 대해 수행할 수 있습니다.

1단계: Gradle의 debug 빌드 유형 설정
앱 수준 build.gradle 파일에서 debug 빌드 유형을 설정하고 applicationIdSuffix 태스트 앱의 이름을 설정합니다(이 경우, .debug).

android {
    // ...
    buildTypes {
        // Prevents a signing error when building the production app
        release {
            signingConfig signingConfigs.debug
        } 
        debug {
            applicationIdSuffix ".debug"
        }
    }
}

2단계: 앱스플라이어에 새 앱 추가
앱을 앱스플라이어 대시보드에 추가할 때 결과 패키지 이름을 앱 ID로 사용하거나 대시보드 액세스 권한이 있는 팀원에게 추가를 요청하십시오.

예를 들어 패키지 이름을 가진 앱이 있고 com.your.app 위의 Gradle 설정을 사용하는 경우 테스트 앱의 이름은 com.your.app.debug앱을 앱스플라이어에 추가할 때 이 이름을 앱 ID로 전달하십시오.