Singular SDK 연동 테스트

Singular SDK/S2S를 앱에 연동한 후, 새 버전의 앱을 라이브 하기 전에 잘 작동하는지 확인하는 것이 중요합니다.  

Singular에는 연동 테스트를 위한 두 주요 툴이 있습니다. Audit report는 연동 내 모든 문제를 자동으로 감지하는 툴이고, Testing Console은 여러 기능을 구현할 때 구현된 기능들을 수동으로 테스트할 수 있는 툴입니다.    

다음 가이드는 두 툴에 대한 설명입니다.

가이드 대상 개발자
필수 조건 앱에 Singular SDK 또는 S2S 구현.
Testing Console 사용을 위한 테스트용 모바일 디바이스. 

 

자동 테스트: SDK Audit 작동

Singular가 제공하는 audit 리포트에서는 SDK와 S2S 연동을 테스트하여 두 연동이 올바르게 구현되었는지 확인할 수 있습니다. Audit에서는 발견한 모든 이슈들의 리스트와 해결 팁을 함께 출력합니다. SDK audit 리포트를 사용하려면 다음을 참고하세요.

1

SDK Audit 리포트를 작동하세요

Developer Tools > Testing Console에 가서 우측 상단의 Run Audit를 클릭하세요.

TC_auditbutton.png

2

리포트를 다운로드하여 참조하세요.

리포트 작동이 끝나면, CSV 형식으로 다운로드할 수 있습니다. 

해당 리포트는 SDK와 S2S 연동 내 발견된 이슈들의 리스트입니다. 모든 문제가 치명적이지는 않으며, 그중 몇몇은 관련이 없을 수도 있습니다. (구현하기로 선택하지 않은 SDK 기능들하고도 관련이 있기 때문입니다.) 해당 리포트가 어떻게 빌드되었는지 알고 싶다면, 오딧 리포트를 읽는 방법은? 을 참고하세요.

test2.png

3

관련 문제를 해결하세요.

리포트 내 문제들을 점검하고 Error Description 필드의 팁에 따라 문제를 해결하세요. 

참고: 경고/정보 관련 이슈들에 대해서는, Validation Name을 확인하고 해당 사항이 선택사항인 SDK 기능이며 구현하지 않아도 되는 기능인지 확인하세요. 예를 들어, 디퍼드 딥링크(DDL)가 이에 해당할 수 있습니다. 이 경우, 해당 에러 메시지는 무시하세요.   

추가 자료: Auditing Tool for SDK/S2S Integrations: FAQ

SDK 콘솔을 통한 수동 테스트

팁:

  • SDK 감사 도구와 같이 테스트 단계들을 진행하여 SDK/S2S 구현이 올바르게 작동하는지 확인하세요.  
  • 연동을 모두 끝마치기 전 기능들을 구현하면서 Testing Console을 통해 기능을 하나씩 테스트할 수 있습니다.   

    Testing Console에 대한 일반적인 질문은 Testing Console FAQ를 참고하세요.

1

테스트 디바이스 추가

디바이스를 console에 추가하려면 다음을 따르세요.

  • Singular 홈페이지 내, Settings > SDK Console에 가세요.
  • Add Device를 클릭하세요.

  • 추가하려는 디바이스 종류를 선택한 후, device ID를 입력하세요.  

  • 디바이스로부터 이름을 입력한 후, Add를 클릭하세요.

    device_edit_shelf_2.png

주의:

  • iOS 디바이스에 대해, 접근 권한이 있다면 IDFV 사용을 권장합니다. IDFA를 사용할 수 있으나 콘솔을 사용해 디바이스의 데이터를 "forget" 할 수는 없습니다. (5단계 참고).   
  • 디바이스의 GAID 또는 IDFA를 디바이스의 Settings 메뉴에서 취득할 수 있습니다. Singular는 또한 디바이스 ID를 획득할 수 있는 Device Assist 앱을 제공합니다.  iOS용 또는 Android용을 다운로드하세요.
  • 참고: Types of Device IDs
2

디바이스가 디바이스 드롭다운에 표시되는지 확인

디바이스 드롭다운에서 디바이스를 선택하세요. 이후, Event Log에서 디바이스로부터 발생한 이벤트를 볼 수 있습니다.  

Device Name 칼럼에서 디바이스를 묘사하는 이름으로 명명할 수 있으며, 이 작업을 통해 추적에 다른 디바이스들과 혼동하지 않도록 하세요.  

device_name_dropdown.png

3

테스트 초기화와 세션

처음 테스트할 항목은 연동이 초기화 설정이 되고 Singular로 정보를 전송하는지에 대해서입니다. 이는 Singular가 해당 앱에 대한 어트리뷰션 추적을 할 수 있도록 허락합니다. 확인을 위해서는, 이벤트 로그 내 유저 세션(user sessions)을 찾으세요. 

