빠르게 시작하기

1. SDK 연동

앱과 연동하는 첫 번째 단계는 Unity SDK 다운로드하는 것 입니다.

Tapjoy Unity Plugin SDK 파일은 Unity 패키지 파일과 Tapjoy 업그레이드 시 드래그 앤 드롭 방식의 업그레이드를 선호하는 사용자를 위해 개별 파일들이 포함되어 있습니다. TapjoyUnityPlugin_vVERSION.unitypackage를 가져오려면 :

  1. Unity 프로젝트 열기
  2. Assets > Import Package > Custom Package
  3. TapjoyUnityPlugin_vVERSION.unitypackage 파일을 선택합니다.
  4. 충돌이 있는지 확인하는 가져올 파일 목록 검토
  5. "import"버튼을 눌러 파일을 임포트 합니다.

12.8.0부터 Tapjoy SDK는 이제 External Dependency Manager와 Cocoapods를 통해 관리됩니다. Cocoapods 버전이 1.9.0 이상이고 Xcode 버전이 11.0 이상인지 확인하세요.

A. Unity 5.4 이상에서 업데이트 :

연동 업그레이드 시 Unity 5.4 이상을 사용하는 경우, Google Play Service 라이브러리가 iOS 빌드에 포함되도록 설정되는 오류를 수정할 수 있는 "Fix" 버튼이 표시됩니다.

"Fix"버튼을 클릭하여 Google Play Service가 Android 빌드에만 포함 되도록 해주세요. 5.4 이전의 Unity 버전의 경우 google-play-services\ _lib가 Android 빌드에만 포함되도록 설정되었는지 수동으로 확인해야 합니다. 신규 버전 연동 시에는 수정이 필요하지 않으며 이 버튼이 표시되지 않습니다.

B. 앱 퍼미션 및 Activity 추가 (Android 용)

다음 권한이 선택적으로 필요합니다.

  • ACCESS_WIFI_STATE(optional)
<manifest ...>
  ...
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  ...
</manifest>

2. Connect 구현

Tapjoy 설정창에서 Tapjoy 설정을 시작할 수 있습니다. 'Window > Tapjoy'로 이동하여 Tapjoy 설정창을 엽니다.

image_title

