SDK 연동 테스트 및 디버깅
앱을 스토어에 제출하기 전 SDK 연동을 테스트하십시오. 이 문서에서는 SDK가 앱스플라이어 iOS SDK와 앱스플라이어 안드로이드 SDK를 둘 다 지칭합니다.
특별한 테스트와 디버깅 케이스
- 스마트 TV: SDK는 안드로이드 기반 스마트 TV, Apple TV (tvOS) 와 호환이 가능합니다. 이 가이드 문서의 지시사항에 따라 스마트 TV앱을 테스트하십시오.
- 아직 배포되지 않은 tvOS 앱: 배포 전, tvOS 연동을 테스트하십시오.
- Amazon Fire TV: 구글 플레이 외 안드로이드 스토어에서의 테스트를 참고하십시오.
왜 디버그하고 테스트 해야할까요?
꼼꼼하게 테스트하여 연동이 완료된 경우, 데이터 수집이 정확하고 포괄적으로 이루어집니다. SDK 연동을 테스트하면, 인스톨 및 인앱 이벤트가 정확히 기록되고 어트리뷰션이 바르게 작동합니다.
SDK 연동 테스트 및 디버깅
다음 테스트 방법 중 하나로 SDK 연동을 테스트하고 디버그 하십시오.
-
기본 테스트:
- 어트리뷰션 링크를 사용하여 연동 테스트를 합니다.
- 앱스플라이어 어트리뷰션 모델은 어트리뷰션 링크를 기반으로 이루어집니다. 어트리뷰션 링크를 사용하여 테스트 수행하는 것을 추천합니다.
- 어트리뷰션 링크를 사용하여 SDK 연동을 테스트하면 앱스플라이어 어트리뷰션 모델에 대한 심층적인 인사이트를 얻을 수 있습니다. 이는 마케팅 운영을 분석하고 최적화하는데 도움이 됩니다.
-
심화 테스트
- 개발 환경에서 바로 디버깅합니다.
- 기본 SDK 연동 테스트 는 제한적인 기능들만 테스트 합니다. 개발 환경에서 디버그 로그를 이용하여 다음 항목을 테스트 하십시오.
- 인앱 구매 검증
- 컨버전 데이터
- SDK 설정 오류 개발 환경에서 디버그 로그를 사용하여 이를 테스트 할 수 있습니다.
광고 네트워크를 위한 읽을거리: 광고 네트워크 연동 테스트
SDK 연동 테스트 페이지를 사용하여, 프로젝트 내 연동 이슈를 찾을 수 있습니다. SDK 연동 테스트 페이지로 인스톨, 인앱 이벤트 및 딥링킹을 테스트하십시오.
SDK 연동 테스트
SDK 연동 테스트
- 앱이 설치되지 않은 기기(iOS 혹은 안드로이드)를 준비합니다. 필요시, 앱을 삭제합니다.
- 기기를 테스트 기기로 등록합니다. 중요! iOS: TestFlight를 사용하여 앱을 설치하면 기기를 테스트 기기로 등록할 필요가 없습니다.
- 앱스플라이어에서 앱을 선택합니다.
-
연동 > SDK 연동 테스트 메뉴를 클릭합니다.
SDK 연동 테스트 페이지가 열립니다. - 테스트 옵션을 선택합니다.
- 논오가닉 설치
- 인앱 이벤트
- 딥링킹
- 선택한 테스트 종류에 따라 아래 테스트 절차를 따르십시오.
오가닉 인스톨 테스트
- 등록된 테스트 기기에 앱을 설치하십시오.
- 앱을 실행합니다.
- 해당 앱의 대시보드에서 신규 오가닉 인스톨이 나타납니다.
논오가닉 인스톨 테스트
- 논오가닉 인스톨을 선택합니다.
- 등록된 기기를 선택합니다.
- 앱 소스 선택:
- 안드로이드:
- 구글 플레이
- 그 외 앱 마켓들 (out-of-store)
- iOS:
- 앱스토어
- XCode
- TestFlight
- 안드로이드:
- 등록된 테스트 기기로 QR 코드를 스캔하고 기기에서 지시 사항을 따르십시오.
- SDK 연동 테스트 페이지에 논오가닉 인스톨이 등록되어, 테스트 성공이 표시될 때까지 기다리십시오. 최대 2분이 소요될 수 있습니다.
해당 시점까지 앱이 논오가닉 인스톨을 등록하지 않으면, SDK 연동 테스트 가이드 문서 문제 해결 섹션을 참조하십시오.
LAT 인스톨 테스트하기
- 기기에서 LAT 모드를 켭니다.
- 논오가닉 인스톨 테스트를 합니다.
ATT 미동의 (IDFA 없음) 인스톨 테스트
- ATT 동의 팝업창에서 추적 미동의를 클릭합니다.
- 논오가닉 인스톨 테스트를 합니다.
인앱 이벤트 테스트
- In-app events 아래 Run test를 클릭하십시오.
- 드롭 다운 메뉴에서 등록된 테스트 기기를 선택하고, 다음(Next)을 클릭하십시오.
- 앱을 시작하고 인앱이벤트를 발생시키길 시작하십시오.
- 이러한 이벤트의 로그가 실시간으로 등록되며 표시됩니다.
딥링크 테스트
- 딥링킹를 테스트하려면 앱에 원링크(OneLink)가 정의되어 있어야합니다. 원링크 안내서는 여기를 참고하십시오. 딥링킹 연동 가이드에 따른 SDK 딥링킹 구현을 적극 권장합니다.
- 리타겟팅 토글이 켜져있는지 확인하십시오.
- Deeplinking 아래 Run test 를 클릭하십시오.
- 드롭 다운 메뉴에서 등록된 테스트 기기를 선택하고, 다음(Next)을 클릭하십시오.
- Test Type을 선택하십시오.
- 원링크 - 드롭다운 메뉴에서 테스트하려는 원링크를 선택하십시오.
- URI scheme - 테스트하려는 URI scheme을 입력하십시오. 예: greatapps://cars.
- 등록된 테스트 기기로 QR 코드를 스캔하고 기기에서 지시 사항을 따르십시오.
- 이 두 테스트가 완료되면 딥링킹 테스트가 성공한 것으로 간주됩니다.
디버그 앱을 사용하여 SDK 연동 테스트
어트리뷰션 링크를 사용하여 테스트를 수행하면, 데이터가 앱 대시보드에 기록됩니다. 데이터가 일단 기록되면 삭제할 수 없습니다. 테스트 데이터를 실제 앱의 일부로 기록하지 않으려면, 디버그 앱을 사용하여 SDK 연동을 테스트 할 수 있습니다.
테스트 앱이 필요하지 않거나, 테스트 데이터와 실제 데이터가 합쳐지는 것에대한 염려가 없는 경우 이 섹션을 건너 뛰십시오.
디버그 앱은 앱스토어에 게시된 앱의 동일한 사본입니다. 디버그 앱에서 SDK 연동 테스트를 실행하면, 테스트 데이터로 실제 데이터를 오염시키지 않습니다.
디버그 앱은 다음과 같은 점에서 실제 앱과 다릅니다.
- 다른 앱 ID를 가짐
- 별도의 대시보드를 가짐
- 앱스토어에 게시되지 않음
안드로이드 테스트 앱 만들기
안드로이드 앱 복제
- 안드로이드 프로젝트 폴더를 복사하고, 이름을 바꿉니다.
- 안드로이트 스튜디오에서 새로 복사한 프로젝트를 엽니다.
- 안드로이드 스튜디오에서, 폴더를 확장하여 패키지가 표시되도록 합니다.
- 패키지 이름을 우클릭하고, Refactor를 선택한 다음 Rename을 클릭하십시오.
- 패키지 이름을 바꿉니다.
- 앱 레벨 build.grade 에서
applicationId
를 새 패키지 이름으로 변경합니다.
앱스플라이어에 안드로이드 테스트 앱 추가
안내에 따라 앱스플라이어 대시보드에 새로운 앱을 추가합니다. 패키지 이름이 원래 앱의 패키지 이름이 아니라, 새로 생성된 테스트 앱의 패키지 이름과 동일한지 확인하십시오. 또한 앱 상태를 Pending approval(승인 보류 중) 또는 Unpublished(퍼블리쉬 이전) 으로 설정해야합니다.
이제 새로운 테스트 앱에서 테스트를 실행할 수 있습니다.
iOS 테스트 앱 만들기
iOS 앱 복제
- Finder에서 프로젝트 폴더를 엽니다.
- 폴더를 복제합니다.
- XCode에서 복제된 프로젝트를 엽니다.
AppDelegate
클래스의didFinishLaunchingWithOptions
메서드 내에서 새 앱 ID를 설정하십시오.Objective C
Swift
참고
앱 ID는 앱이 앱스토어에 게시되면 앱에 제공되는 ID입니다. 그러나 이 앱은 테스트 앱이므로, 다른 앱에서 사용하지 않는한 아무거나 원하는 ID를 부여 할 수 있습니다. 형식은 11111**** 이어야합니다. 예를 들어, 111117538.
ID가 9자리인지 확인하십시오. 다섯개의 숫자 1로 ID를 시작하십시오. 나머지 숫자는 무작위로 하십시오. 위의 ID 예시를 참조하십시오.
앱스플라이어 대시보드에 iOS 테스트 앱 추가
안내에 따라 앱스플라이어 대시보드에 새로운 앱을 추가합니다. 앱 ID가 새로 생성된 테스트 앱의 앱 ID와 동일한지 확인하십시오. 또한 앱 상태를 Pending approval(승인 보류 중) 또는 Unpublished(퍼블리쉬 이전) 으로 설정해야합니다.
이제 새로운 테스트 앱에서 테스트를 실행할 수 있습니다.
어트리뷰션 링크를 사용한 테스트
이 섹션에서는 어트리뷰션 링크를 사용하여 연동을 테스트하는 방법을 설명합니다.
시작하기 전에:
- 테스트에 사용할 기기를 테스트 기기로 등록합니다.
- 리어트리뷰션을 테스트 할 때는 테스트 기기의 테스트 기기 등록을 해제하십시오.
앱이 아직 보류 중인 경우 (구글 플레이 또는 앱스토어에 게재되지 않은 경우)에도 SDK 연동을 테스트 할 수 있습니다.
이 섹션에서 다루는 주제:
- 앱 설치 어트리뷰션 테스트
- 인앱 이벤트 테스트
- 리타겟팅 테스트 (리어트리뷰션 및 리인게이지먼트)
앱 설치 어트리뷰션 테스트
앱 설치 테스트를 통해 앱스플라이어 SDK가 앱 설치를 다양한 미디어 소스에 올바르게 어트리뷰트할 수 있는지 확인할 수 있습니다.
1단계:
아래 링크를 복사하십시오.
https://app.appsflyer.com/<app_id>?pid=Test&c=Test&advertising_id=<GAID>
https://app.appsflyer.com/<app_id>?pid=Test&c=Test&idfa=<IDFA>
app_id 파라미터를 귀사의 앱 아이디로 변경하십시오.
- c 파라미터는 캠페인 이름을 나타냅니다.
- pid 파라미터는 앱 설치가 어트리뷰트되는 미디어 소스의 이름을 지정합니다.
컴퓨터로 클릭을 테스트하시려면 안드로이드 앱에는 GAID(Google Advertising ID)를, iOS 앱에는 IDFA를 추가하십시오.
2단계:
링크를 복사하여 테스트 기기로 보내고, 브라우저를 사용하여 링크로 이동하십시오.
참고
iOS에서는 iMessenger 또는 이메일을 사용하여 링크를 장치로 보냅니다. 링크를 복사하여 iOS Notes 앱에 붙여넣고 이것을 클릭하지 마십시오. 링크가 끊어질 수 있습니다.
- 앱이 게재되어 있다면, 설치를 진행하십시오.
- 만약 앱이 승인대기 중이라면, 개발 환경에서 앱을 설치하십시오.
-- 안드로이드: 안드로이드 스튜디오 또는 ADB Shell에서 설치
-- iOS: Xcode에서 설치
3단계:
해당 인스톨이 대시보드에 표시될 때까지 2분 여 정도 시간을 줍니다. 미디어 소스 Test, 캠페인 이름 Test 아래에 어트리뷰트된 인스톨을 볼 수 있습니다.
보다 정확한 검증을 위해 인스톨 로데이터 보고서를 다운로드 할 수 있습니다.
- 앱스플라이어 대시보드에서, 리포트 > 데이터 내려받기 로 이동합니다.
- 로데이터 보고서 섹션에서 인스톨 로데이터 보고서를 다운로드 하십시오.
자세한 내용은 인스톨 로데이터 보고서 대한 안내를 참조하십시오.
인앱 이벤트 테스트
인앱 이벤트를 테스트하여 이벤트와 연관된 수익을 표시하고, 해당 인스톨을 가져온 미디어 소스에 어트리뷰트 하는지 확인할 수 있습니다.
어트리뷰션 링크를 사용하여 앱을 설치 한 후, 몇 가지 인앱 이벤트를 트리거하십시오. 해당 이벤트가 대시보드에 표시될 때까지 2분 정도 시간을 줍니다. 앱의 대시보드를 열고 왼쪽 메뉴에서 이벤트로 이동하십시오.
이벤트, 해당 수익(수익이 연관된 이벤트인 경우) 및 연관된 미디어 소스가 표시되어야합니다.
보다 정확한 검증을 위해 인앱 이벤트 로데이터 보고서를 다운로드 할 수 있습니다.
앱의 대시 보드에서 리포트 아래의 데이터 내려받기를 클릭하십시오. 로데이터 보고서섹션에서 인앱 이벤트 로데이터 보고서를 다운로드 하십시오.
자세한 내용은 인앱 이벤트 로데이터 보고서 대한 안내를 참조하십시오.
원링크(OneLink) 테스트
원링크 (OneLink™)를 사용하면 iOS와 안드로이드 모두에 단일 어트리뷰션 링크로 설정할 수 있습니다. 원링크는 사용자의 기기를 인식하여 관련 앱스토어로 리다이렉션합니다.
또한 원링크는 딥링킹을 가능하게 합니다. 딥링킹을 통해 특정 앱 액티비티에서 앱을 열고 맞춤 콘텐츠를 제공할 수 있습니다.
자세한 내용은 원링크 URL 테스트 가이드를 참조하십시오.
리타겟팅 테스트
리타겟팅 테스트를 위한 전제 조건
- 원링크 템플릿 - 원링크 템플릿 설정을 참고하십시오.
- 앱 설정에서 리타겟팅 측정 활성화
앱의 대시 보드 왼쪽 메뉴바에서 앱 설정을 클릭하고 리타겟팅 측정 기능 활성화 항목을 켜십시오.
- 등록되지 않은 테스트 기기
리타겟팅 테스트는 간단합니다. 원링크 템플릿에서 커스텀 어트리뷰션 링크를 만듭니다. 반드시 리타겟팅 캠페인 토글을 켜십시오.
커스텀 어트리뷰션 링크가 준비되면, 다음 화면이 나타나고 롱 URL 버전을 확인할 수 있습니다.
긴 버전의 URL을 확보하는 다른 방법은 링크 매니지먼트 페이지를 이용하는 것입니다.
- 링크 매니지먼트 페이지에서 어트리뷰션 링크를 찾으십시오.
- 표 오른쪽 부분에서 액션 아래 세 개의 점 아이콘을 클릭하십시오.
- View Link Details를 클릭하십시오.
- 롱링크를 복사하십시오.
중요!
- 리타겟팅(리어트리뷰션 및 리인게이지먼트) 테스트를 할 때, 광고 ID를 어트리뷰션 링크에 반드시 지정해야 합니다.
- 리마케팅으로 인한 앱 재설치(리어트리뷰션)는 등록된 테스트 기기로 테스트할 수 없습니다. 등록된 테스트 기기란 테스트 기기 목록에 등록된 사용자 기기를 의미합니다. 리어트리뷰션 테스트 목적으로 그 외의 기기는 모두 사용할 수 있습니다.
- GAID나 IDFA를 조회하려면, 테스트 기기 등록하기 가이드 지시사항을 따르십시오. 중요!
최종 원링크는 다음과 같습니다.
https://go.onelink.me/2rAD?pid=Test&c=Test&is_retargeting=true&advertising_id=<GAID>
https://go.onelink.me/2rAD?pid=Test&c=Test&is_retargeting=true&idfa=<IDFA>
리어트리뷰션 테스트
리어트리뷰션을 테스트하여, 과거의 어느 시점에서 앱을 삭제한 후 앱을 다시 설치한 사용자의 앱 설치를 기록할 수 있는지 점검합니다.
- 테스트 기기기가 테스트 기기로 등록되지 않았음을 확인하십시오.
- 앱이 방금 설치된 경우, 몇 분 동안 기다립니다
- 기기에서 앱을 삭제합니다.
- 인스톨 어트리뷰션 테스트와 동일한 단계를 반복하십시오 - 위의 원링크 형식을 사용하십시오.
- 리타겟팅된 인스톨이 대시보드에 표시될 때까지 2분 여 정도 시간을 줍니다.
- 앱의 대시보드를 열고 왼쪽 메뉴에서 리타겟팅을 클릭하십시오.
- 미디어 소스 Test, 캠페인 이름 Test 아래에 어트리뷰트된, 리어트리뷰션 앱 설치를 볼 수 있습니다.
보다 정확한 검증을 위해 전환 로데이터 보고서를 다운로드 할 수 있습니다.
앱의 대시 보드에서 리포트 아래의 데이터 내려받기를 클릭하십시오. 리타겟팅 리포트 섹션에서 전환 로데이터 보고서를 다운로드 하십시오.
리인게이지먼트 테스트
리인게이지먼트는 앱을 설치한 사용자가 리타겟팅 캠페인에 참여하여 앱을 오픈할 때 발생합니다.
앱 오픈을 통한 리인게이지먼트 테스트
앱 오픈을 통한 리인게이지먼트는, 사용자가 앱 열기 버튼이 있는 앱스토어로 리다이렉션 되었음을 의미합니다. 사용자가 앱 열기 버튼을 눌러서 앱이 시작되었을 때, 리인게이지먼트는 기록됩니다.
리인게이지먼트를 테스트하려면 다음 단계를 수행하십시오.
- 앱이 테스트 기기에 설치되어 있고, 몇 번 실행된 적이 있는지 확인하십시오.
- 앱이 방금 설치된 경우, 몇 분 동안 기다립니다
- 리어트리뷰션 테스트에 사용한 것과 동일한 원링크를 사용하십시오.
- 링크에 디바이스 ID를 추가하여 테스트하는 모바일 기기로 전송합니다.
- 브라우저를 사용하여 링크로 이동하십시오.
- 앱스토어에서 열기 버튼을 누르거나, 기기 런치 패드에서 수동으로 앱을 엽니다.
미디어 소스 Test, 캠페인 이름 Test 아래에 어트리뷰트된, 리인게이지먼트를 볼 수 있습니다.
딥링킹을 통한 리인게이지먼트 테스트
딥링킹을 통한 리인게이지먼트를 활용하면, 사용자가 어트리뷰션 링크를 클릭한 직후에 앱이 열리도록 할 수 있습니다. 딥링킹을 통한 리인게이지먼트를 사용하는 장점은 이렇습니다.
- 더 나은 사용자 경험 - 사용자가 앱스토어로 리다이렉션되지 않고 앱이 자동으로 시작됩니다.
- 더 나은 캠페인 - 특정 캠페인 관련 액티비티를 열어 리타겟팅 캠페인의 결과를 극대화 할 수 있습니다.
딥링킹을 사용한 리인게이지먼트 어트리뷰션을 테스트 할 수 있습니다. 이는 어트리뷰션 링크로 리인게이지먼트를 테스트 할 때와 동일한 절차입니다. 유일한 차이점은, 어트리뷰션 링크는 사용자를 앱의 특정 액티비티로 리다이렉션하는 파라미터 af_dp
를 포함하고 있다는 것입니다.
딥링킹을 사용하여 리인게이지먼트를 테스트하려면 다음 단계를 따르십시오.
- 딥링킹이 작동하도록 앱이 설정되어 있는지 확인하십시오.
- 앱이 테스트 기기에 설치되어 있고, 몇 번 실행된 적이 있는지 확인하십시오.
- 앱이 방금 설치된 경우, 몇 분 동안 기다립니다
- 디바이스 ID를 추가한 리타겟팅 링크를 생성합니다.
- af_dp 파라미터를 추가하고 1단계에서 설정한 스키마에 추가하십시오.
- 브라우저를 사용하여 링크로 이동하십시오.
- 이미 앱이 설치된 경우, 링크는 해당 링크에 지정된 액티비티에서 앱을 시작합니다.
미디어 소스 Test, 캠페인 이름 Test 아래에 어트리뷰트된, 리인게이지먼트를 볼 수 있습니다.
자세한 내용은 딥링킹 테스트 가이드를 참조하십시오.
SDK 연동을 테스트하는 추가 방법
SDK 연동을 테스트하는 두 가지 추가 방법이 있습니다.
이 섹션에서는 SDK를 디버깅하는 방법을 설명합니다. 이 섹션을 참조하여 고급 테스트를 수행하고 SDK 연동 관련 문제를 해결하십시오.
안드로이드 디버깅
SDK를 디버깅하면 앱과의 연동 방법에 대한 심층적인 관점을 제공합니다. 디버깅은 인앱이벤트 기록, 전환 데이터 및 구매 검증과 관련된 문제를 해결하는데 도움이 됩니다.
안드로이드 SDK 디버그 모드 활성화
안드로이드 SDK 디버깅을 시작하려면, AFApplication 클래스에 다음 행을 추가하십시오.
AppsFlyerLib.getInstance().setDebugLog(true);
경고!
디버깅은 개발 단계에서만 이루어지는 것으로 제한되어야 합니다. 디버깅이 활성화된 상태에서 앱을 앱스토어에 배포하지 마십시오. 중대한 보안이나 개인 정보 위험이 발생할 수 있습니다.
디버그 아웃풋 보기
디버그 출력을 보려면 안드로이드 스튜디오에서 Logcat 터미널을 엽니다. 디버그 가능한 프로세스로 앱 패키지 이름을 선택하고, 로그 레벨을 Debug로 선택한 후에, "AppsFlyer_"로 필터링하십시오.
안드로이드 SDK에 자주 발생하는 문제
항상 오가닉으로 어트리뷰트 되는 인스톨
시나리오
어트리뷰션 링크를 사용하여 어트리뷰션을 테스트하려고 합니다. SDK conversion listerner를 구현했지만 로그에서는 항상 설치가 오가닉으로 표시됩니다. 게다가, 논오가닉 인스톨은 대시보드에 전혀 기록되지 않았습니다.
가능한 이유
- dev key가 잘못되었습니다. 잘못된 dev key를 입력하면 앱 설치를 어트리뷰트 할 수 없습니다.
- 사용하는 어트리뷰션 링크가 잘못되었습니다. 어트리뷰션 링크 안내 가이드를 참조하십시오.
- 테스트하고자 하는 기기가 테스트 기기로 등록되었는지 확인하십시오.
- 적절하지 않은 채널이 manifest에 정의되어 있습니다.
감지되거나 어트리뷰트 되지 않은 인스톨
시나리오
인스톨 어트리뷰션을 테스트하려고 하지만, 로그에는 type, first launch 등과 같은 앱 설치 관련 데이터가 표시되지 않습니다.
가능한 이유
AFApplication
클래스 내부에서startTracking
과init
메서드가 호출되는지 확인하십시오.- 테스트하고자 하는 기기가 테스트 기기로 등록되었는지 확인하십시오.
앱 설치 또는 이벤트 기록시 404 응답이 표시됩니다
시나리오
인앱 이벤트가 정확한 미디어소스에 어트리뷰트되는지 확인하기 위해 테스트하려고 합니다. 그러나 앱 설치 및 인앱 이벤트를 보낼 때 모두, 로그에는 404 응답이 표시됩니다. 앱 설치 또는 인앱 이벤트 아무것도 대시보드에 표시되지 않습니다.
가능한 이유
404 응답은 앱 ID가 잘못되었음을 나타냅니다. build.gradle 파일의 applicationId
파라미터에 있는 앱 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를 파라미터로 전달하지 않은 채 startTracking
메서드를 호출했습니다. 메서드에 dev key를 전달하십시오.
인앱이벤트를 테스트할 때, "not sending data yet, waiting for dev key"라고 로그에 표시됩니다
시나리오
로그에서 인앱 이벤트를 테스트해보려고 합니다. 이벤트를 트리거하면 로그에 "Not sending data yet, waiting for 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)를 수집하지 못하게되어 어트리뷰션 문제가 발생할 수 있습니다.
다음의 행을
implementation 'com.google.android.gms:play-services-base:15.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
module (app) 레벨 build.gradle 파일에 추가하십시오.
앱 설치 또는 이벤트 기록시 response 403이 표시됩니다.
시나리오
로그에서 인스톨과 기타 전환 이벤트를 확인하고자 합니다. 이러한 이벤트를 트리거하는 경우 로그에 response 403 (forbidden)이 표시됩니다.
가능한 이유
어트리뷰션 데이터는 제공되지 않고 클릭과 노출 데이터만 제공되는 제로 플랜을 사용하시기 때문일 수 있습니다. 어트리뷰션 데이터를 받으시려면, 앱스플라이어 플랜을 참고하셔서 필요에 따라 업데이트 하세요. 앱스플라이어 플랜에 대한 문의 사항이 있으면, 앱스플라이어 고객 지원팀 hello@appsflyer.com 으로 연락주세요.
iOS 디버깅
iOS SDK 디버그 모드 활성화
iOS SDK 디버깅을 시작하려면 didFinishLaunchingWithOptions
메서드에 다음 행을 추가하십시오.
AppDelegate.m에 다음 행을 추가하십시오.
[AppsFlyerTracker sharedTracker].isDebug = true;
AppDelegate.swift에 다음 행을 추가하십시오.
AppsFlyerTracker.shared().isDebug = true
경고!
디버깅은 개발 단계에서만 이루어지는 것으로 제한되어야 합니다. 디버깅이 활성화된 상태에서 앱을 앱스토어에 배포하지 마십시오. 중대한 보안이나 개인 정보 위험이 발생할 수 있습니다.
디버그 아웃풋 보기
디버그 아웃풋을 보려면 XCode에서 디버그 터미널을 열고 "AppsFlyer"로 필터링 하십시오.
iOS SDK에 자주 발생하는 문제
앱 설치 및 이벤트가 기록되지 않습니다
앱 설치 및 이벤트가 기록되지 않는 몇 가지 이유가 있을 수 있습니다.
잘못된 형식으로 앱 ID를 지정하면 앱 설치 및 이벤트가 기록되지 않습니다. Delegate 파일에서 앱 ID를 설정할 때, 앱 ID가 숫자로만 구성되어 있는지 확인하십시오.
앱스플라이어 대시보드 앱 설정에서 dev key를 찾을 수 있습니다.
올바른 예:
[AppsFlyerTracker sharedTracker].appleAppID = @"340954503";
잘못된 예:
[AppsFlyerTracker sharedTracker].appleAppID = @"id340954503";
잘못된 예:
[AppsFlyerTracker sharedTracker].appleAppID = @"com.appslyer.sampleapp";
앱 ID 형식이 잘못된 경우 로그에 다음 오류가 표시됩니다.
[ERROR] AppsFlyer: -[AppsFlyerTracker validateAppID] AppsFlyer Error: appleAppID should be a number!
계정에 존재하지 않는 앱 ID를 지정하면, 앱 설치 및 이벤트가 기록되지 않습니다. 로그에는 다음 오류가 표시됩니다.
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug:
completionHandler:]_block_invoke sent information to server, status = 404
404 오류는 SDK가 계정에서 앱을 찾을 수 없음을 나타냅니다.
잘못된 dev key ID를 지정하면 앱 설치 및 이벤트가 기록되지 않습니다. 로그에는 다음 오류가 표시됩니다.
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug:completionHandler:]
_block_invoke sent information to server, status = 400
400 오류는 SDK가 앱 설치 및 이벤트 기록 요청을 인증할 수 없음을 나타냅니다. Dev key가 올바른지 확인하십시오. 또한, dev key에 영숫자만 포함되어 있는지 확인하십시오.
앱 ID와 dev key가 정확하지만 앱 설치가 기록되지 않습니다
시나리오
앱에 올바른 앱 ID와 dev key가 포함되어 있지만 앱 설치가 기록되지 않습니다.
가능한 이유
- SDK가 제대로 시작되지 않았습니다.
trackAppLaunch
메서드를applicationDidBecomeActive
에서 호출하였는지 확인하십시오.
- (void)applicationDidBecomeActive:(UIApplication *)application { [[AppsFlyerTracker sharedTracker] trackAppLaunch]; }
func applicationDidBecomeActive(application: UIApplication) { AppsFlyerTracker.shared().trackAppLaunch() }
"AppsFlyer dev key missing or empty. aborting" 라고 로그에 표시됩니다
시나리오
로그에서 인스톨과 인앱 이벤트를 확인해보려고 합니다. "AppsFlyer dev key missing or empty. Aborting" 이라고 로그에 표시됩니다
가능한 이유
dev key가 설정되지 않았습니다. didFinishLaunchingWithOptions
메서드의 appDelegate에 잘 입력되었는지 확인하십시오.
[AppsFlyerTracker sharedTracker].appsFlyerDevKey = @"YOUR_DEV_KEY";
AppsFlyerTracker.shared().appsFlyerDevKey = "YOUR_DEV_KEY"
항상 오가닉으로 어트리뷰트 되는 인스톨
시나리오
어트리뷰션 링크를 사용하여 어트리뷰션을 테스트하려고 합니다. SDK conversion listerner를 구현했지만 로그에서는 항상 설치가 오가닉으로 표시됩니다. 게다가, 논오가닉 인스톨은 대시보드에 전혀 기록되지 않았습니다.
가능한 이유
- 사용하는 어트리뷰션 링크가 잘못되었습니다. 어트리뷰션 링크 안내 가이드를 참조하십시오.
- 테스트하고자 하는 기기가 테스트 기기로 등록되었는지 확인하십시오.
수익이 제대로 기록되지 않았습니다
시나리오
수익 데이터가 포함된 인앱 이벤트를 테스트하려고 합니다. 이벤트는 대시보드에 표시되지만 수익은 기록되지 않습니다
가능한 이유
수익 값 파라미터가 올바른 형식이 아닙니다. 수익 값은 어떤 표시 형식도 지정되지 않아야 합니다. 천단위 구분 기호(,)나 환율 기호, 또는 기타 문자가 포함되면 안됩니다. 예를 들어, 수익 값은 1234.56과 같은 형태가 되어야 합니다.
앱 설치 또는 이벤트 기록시 404 응답이 표시됩니다
시나리오
인스톨과 인앱 이벤트가 정확한 미디어소스에 어트리뷰트되는지 확인하기 위해 테스트하려고 합니다. 그러나 앱 설치와 인앱 이벤트의 경우 모두 404 응답이 표시됩니다. 앱 설치 또는 인앱 이벤트 아무것도 대시보드에 표시되지 않습니다.
가능한 이유
404 응답은 앱 ID가 잘못되었음을 나타냅니다. 앱 설치 및 이벤트가 기록되지 않음 항목을 참조하십시오.
앱 설치 또는 이벤트 기록시 400 응답이 표시됩니다
시나리오
로그에서 인앱 이벤트를 테스트해보려고 합니다. 이벤트를 트리거하면 로그에 400 응답이 표시됩니다.
가능한 이유
이것은 dev key에 문제가 있음을 나타낼 수 있습니다. dev key가 올바른지 확인하십시오. 또한, dev key에 영숫자만 포함되어 있는지 확인하십시오. 앱 설치 및 이벤트가 기록되지 않음 항목을 참조하십시오.
앱 설치 또는 이벤트 기록시 response 403이 표시됩니다.
시나리오
로그에서 인스톨과 기타 전환 이벤트를 확인하고자 합니다. 이러한 이벤트를 트리거하는 경우 로그에 response 403 (forbidden)이 표시됩니다.
가능한 이유
어트리뷰션 데이터는 제공되지 않고 클릭과 노출 데이터만 제공되는 제로 플랜을 사용하시기 때문일 수 있습니다. 어트리뷰션 데이터를 받으시려면, 앱스플라이어 플랜을 참고하셔서 필요에 따라 업데이트 하세요. 앱스플라이어 플랜에 대한 문의 사항이 있으면, 앱스플라이어 고객 지원팀 hello@appsflyer.com 으로 연락주세요.
유니티 디버깅
유니티에서 디버그 모드 활성화
유니티 SDK 디버깅을 시작하려면 AF GameObject의 start
메서드에 다음 행을 추가하십시오.
AppsFlyer.setIsDebug (true);
경고!
디버깅은 개발 단계에서만 이루어지는 것으로 제한되어야 합니다. 디버깅이 활성화된 상태에서 앱을 앱스토어에 배포하지 마십시오. 중대한 보안이나 개인 정보 위험이 발생할 수 있습니다.
디버그 아웃풋 보기
디버그 아웃풋은 안드로이드 스튜디오 또는 XCode를 통해 확인할 수 있습니다.
Unity SDK에 자주 발생하는 문제
유니티는 안드로이드 및 iOS 앱을 단순 빌드합니다. 각 플랫폼에서 흔한 이슈에 대한 더 자세한 정보는 아래 링크를 참조하십시오.
참고
SDK 연동 테스트 및 디버깅을 완료하면, SDK 로그를 끄십시오.