초기화 테스트를 위해서는 다음을 따르세요.

  1. 디바이스에서, 해당 앱을 오픈합니다.
  2. 1~2분 정도 기다립니다.
  3. Testing Console 내 이벤트 로그를 통해 디바이스의 세션 열을 표시하는지 확인하세요.

    events_log_cut.png

만약 이 열이 표시되지 않는다면, 유저 레벨 로그를 통해 세션 이벤트를 확인하세요. Testing Console이 새 디바이스에 대한 등록 작업을 완료하기 전에 앱을 오픈했을 수 있습니다.  

4

[iOS] Apple iAd 리퍼러 테스트

iOS 디바이스에서, Singular는 iAd 어트리뷰션 데이터를 수신해야 합니다. 확인을 위해서는, console에 디바이스를 추가하여 앱을 다운로드한 후, SDK console을 확인하여 “__iAd_Attribution__” 이벤트가 표시되는지 확인하세요.

test7.png

참고:

  • 이 이벤트들은 앱이 인스톨된 직후 표시됩니다. 앱을 인스톨 한 지 경과된 디바이스 내에서 테스트하려면, 설명에 따라 디바이스를 초기화한 후 디바이스를 콘솔에 다시 추가하고 앱을 다시 인스톨하세요.
  • 만약 이벤트가 표시되지 않는다면, 디바이스가 Testing console에 온전히 등록되기 전에 앱이 오픈되었을 수 있습니다. 만약 Singular의 static 라이브러리와 연동했다면, iAD.framework를 임포트 하세요. (CocoaPods를 사용한다면, 해당 프레임워크는 이미 내포되어 있습니다).
5

커스텀 유저 ID 테스트

SDK 연동에서 커스텀 유저 ID가 Singular에 전송된다면, 다음 절차에 따라 테스트하세요.

  1. Testing Console에 디바이스를 등록하세요.
  2. 앱을 오픈하세요.
  3. 필요하다면, 앱에서 user ID (로그인과 같은)를 전송하도록 트리거하세요. 이 동작은 본질적으로 구현사항에 기반합니다.   
  4. Singular에 다음 이벤트가 전송된 후, SDK console 내 이벤트 디테일을 펼쳐 세부 사항(details)에 "custom_user_id"에 대한 값이 포함되어 있는지 확인하세요.

    test8.png

만약 user ID가 표시되지 않는다면 다음 절차를 따르세요.

  • 해당 메서드를 확인하여 원하는 때 user ID가 앱에서 호출될 수 있도록 설정하세요. 
  • Testing console에 이벤트가 표시되도록 Singular SDK 이벤트를 추가하고 이를 "Custom user id 설정"으로 명명할 수 있습니다.
6

Event 테스트

SDK 연동에서 이벤트 추적이나 매출 트래킹을 구현했다면, 다음 설명을 따라 테스트하세요.  

이벤트들에 대한 추가 정보는 다음을 참고하세요.

SDK 연동에서 구현한 모든 이벤트에 대하여:

  1. 앱에서 이벤트를 트리거하고 명명한 해당 이벤트가 이벤트 로그 내 표시되는지 확인하세요. 

    test9.png

  2. 만약 이벤트와 함께 추가 데이터를 전송한다면, Testing Console 내 이벤트 열을 클릭하여 이벤트 세부 사항(event details)을 펼치고, 해당 데이터가 "event_data"에 포함되어 있는지 확인하세요.  

    events_details_field.png

만약 이벤트가 표시되지 않는다면, SDK console 내 디바이스가 온전히 등록되기 전에 앱이 오픈됐을 수 있습니다. 해당 이벤트에 대해 어트리뷰션 로그를 확인하세요.

7

매출 테스트

SDK 연동에서 구현한 각 매출 이벤트 유형에 대해:

  1. 앱 내 매출 이벤트를 발생시키고 이벤트 로그를 확인하세요. 해당 이벤트 명으로 열에 표시됩니다. 

    참고: 만약 해당 이벤트의 커스텀 명을 지정하지 않았다면, 해당 매출 이벤트는 "__iap__"와 같은 기본 설정 명으로 표시됩니다.

  2. 해당 열을 클릭하여 펼친 후 해당 통화 ("pcc"), 액수 ("r"), 또는 수신된 해당 이벤트의 다른 세부 사항들을 확인하세요. 

    events_details_field.png

8

딥링크 테스트

SDK 연동 내 딥링크를 구현했다면, 다음 설명을 따라 딥링크 기능을 테스트하세요.

참고: 이 문서는 Singular 링크를 사용한다고 가정하여 설명합니다 - Singular 링크는 Singular의 새 트래킹 링크 기술로, 2019년에 출시되었습니다. 기존 Singular 사용자들은 Singular의 이전 트래킹 링크 (레거시 링크)를 사용하고 있을 수도 있습니다. 

1. 테스트 목적지 설정

Singular 플랫폼의 Settings > Apps로 가서, 해당 앱을 찾고 딥링크 목적지를 추가하세요. 

