빠른 시작
SDK 연동을 활성화하려면 탭조이 Unity 플러그인을 프로젝트로 임포트합니다. 빠른 시작 설명은 .unitypackage 임포트, SDK 키 설정, 필수 탭조이 게임 오브젝트 추가에 대한 내용을 안내합니다.
읽는 시간 1분최근 업데이트: 2일 전
SDK 연동
앱과 통합하기 위한 첫 번째 단계는 Unity SDK를 다운로드하는 것입니다. 탭조이 유니티 플러그인 zip 파일에는 간편한 임포트를 위한 Unity 패키지 파일과, 탭조이 업그레이드를 위해 파일을 직접 드래그 앤 드롭하는 방식을 선호하는 사용자를 위한 원본 파일이 포함되어 있습니다.TapjoyUnityPlugin_vVERSION.unitypackage- Unity 프로젝트를 엽니다.
- Assets > Import Package > Custom Package로 이동합니다.
- 파일을 가리킵니다.
TapjoyUnityPlugin_vVERSION.unitypackage - 충돌이 있는지 확인하는 임포트 파일 목록 검토
- 파일을 수락하려면 Import를 선택합니다.
Unity 5.4 이상에서 업데이트
연동을 업데이트 중이며 Unity 5.4 이상을 사용 중인 경우, iOS 빌드에 포함되도록 표시된 Google Play Services 라이브러리와 관련된 오류를 수정할 수 있는 'fix' 버튼이 표시됩니다. Google Play 서비스가 Android 빌드에만 포함되도록 하려면 Fix를 선택합니다. Unity 5.4 이전 버전을 사용하는 경우 google-play-services_lib가 Android 빌드에만 포함되도록 수동으로 설정해야 합니다. 새로운 연동에는 이 수정이 필요하지 않으며 이 버튼이 표시되지 않습니다.앱 권한 추가(Android용)
ACCESS_WIFI_STATE<manifest ...> ... <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> ...</manifest>
탭조이에 연결
탭조이 창에서 탭조이 설정을 시작할 수 있습니다.Window > Tapjoy
- Android 및 iOS용 SDK 키 설정
- Android 마켓의 스토어 이름을 추가합니다(예: Google 또는 Amazon).
- 광고 ID, 영구 ID 및 IDFA 사용 활성화 또는 비활성화
- 광고 ID 비활성화: 이 체크박스는 Android의 DISABLE_ADVERTISING_ID_CHECK 연결 플래그와 동일한 효과를 가집니다. 기본적으로 탭조이의 Android SDK는 Google 광고 식별자가 있는지 확인하며, 이를 찾지 못하면 초기화를 수행하지 못합니다. 이 박스를 선택하면 오퍼월 SDK가 Google 광고 식별자가 없더라도 초기화할 수 있도록 이 확인을 비활성화할 수 있습니다. 이는 Google Play가 아닌 앱 스토어에서 릴리스할 빌드를 만들 때와 같이 앱에 Google Play 서비스가 없는 경우에 유용합니다.
- 영구 ID 비활성화: 이 체크박스는 Android에서 DISABLE_PERSISTENT_IDS 연결 플래그와 동일한 효과를 가집니다. 오퍼월 SDK는 광고 식별자가 사용할 수 없는 경우(Play 콘솔 기술 자료의 광고 ID 항목에서 권장하는 옵션)를 대비해 대체 광고 식별자로 활용하기 위해 지속적 식별자(예: MAC 주소 및 Android 식별자)를 탭조이 서버로 전송합니다. 이 플래그가 설정된 경우, SDK 내에서 광고 식별자를 사용할 수 없는 경우에만 광고주 트래킹 목적으로 지속적 식별자가 탭조이 서버로 전송됩니다.
- DISABLE_ANDROID_ID_AS_ANALYTICS_ID 연결 플래그와 동등한 체크박스가 없습니다. (이 플래그가 설정된 경우, 탭조이가 분석 목적으로 사용하는 ID는 Android ID의 복사본이 아닌 무작위로 생성된 문자열입니다. 이 플래그 설정을 이전 버전과 다르게 변경한 빌드를 배포하면, 기존 사용자 중 일부가 탭조이 분석 툴에서 신규 사용자로 인식될 수 있습니다.) 이 플래그를 설정하려면 탭조이 Unity 매뉴얼 연결을 사용하여 DISABLE_ANDROID_ID_AS_ANALYTICS_ID 플래그를 추가해야 합니다.
- 로깅 레벨을 설정합니다.
최대 사용자 레벨
게임의 레벨 수를 탭조이에 제공할 수 있습니다. 이 값은 연결을 호출하기 전이나 후에 설정 가능합니다.Tapjoy.SetMaxLevel(10);
사용자 세그먼트
setUserSegmentTapjoy.SetUserSegment(TJSegment.VIP);Tapjoy.SetUserSegment(TJSegment.Payer);Tapjoy.SetUserSegment(TJSegment.NonPayer);Tapjoy.SetUserSegment(TJSegment.Unknown);
수동 연결
Unity SDK를 사용하면 코드를 통해 연결 단계를 제어할 수 있습니다. 기본적으로 SDK는 연결을 처리합니다. 수동으로 조작하려면 먼저 Tapjoy Settings 창(Window > Tapjoy)에서 'Auto-Connect' 옵션을 선택 해제합니다. 이 옵션을 선택 해제하면 SDK가 더 이상 연결을 자동으로 처리하지 않습니다. 코드로 연결을 처리해야 합니다. 이 동작은 네이티브 SDK와 마찬가지입니다. 애플리케이션이 처음 시작되면ConnectConnect의 다른 버전에서는 두 번째 파라미터인 문자열/문자열 값의 딕셔너리를 사용합니다. 이 딕셔너리는 connectFlags이며 네이티브 SDK와 동일하게 동작합니다.#if UNITY_ANDROID Tapjoy.Connect("your_android_sdk_key");#elif UNITY_IOS Tapjoy.Connect("your_ios_sdk_key");#endif
프로그래밍 방식으로 로깅 레벨을 가져와 설정할 수도 있습니다.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 연결이 완료되어야 합니다. 연결 이벤트에 의해 트리거되는 두 개의 이벤트 델리게이트, OnConnectSuccess와 OnConnectFailure가 있습니다. 델리게이트 함수를 선언하여 연결 이벤트를 수신합니다. onConnectSuccess가 실행되면 다른 SDK 함수를 사용할 수 있습니다. SDK가 연결되지 않으면 파라미터 없이 Connect()를 호출하여 연결을 다시 시도할 수 있습니다. 그러면 SDK가 마지막으로 연결하려고 시도한 SDK 키를 사용하여 연결을 재시도합니다.// Set logging levelTapjoy.SetLoggingLevel(LoggingLevel.Debug);// Get logging levelLoggingLevel loggingLevel = Tapjoy.GetLoggingLevel();
콜백
SDK가 실행되었으니, 이제 베스트 프랙티스를 위한 코딩을 잠시 살펴볼 차례입니다. 오퍼월 SDK가 광고를 요청하거나 트래킹 데이터를 전송하기 전에, Unity 서버에 성공적으로 연결되어야 합니다. SDK가 성공적으로 연결되면 실행되는 델리게이트 함수OnConnectSuccessconnectSuccessOnConnectWarningOnConnectFailure부울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