Tapjoy 설정창에서 다음을 설정할 수 있습니다.

  • Android 및 iOS 용 SDK 키 설정
  • Android 푸시 알림을 위한 FCM 발신자 ID 설정
  • Android 마켓의 스토어 이름 추가(Google, Amazon, and etc.)
  • 광고 ID, 영구 ID 및 IDFA 사용 활성화 또는 비활성화
    • Disable Advertising Id: 이 체크박스는 Android의 DISABLE_ADVERTISING_ID_CHECK connect 플래그와 동일한 효과를 갖습니다. 기본적으로 Tapjoy의 Android SDK는 Google 광고 ID의 존재를 확인하고 만일 획득하지 못하는 경우 초기화에 실패합니다. 이 체크박스를 선택하면 Google 광고 ID가 없는 경우에도 Tapjoy SDK가 초기화 될 수 있습니다. 이는 Google Play가 아닌 앱 스토어에서 앱을 출시하는 경우와 같이 Google Play Service를 사용할 수 없는 경우 유용합니다.
    • Disable Persistent Ids :이 체크박스는 Android의 DISABLE_PERSISTENT_IDS connect 플래그와 동일한 효과를 갖습니다. Tapjoy SDK는 광고 ID를 사용할 수 없는 경우 대체 광고 ID로 사용할 영구 식별자 (예 : MAC 주소 및 Android 식별자)를 Tapjoy 서버에 전송합니다(Android 개발자 문서에서 권장하는 옵션 (섹션 : 광고 ID)](https://support.google.com/googleplay/android-developer/answer/6048248?hl=ko)). 이 플래그가 설정되면 SDK 내에서 광고 ID를 사용할 수 없는 경우에만 광고주 트래킹 목적으로 Tapjoy 서버에 영구 식별자가 전송됩니다.
    • DISABLE_ANDROID_ID_AS_ANALYTICS_ID connect 플래그에 해당하는 체크박스는 제공되지 않습니다.(이 플래그가 설정되면 Tapjoy가 분석 목적으로 사용하는 ID가 Android ID가 아닌 임의로 생성 된 문자열로 지정됩니다. 이 플래그의 설정을 변경하는 빌드를 릴리스하면 의도치 않은 결과가 발생할 수 있습니다. 이 경우 Tapjoy의 분석툴에 의해 기존 사용자 중 일부가 신규 사용자로 표시될 수 있습니다.) 이 플래그를 설정하려면 Tapjoy Unity 매뉴얼 연동방식으로 연동한 후 DISABLE_ANDROID_ID_AS_ANALYTICS_ID 플래그를 추가합니다.
  • 디버그 모드 활성화 또는 비활성화 (콘솔 로깅 포함). 정식 릴리즈 전 이 기능이 비활성화되어 있는지 꼭 확인해주세요!

GCMReceiver 설정 및 Install Referrer Receiver 설정 연동 상태를 확인할 수도 있습니다.

Tapjoy SDK가 동작하려면 TapjoyComponent가 포함 된 TapjoyUnity 게임 오브젝트가 필요합니다. 에디터 창에 자동으로 이 게임 오브젝트를 추가하고 설정하는 "Fix"버튼이 있습니다. Tapjoy GameObject는 첫번째 시작 씬에만 추가해주세요.

Tapjoy 구성을 완료하면 애플리케이션을 빌드하고 실행할 수 있습니다.

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

축하합니다! 이제 애플리케이션에서 Tapjoy가 동작합니다!

사용자 최대 레벨

Tapjoy에 여러분의 게임의 최대 레벨을 설정할 수 있습니다. Tapjoy.connect API 호출 전, 해당 API를 호출해야 합니다.

Tapjoy.SetMaxLevel(10); 

User Segment

setUserSegmentAPI 를 통해 사용자를 분류할 수 있습니다.. Tapjoy.connect API 호출 전, 해당 API를 호출해야 합니다.

Tapjoy.SetUserSegment(TJSegment.VIP);
Tapjoy.SetUserSegment(TJSegment.Payer);
Tapjoy.SetUserSegment(TJSegment.NonPayer);
Tapjoy.SetUserSegment(TJSegment.Unknown); 

A. Manual Connect

Unity SDK를 사용하여 코드를 통해 connect 단계를 제어할 수도 있습니다. 기본적으로 SDK는 자동으로 connect 단계를 처리합니다. 수동 방식으로 연동하려면 먼저 탭조이 설정창(Window > Tapjoy)에서 "Auto-Connect" 옵션을 체크 해제하세요.

해당 옵션을 선택 취소하면 SDK가 더 이상 자동으로 connect 과정을 처리하지 않습니다. 코드를 통해 connect 과정을 처리해야 합니다. 이 동작은 네이티브 SDK와 같습니다.

앱을 처음 시작할 때 'Connect'를 호출하여 SDK가 Tapjoy 서버에 연결되도록 해야 합니다. 'Connect' 기능에는 두 가지 버전이 있습니다. 'Connect' 첫 번째 형식은 SDK 키를 문자열로 사용합니다. 애플리케이션이 다중 플랫폼인 경우 각 플랫폼에 대해 올바른 SDK 키를 제공해야 합니다.

#if UNITY_ANDROID
		Tapjoy.Connect("your_android_sdk_key");
#elif UNITY_IOS
		Tapjoy.Connect("your_ios_sdk_key");
#endif

'Connect'의 다른 버전은 Dictionary를 사용해서 string/string 값의 파라미터를 추가하는 방식입니다. 이 사전은 connectFlags이며 기본 SDK에서와 동일하게 작동합니다.

Dictionary<string,string> connectFlags = new Dictionary<string,string>();
connectFlags.Add("TJC_OPTION_USER_ID", "<USER_ID_HERE>");

#if UNITY_ANDROID
  Tapjoy.Connect("your_android_sdk_key", connectFlags);
#elif UNITY_IOS
  Tapjoy.Connect("your_ios_sdk_key", connectFlags);
#endif

SDK로 다른 작업(예: 광고 로드)을 수행하려면 먼저 SDK connect 과정이 완료되어야 합니다. connect 이벤트에 의해 트리거되는 두 개의 이벤트 딜리케이트 함수가 있습니다(OnConnectSuccess 및 OnConnectFailure). connect 이벤트를 수신 대기하려면 딜리게이트 함수를 선언해야 합니다. onConnectSuccess가 실행된 후 다른 SDK 기능을 사용할 수 있습니다.

SDK가 연결에 실패하면 매개변수 없이 Connect()를 호출하여 연결을 다시 시도할 수 있습니다. 이렇게 하면 SDK가 마지막으로 연결을 시도한 SDK 키를 사용하여 연결을 다시 시도합니다.

connect 콜백

Tapjoy SDK가 광고를 요청하거나 분석 데이터를 연동하기 전에 Tapjoy 서버에 성공적으로 연결해야합니다. SDK가 성공적으로 연결되면 Tapjoy.OnConnectSuccess 콜백이 호출됩니다. 광고 요청 또는 분석 연동을 하려면 이 콜백이 실행될 때까지 기다려야 합니다. Tapjoy.OnConnectWarning 콜백은 connect 시 경고성 이슈가 발생할 경우 호출 됩니다.(connectSuccess 같이 호출 됩니다.) 마찬가지로 실패 시 재시도 혹은 다른 연결 실패 로직을 실행하려면 Tapjoy.OnConnectFailure 콜백을 사용할 수 있습니다.

Tapjoy.OnConnectSuccess += HandleConnectSuccess;
...

public void HandleConnectSuccess() {
    Debug.Log ("Connect Success");

    // Now that we are connected we can start preloading our placements
    TJPlacement p = TJPlacement.CreatePlacement("my_placement");
    p.RequestContent();
}

Tapjoy.OnConnectWarning += HandleConnectWarning;
...

void HandleConnectWarning(int code, string message)
{
    
}

Tapjoy.OnConnectFailed += HandleConnectFailed
...

public void HandleConnectFailed(int code, string message){

}

'Tapjoy.isConnected' API를 확인하여 SDK 연결 상태를 확인할 수도 있습니다.