해당 목적지는 SDK 연동의 핸들러 코드(handler code)가 인지하고 처리할 수 있는 딥링크 목적지 중 하나여야 합니다. 

test12.png

2. 링크 생성 후 테스트

이제 링크를 연결할 목적지가 있으니, 딥링크를 생성할 수 있습니다. 

  1. Attribution > Manage Links에 가서 사이드바에서 앱을 선택하세요.
  2. Create Link를 클릭하세요.
  3. Link Type 하위에, "Custom Source"를 선택하고, Source Name 하위에, "Email"을 선택하세요.
  4. 링크 이름을 명명하세요.
  5. Link Settings와 Redirects 구간을 클릭하여 펼치세요.
  6. Deep Link 드롭다운 리스트 내 방금 생성한 목적지를 선택하세요.
  7. Fallback Destination for Other Platforms 텍스트 박스 내, 웹 사이트 URL을 기재하세요.
  8. Generate를 클릭하시고 Click-Through Tracking Link 필드로부터 링크를 복사하세요.

    test13.gif

3. 링크 테스트

링크를 테스트하려면 다음 절차를 따르세요.

  1. 해당 앱이 테스트 디바이스 내 인스톨되어있어야 합니다.
  2. 이메일로 복사된 링크를 테스트 디바이스에 전송합니다. 
  3. 디바이스에서, 해당 이메일을 열고 링크를 클릭하세요. 해당 앱이 오픈되고 의도한 페이지나 내용이 표시되어야 합니다. 

링크 테스트를 위한 다른 방법 (안드로이드에 해당):

딥링크를 발생시키기 위해 컴퓨터 내 커멘드 라인 터미널을 오픈하세요.

test14.png

트러블 슈팅

내 앱이 이미 작동 중이라면, 딥링크는 기존의 것을 맞바꾸는 대신 해당 앱의 새 사례[new instance]를 오픈합니다. 

이런 현상을 피하려면, 매니페스트 파일을 수정하고 다음을 액티비티(activity)에 추가하세요.

android:launchMode="singleTask"

Google's <activity> 문서를 통해 launchMode 옵션에 대한 정보를 참고하세요.

9

디퍼드 딥링크 테스트

  1. 디퍼드 딥링크가 활성화되었는지 확인하려면, Testing Console 내 세션 이벤트를 확인하세요.

    test15.png

  2. 상단에 위치한 "딥링크 테스트"의 설명처럼 테스트 목적지와 링크를 설정하세요. 
  3. 테스트 디바이스로부터 앱을 제거하세요.
  4. 이메일로 딥링크를 디바이스에 전송하고 디바이스에서 해당 딥링크를 오픈하세요. 해당 링크는 앱 스토어로 데려갈 것입니다. 해당 앱을 인스톨하고 오픈한 후, 원하는 페이지나 내용을 볼 수 있습니다. 

    test16.gif

10

언인스톨 추적 테스트

SDK 연동 내 언인스톨 추적을 구현했다면, 다음 서명에 따라 테스트하세요.

언인스톨 추적이 다른 SDK 기능 테스트보다 더 복잡한 이유는 Singular가 Google/iOS 서비스에 의존하여 언인스톨을 보고하고, 해당 과정에 시간이 걸리기 때문입니다. 해당 언인스톨 이벤트는 실시간으로 Singular 홈페이지에서 볼 수 없으며, 해당 작업을 위해 Testing console을 사용할 수도 없습니다. 

테스트 전에, FCM/APNS 토큰을 Singular로 보내세요. (Android SDK: 언인스톨 추적iOS SDK: 언인스톨 추적을 참고).

또한, App Configuration 페이지 내 FCM Server Key (Android) 또는 iOS Push Certificate를 입력했는지 다시 확인하세요.

언인스톨 트래킹을 테스트하려면 다음 절차를 따르세요.

  1. 실제 디바이스(에뮬레이터가 아닌)를 사용하여, 디바이스에서 앱을 인스톨하세요.
  2. 앱을 오픈하여 인스톨이 등록되게 하세요.
  3. 해당 앱을 삭제하세요. 
  4. Singular가 해당 언인스톨 이벤트를 수신했는지 확인하려면, 다음 옵션 중 선택하세요.  

    • 어트리뷰션 로그를 추출(이벤트 로그)하고 해당 언인스톨 이벤트를 확인하세요. 로그 내 표시되기 전까지 며칠 정도 걸릴 수 있습니다.
    • 내부 BI에 전송되도록 포스트 백을 설정했다면, 해당 언인스톨에 대한 포스트 백을 수신할 수 있습니다. 
    • Singular 서포트에 문의하거나 담당 성공 매니저에게 문의하여 언인스톨 추적을 확인할 수 있습니다. 

주의: 언인스톨 이벤트 확인을 위해 기다리는 동안, 디바이스 ID를 초기화하거나 앱을 다시 설치하지 마세요.