시작하기

1. 대시보드 연동 가이드

대시보드 상에서 단계별로 쉽고 빠르게 탭조이 연동을 할 수 있게 도와주는 따라하기식 연동 가이드 가 준비되어 있습니다. 대시보드에서 오른쪽 상단의 "고객지원 > 연동 가이드" 메뉴를 선택하면 연동 가이드를 실행할 수 있습니다. 이 사이트의 문서는 기존처럼 상세 도움말로 참고할 수 있습니다.

2. SDK 연동

A. Maven (권장)

build.gradle 파일에 다음과 같이 maven 설정을 추가합니다.

    repositories {
      maven {
        name "Tapjoy's maven repo"
        url "https://tapjoy.bintray.com/maven"
      }
    }

    dependencies {
      api 'com.tapjoy:tapjoy-android-sdk:12.4.2@aar'
    }

B. 앱 퍼미션 및 액티비티 추가

탭조이 SDK를 이용하기 위해서 다음 퍼미션이 필요합니다.

  - `INTERNET`
  - `ACCESS_NETWORK_STATE`
  - `ACCESS_WIFI_STATE` *(optional)*
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

AndroidManifest.xml 파일의 application 블록에 다음 activity들을 추가합니다.

<activity
  android:name="com.tapjoy.TJAdUnitActivity"
  android:configChanges="orientation|keyboardHidden|screenSize"
  android:hardwareAccelerated="true"
  android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
  android:name="com.tapjoy.TJContentActivity"
  android:configChanges="orientation|keyboardHidden|screenSize"
  android:theme="@android:style/Theme.Translucent.NoTitleBar"
  android:hardwareAccelerated="true" />

앱의 Manifest activity에 다음 configChanges 속성을 추가합니다.

  android:configChanges="orientation|keyboardHidden|screenSize"

Google Play Service 라이브러리를 이용하기 위해 다음 부분을 추가하세요.

<meta-data
  android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />

IMPORTANT: Proguard를 사용한다면 SDK의 정상적인 이용을 위해 다음 부분을 configuration 파일에 추가해 주세요.

-keep class com.tapjoy.** { *; }
-keep class com.moat.** { *; }
-keepattributes JavascriptInterface
-keepattributes *Annotation*
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.google.android.gms.ads.identifier.** { *; }
-dontwarn com.tapjoy.**

여기까지 마치셨다면, 컴파일 후 앱을 실행해보는 것을 추천합니다. 실제 앱 코드는 수정하지 않은 상태이기 때문에 에러가 발생하거나 다른 변화가 발생하지 않아야 합니다. 만약 문제가 있다면 FAQ페이지를 확인하시거나, 문의하기 페이지를 이용해주시길 바랍니다.

3. Connect 연동

이제 탭조이 연동을 위한 첫번째 연동코드인 connect 요청 코드를 적용해볼 차례입니다. 이 코드를 통해 앱에 탑재된 탭조이 SDK가 동작을 시작하게 됩니다.

탭조이 connect 요청은 매우 중요합니다. connect 요청이 없으면 탭조이의 모든 기능이 작동하지 않습니다.

탭조이 SDK가 connect 요청을 하기 위해서는 SDK Key가 필요합니다.

탭조이 대시보드 왼쪽 하단에 위치한 "설정" 버튼을 클릭하면 나오는 페이지의 하단에서 SDK Key를 찾을 수 있습니다.

이제 실제로 코드를 작성할 차례입니다. 탭조이 SDK를 import 하세요.

  import com.tapjoy.Tapjoy

다음 코드를 메인 액티비티의 onCreate() 안에 삽입해 주세요.

  Hashtable<String, Object> connectFlags = new Hashtable<String, Object>();
  connectFlags.put(TapjoyConnectFlag.ENABLE_LOGGING, "true"); // Disable this in production builds

  Tapjoy.connect(getApplicationContext(), tapjoySDKKey, connectFlags, new TJConnectListener() {
        @Override
        public void onConnectSuccess() {
          TapjoyEasyApp.this.onConnectSuccess();
        } 

        @Override
        public void onConnectFailure() {
          TapjoyEasyApp.this.onConnectFail();
        }
   });

실제 동작하는 'EasyApp' 예제 어플리케이션이 탭조이 SDK와 함께 제공됩니다.

상세한 connectFlags 값에 대한 설명은 Java SDK 레퍼런스 문서를 참고할 수 있습니다.

두가지 가장 유용한 값은 ENABLE_LOGGING, USER_ID 입니다. USER_ID 플래그를 connect 요청시 설정하면 AppLaunch 플래이스 먼트 요청 시 올바을 사용자 아이디값이 전달됩니다. Push2Earn 플레이스먼트를 사용한다면 이 설정을 사용해야 합니다.

다음 connectFlags 설정들은 android 플랫폼의 다양한 식별자 사용에 대한 옵션을 제공합니다.

  • ALLOW_LEGACY_ID_FALLBACK (SDK versions 12.2.1 이후) 이 플래그가 설정되면 탭조이 SDK는 광고 ID를 사용할 수없는 경우 광고 목적으로 Persistent ID를 사용합니다.
  • DISABLE_ANDROID_ID_AS_ANALYTICS_ID 이 플래그가 설정되면 탭조이가 분석 목적으로 사용하는 ID는 Android ID가 아니라 무작위로 생성 된 문자열입니다. 이 플래그의 설정을 변경하여 새로운 빌드를 출시하면 탭조이 분석 시스템은 기존 사용자 중 일부를 새로운 사용자 인식하여 집계에 반영하게 됩니다.
  • DISABLE_ADVERTISING_ID_CHECK 기본적으로 탭조이 Android SDK는 Google 광고 ID를 획득하지 못하면 초기화에 실패합니다. 이 플래그를 설정하면 Google 광고 ID가 없는 경우에도 탭조이 SDK가 초기화 될 수 있습니다. 이는 Google Play Store가 아닌 앱 스토어에서 앱을 출시할 경우 유용합니다.

이제 앱을 빌드하고 실행해볼 수 있습니다.

탭조이 대시보드에서 상단 "분석" 메뉴를 선택한 후, 좌측 "리얼타임 분석" 메뉴을 클릭하면 실시간 분석화면을 통해 연동 상태를 확인할 수 있습니다.

축하합니다! 탭조이 SDK 기본 연동에 성공했습니다!