체인지 로그

13.4.1 (2024-03-19)

  • iOS SDK 와 일치하도록 버전 업데이트.

13.4.0 (2024-03-04)

  • connectWarning 콜백이 추가되었습니다.
  • 코틀린 샘플 앱이 추가되었습니다.
  • kotlin-stdlib 디펜던시가 SDK에 추가되었습니다.
  • Java 11 로 업데이트 되었습니다. (네이티브에만 적용).
  • 푸시 관련 코드가 제가되었습니다.
  • Install Referrer 관련 코드가 제거되었습니다.

13.3.0 (2023-11-30)

  • 안드로이드 API Level 23 이하 디바이스에서 Tapjoy.connect 호출시 API 가 실패로 응답합니다. MinSdk 는 API Level 21 로 유지됩니다.
  • Connect Flag 'DISABLE_ANDROID_ID_AS_ANALYTICS_ID' 를 더이상 사용할 수 없습니다.
  • 친구 수 데이터를 더이상 보내지 않습니다. API 는 13.2.0 부터 사용할 수 없으며 14.0.0 부터 API 가 제거될 예정입니다.
  • 사용자 코호트 값 데이터를 더이상 보내지 않습니다. API 는 13.2.0 부터 사용할 수 없으며 14.0.0 부터 API 가 제거될 예정입니다.
  • 기타 버그가 수정되었습니다.

13.2.1 (2023-10-05)

  • iOS SDK 와 일치하도록 버전 업데이트.

13.2.0 (2023-09-27)

  • 안드로이드 4.x 이하의 버전을 더이상 지원하지 않습니다. 최소 설정 API Level 은 21 부터 지원합니다.
  • Gradle 8 로 업데이트 되었습니다.
  • 가상화폐의 획득 및 사용이 개선되었습니다.
  • 이제 Tapjoy 연결 실패시 에레 메시지를 리턴합니다. 기존에 파라미터가 없는 콜백은 더이상 사용할 수 없습니다.
  • 사용자의 최대 레벨 설정에 대한 API 가 추가되었습니다.
  • 사용자 분류에 대한 새로운 API 가 추가되었습니다.
  • 가상 화폐 잔고 대한 새로운 API 가 추가되었습니다. (자체 관리 가상 화폐만 지원합니다.)
  • 가상 화폐 요청에 대한 새로운 API 가 추가되었습니다.
  • 플레이스먼트의 진입 경로에 대한 새로운 API 가 추가되었습니다.
  • C++ 인터페이스에 connect API 관련 플래그를 추가하였습니다.
  • C++ 인터페이스에 TJStatus 를 추가하였습니다.
  • 미디에이션과 비디오 관련 메소드 및 콜백을 더이상 사용할 수 없습니다.
  • 푸시 메시지와 관려한 메소드 및 콜백을 더이상 사용할 수 없습니다.
  • 제한된 연결과 관련한 메소드 및 콜백을 더이상 사용할 수 없습니다.
  • 기타 버그가 수정되었습니다.

13.1.2 (2023-07-14)

  • 사용자 프라이버시 값과 관련한 크래시를 수정하였습니다.
  • 버그 수정.

13.1.1 (2023-06-30)

  • UserID 연결과 관련하여 발생할 수 있는 크래시를 수정하였습니다.

13.1.0 (2023-06-28)

  • Gradle 버전이 7.5 로 업데이트 되었습니다.
  • Target API 가 33 으로 업데이트 되었습니다.
  • Tapjoy-managed 가상화폐 콜백과 관련한 에러 메시지를 추가하였습니다.
  • NullPointerException 관련 에러를 수정하였습니다.
  • onContentDismiss 리스너에서 requestContent 호출 시 onContentDismiss 가 두번 호출되는 현상을 수정하였습니다.
  • 사용자 프라이버시 인터페이스를 업데이트 하였습니다.
  • EasyApp UI 에 사용자 프라이버시 세팅 내역을 추가하였습니다.
  • 안드로이드 6 과 7에서 비디오 광고 시청 후 앱이 크래시되는 현상을 수정하였습니다.
  • 플레이스먼트 관련 크래시 CalledFromWrongThreadException 를 수정하였습니다.

13.0.1 (2023-04-18)

  • 버그 수정

13.0.0 (2023-04-06)

  • 로그캣을 통해 사용 가능한 새로운 '테스트 디바이스 ID' 추가.
  • EasyApp 기능 개선.
  • 더 이상 사용되지 않는 개인정보 인터페이스 제거 - TJPrivacyPolicy 사용 권장.
  • 더 이상 사용되지 않는 디스플레이 배율 인터페이스 제거.
  • 더 이상 사용되지 않는 AppDataVersion 인터페이스 제거.
  • 투명한 상태 표시줄 버그 수정.
  • 기타 버그 수정 및 성능 개선.

12.11.1 (2022-12-01)

  • Dolphin Android Studio와의 EasyApp 문제 수정.
  • EasyApp gradle 버전 업데이트.
  • 성능 개선.

12.11.0 (2022-10-07)

  • Connect 전에 optOutAdvertisingID를 호출한 경우 AdvertisingID를 가져오지 않는 버그가 수정되었습니다.
  • JCenter를 제거하고 적절한 경우 MavenCentral로 교체했습니다.
  • 대상 API를 32로 업데이트했습니다.

12.10.0 (2022-05-03)

  • setUserId(id, listener) 메소드 추가. setUserID 메소드는 더이상 사용되지 않습니다.
  • Android 12에서 푸시 알림 지원.
  • push to earn 관련기능 삭제.
  • 네트워크 요청에서 Android advertising_id 매개변수 사용에 대한 지원이 추가.

12.9.1 (2022-03-01)

  • Android 12 이상에서 PendingIntent FLAG_IMMUTABLE을 사용하도록 변경되었습니다. 이를 통해 Android 12 기기의 푸시 알림 관련 충돌 및 Play 스토어 경고가 해결되었습니다.
  • Android 12 기기의 푸시 알림은 아직 지원되지 않습니다.
  • setGcmSender API를 제거했습니다.
  • play-services-ads 버전을 18.0.0로 설정.
  • play-services-ads에 대한 엄격한 버전 요구 사항 제거

12.9.0 (2022-01-13)

  • play-services-ads의 종속성을 17.1.0으로 업데이트했습니다(최소 지원 버전 15.0.0). 버전 17.1.0에는 Google Play Family Program 앱이 제거해야 하는 'AD_ID' 권한이 포함되어 있습니다.
  • SDK 요청에 대한 파라미터 추가. 탭조이로 보내는 정보를 참고하세요.
  • MAC address 수집하지 않도록 변경.
  • API 31 지원을 위해 EasyApp 런치 액티비티에 android:exported 속성 추가.
  • API 31 & AndroidX 기반으로 빌드.

12.8.1 (2021-05-25)

  • EasyApp 샘플 애플리케이션 프로젝트 업데이트 (대상 API 30 및 Play 서비스 종속성이 17.0.0으로 업데이트 됨)
  • play-services-ads-identifier : 17.0.0 버전으로 SDK Maven 종속성 변경
  • SDK가 Android API 30 대상으로 빌드됨
  • SDK가 전송하는 파라미터 추가. 자세한 내용은 이 문서를 참조해 주세요..
  • 버그 수정 및 기능 개선

12.8.0 (2021-03-16)

12.7.1 (2020-11-02)

  • InstallReferrer API 마이그레이션
  • onContentDismiss 콜백 중복호출 수정

12.7.0 (2020-09-16)

  • SDK 요청에 파라미터 추가 [[Tapjoy로 전송되는 정보|../support/Info-sent-to-Tapjoy]]
  • 버그 수정 및 기능 추가

12.6.1 (2020-07-09)

  • Ad Unit 라이프사이클 상태 관련 코드 리팩도링

12.6.0 (2020-06-29)

이번 릴리즈는 California Consumer Privacy Act (CCPA) 관련된 기능을 포함하고 있습니다. 각각의 플랫폼에는 (iOS, Android, Unity, C++) “TJPrivacyPolicy” 클래스가 추가되었고, 이를 통해 모든 프라이버시 관련된 플래그를 설정할 수 있습니다. (GDPR, user consent, below consent age, US privacy). 구현에 대한 자세한 내용은 이 문서 를 참고해 주세요.

노트: 이전 버전에서 프라이버시 정책 관련된 API를 사용하여 값을 세팅했더라도 새로운 SDK에서 기존에 저장된 값을 읽어서 사용하기 때문에 별도의 작업이 필요하지는 않습니다. 그러나 향후 SDK 업데이트를 고려해 새로운 메소드를 사용하여 코드를 업데이트 하실 것을 권장드립니다.

  • TJPrivacyPolicy 클래스 추가 : GDPR, US Privacy, Consent and Below Consent Age 관련 기능을 하나의 클래스에서 제공
  • 이전 GDPR, User Consent and Below Consent Age 관련 API 지원 중단 예정

12.4.2 (2020-02-07)

  • 인스톨 어트리뷰션을 위한 커스텀 프로토콜 관련 레거시 기능 제거
  • 버그 수정

12.4.1 (2020-01-07)

  • 인스톨 어트리뷰션을 위한 커스텀 프로토콜 관련 레거시 기능 제거
  • 비디오 UI 변경
  • 버그 수정

12.4.0 (2019-12-04)

  • 가상화폐 지급 콜백에서 커스텀 파라메터 지원하도록 수정 (출시 예정 기능)
  • 그외 오류 수정

12.3.4 (2019-10-09)

12.3.3 (2019-09-20)

  • MOAT SDK 삭제

12.3.2 (2019-09-16)

  • DISABLE_ANDROID_ID_AS_ANALYTICS_ID connect flag 기본으로 변경
  • 버그 수정

12.3.1 (2019-06-06)

  • 추가적인 비디오 퍼포먼스 확장 기능

12.3.0 (2019-05-28)

  • 추가적인 비디오 퍼포먼스 확장 기능
  • onClick 메소드 TJPlacementListener 추가. 하지만 서버기능이 완려되기 전까지는 아직 동작하지 않습니다. 2019년 6월중에 해당 기능을 사용할 수 있게 될 예정입니다.
public interface TJPlacementListener {
    public void onClick(TJPlacement placement);
}
  • 버그 수정: 불필요한 ACCESS_WIFI_STATE 퍼미션 .aar 에서 제외

12.2.1 (2019-03-14)

  • Android ID와 같은 고정 ID를 사용하는 방식을 변경하였습니다. 탭조이는 꼭 필요한 경우를 제외하고는 고정 ID를 사용을 지양하고 있습니다. 자세히 설명하면,
    • 광고를 위해 Tapjoy의 SDK는 가능한 경우 광고 ID를 사용하려고 시도합니다. Tapjoy SDK의 이전 버전은 광고 ID를 사용할 수없는 경우 Android ID를 전달합니다. SDK 12.2.1부터 Tapjoy의 SDK는 광고 ID를 사용할 수없는 경우에도 더 이상 광고 목적으로 Android ID를 전달하지 않습니다.
      • 만일 퍼블리셔가 광고 ID를 사용할 수 없는 상태에서 광고 이용을 위해 Android ID를 전송하기 원할 경우, ALLOW_LEGACY_ID_FALLBACK connect 플래그 사용하면 기본 SDK 동작을 무시하고 Android ID를 사용합니다.
      • 퍼블리셔가 광고 ID를 사용할 수 없을 때 광고 목적으로 mac address를 보내려는 경우 동일한 connect 플래그를 사용할 수 있으며 manifest에 ACCESS_WIFI_STATE 권한도 포함해야합니다.
    • 분석 기능의 경우, 퍼블리셔가 명시적으로 DISABLE_ANDROID_ID_AS_ANALYTICS_ID connect 플래그를 사용하지 않으면 기본적으로 Android ID를 전송합니다.
    • 분석 기능의 경우, 더이상 mac address를 이용하지 않습니다.
    • 만일 퍼블리셔가 탭조이 관리 가상화폐를 이용할 경우, 또한 유저 아이디 설정을 하지 않은 경우, 광고 ID와 Android ID를 모두 전송할 수 없는 유저의 경우 리워드를 상실할 수 있는 위험이 있습니다. 탭조이 관리 가상화폐를 이용하는 퍼블리셩의 경우, 12.2.1 버전으로 업그레이드할 때 ALLOW_LEGACY_ID_FALLBACK connect 플래그를 설정해서 유저가 가상화폐를 잃지 않도록 할 것을 권장합니다. 덧붙여 유저 아이디를 설정해서 Android ID를 사용하지 않아도 유저의 가상화폐가 계속 유지 되도록 할 것을 권장합니다.
    • 더이상 SDK가 광고를 위해 고정 ID를 사용하지 않기 때문에 DISABLE_PERSISTENT_IDS connect 플래그는 더 이상 지원되지 않습니다.
  • 사용되지 않는 코드가 제거되어 이전 버전보다 10% 사이즈 감소. (보다 자세한 내용은 FAQ 에서 확인.)
  • 다음 Activity는 더이상 추가할 필요가 없습니다.
<activity android:name="com.tapjoy.mraid.view.ActionHandler"android:configChanges="orientation|keyboardHidden|screenSize" />
<activity android:name="com.tapjoy.mraid.view.Browser"android:configChanges="orientation|keyboardHidden|screenSize" />

오류 수정 :

  • 드물게 발생하는 "Fatal Exception: java.lang.RuntimeException: Package manager has died" 크래쉬 수정
  • SDK 키가 null일때 발생하는 crash 수정
  • AppMonitor.getVisibleActivity method 사용 시 드물게 발생하는 java.util.ConcurrentModificationException 오류 수정

12.2.0 (2018-11-13)

이번 릴리즈에서는 "사용자 동의 연령 미만"을 나타내는 플래그를 추가함으로써 퍼블리셔가 COPPA 규정을 준수하면서 광고 수익화를 하는데 도움을 주고 있습니다. 이 기능을 사용하기 위해서는 퍼블리셔가 직접 추가된 API를 사용해 구현하여야 하며, 이는 탭조이 SDK에 의해 자동으로 연동이 되지 않습니다. COPPA 관련 법안과 규제에 대한 책임은 퍼블리셔에게 있습니다.

미국에서 아동 온라인 개인 정보 보호법 (COPPA)은 (a) 대상 사용자가 13 세 미만의 아동임을 실제적으로 인지하거나 (b) 13 세 미만의 어린이를 대상으로 하는 서비스(앱 포함)를 운영하는 온라인 서비스 운영자 특정 규정 준수를 요구합니다.

마찬가지로 GDPR은 온라인 동의를 위해 해당 지역 최소 연령 이하의 데이터 주체와 관련하여 특정 요구 사항을 부과합니다 (각 회원국이 수립 한 13 세에서 16 세까지의 연령 범위).

13 세 미만의 어린이를 대상으로하지 않지만 해당 연령대 소수 유저를 보유하고있는 애플리케이션의 경우, 해당되는 유저에 대해서 아래 API를 사용하여 광고 추적을 수행하지 않게 할 수 있습니다.

public static void belowConsentAge(boolean isBelowConsentAge);

이 API 통해 해당 설정을 TRUE로 설정하면 탭조이 SDK는 해당 유저에 대해서 '개인화된 광고 사용하지 않기' 옵션이 활성화 된것으로 처리합니다. 이 경우 탭조이 광고가 계속 해당 유저에게 송출될 수는 있지만, 사용자 행위는 기록되지 않고 개인화 기반 타케팅 광고도 송출되지 않게 됩니다.

  • 버그수정 : Fatal Exception: java.lang.NullPointerException 관련 크래시 이슈 수정

12.1.0 (2018-10-11)

  • Firebase Cloud Messaging (FCM) 지원. Google Cloud Messaging (GCM)을 사용하는 앱은 향후 FCM으로 업그레이드 해야합니다. 자세한 내용은 다음 내용을 참조해 주십시오. using FCM with Tapjoy are in the Android Getting Started Guide for Publishers.

  • SharedPreferences.commit > SharedPreferences.apply 변경

  • 화면방향이 고정된 광고컨텐츠 재생 후 발생하는 화면 표시 오류 수정

  • 오류 팝업 업데이트

12.0.0 (2018-06-26)

Android 9 "Pie" 호환.

  • IAB Open Measurement SDK가 Tapjoy SDK에 통합됨. 퍼블러셔측 추가적인 코딩은 필요하지 않습니다.
  • 최소 지원 버전 API Level 14/Android 4.0/Ice Cream Sandwich로 변경.
  • SDK 프로그래매틱 미디에이션 지원 기능 추가. 서버 & 대시보드 기능은 곧 추가될 예정입니다.
  • Android O 타킷으로 설정 시 발생하던 push notification 오류 수정

11.12.2 (2018-05-18)

이 릴리즈는 퍼블리셔 파트너사에서 GDPR(General Data Protection Regulation)을 준수할 수 있도록 지원해 주는 기능을 포함하고 있습니다. 각각의 플랫폼들에는(iOS, Android, Unity, AIR) 두가지 API가 추가 되었습니다. 탭조이는 "합법적인 이익"(legitimate interest)을 토대로 GDPR을 준수하므로 다음 기능은 필수 사항이 아닙니다. 그러나 탭조이에 동의된 정보를 전달하려는 퍼블리셔들을 위해서 관련 기능들이 제공됩니다. 퍼블리셔는 해당 API를 사용해서 기능을 구현하고 사용자가 정보제공에 동의하지 않으면 탭조이는 해당 사용자에게 비관심기반 콘텐츠를 제공합니다.

관련 API들은 탭조이 컨낵트 요청이나 컨텐츠 요청이 발생하기 전에 호출 될 수 있습니다.

setUserConsent 함수 요청은 "0″ (user does not consent), "1″ (user does consent) 혹은 보다 자세한 동의 문자열을 인자로 받을 수 있습니다. 보다 자세한 동의 문자열 관련 내용은 IAB에서 지원하고 있는 "Transparency and Consent Framework" 웹사이트에 링크된 관련 문서를 통해서 확인할 수 있습니다. 선택적으로 "GDPR 적용 대상"을 설정하는 플래그를 YES / TRUE (사용자가 GDPR 규칙의 적용을받는 경우) 또는 NO / FALSE (사용자가 GDPR 규칙의 적용을받지 않는 경우)로 설정할 수 있습니다. 이 기능은 애플리케이션이 GDPR의 사용자 적용 가능 여부를 자체적으로 판단할 수 있는 경우에만 호출해야합니다. 이 기능이 호출되지 않으면 탭조이는 애플리케이션이 GDPR 적용에 대한 결정을 내리지 않았다고 가정하고 자체적으로 GDPR 적용 가능성 결정합니다.

추가된 API:
public static void setUserConsent(String value);
예시: Tapjoy.setUserConsent("1"); // 사용자 동의 안함

public static void subjectToGDPR(boolean gdprApplicable);
예시: Tapjoy.subjectToGDPR(true); // 이 사용자는 GDPR 대상임

GDPR FAQ

사용자가 동의하지 않거나 기존 동의를 철회하는 경우에도 Tapjoy SDK는 광고 식별자를 Tapjoy에 전송합니까?

예. 위에 나열된 기능은 관심 기반 광고를 위해 설계되었으며 관심 기반 광고에 대한 사용자 동의 여부를 Tapjoy에 전송합니다. 따라서 동의 상태는 SDK 초기화 또는 광고 요청 중에 Tapjoy SDK가 광고 식별자 (iOS의 경우 IDFA 또는 Android의 경우 GAID)를 보내는 것을 비활성화하지 않습니다.

어플리케이션의 요구사항에 따라 Tapjoy SDK의 초기화 여부를 결정하는 것은 어플리케이션의 책임입니다. 예를 들어 애플리케이션의 광고 식별자 수집에 대한 합법적인 근거가 동의이고 사용자가 동의하지 않은 경우 해당 사용자를 위해 Tapjoy SDK를 초기화해서는 안됩니다.

GDPR이 적용되지 않는 국가의 사용자가 동의하지 않거나 동의를 철회하는 경우 Tapjoy는 해당 사용자에 대한 비 관심 기반 광고로 광고를 제한합니까?

Tapjoy SDK는 사용자가 GDPR의 적용을 받는지 여부를 판단하는 방법이 없는 애플리케이션을 포함하여 다양한 유형의 애플리케이션을 처리 할 수있는 유연성을 제공합니다.

따라서 애플리케이션이 어떤 결정도 내리지 않는 경우 (즉, subjectToGDPR 기능이 호출되지 않음) Tapjoy 서버는 사용자가 GDPR의 대상인지 여부를 결정합니다. 그런 다음 Tapjoy는 GDPR이 적용되는 사용자로부터 발생하는 것으로 Tapjoy가 결정한 광고 요청에 대해서만 사용자의 동의 환경 설정을 존중합니다.

만일 의도하는 바가 모든 국가의 사용자가 GDPR의 적용을 받는 것처럼 동의를 철회하도록 허용하려는 경우, 동의하지 않는 모든 사용자에 대해 TRUE로 subjectToGDPR 메서드를 호출하여 수행 할 수 있습니다. 이 경우 Tapjoy의 서버는 subjectToGDPR 메서드 호출의 내용을 존중하며 사용자가 GDPR의 적용을 받는지 여부를 자체적으로 결정하지 않습니다. 퍼블리셔는 또한 support@tapjoy.com에 연락하여 GDPR이 적용되는지 여부에 관계없이 어플리케이션의 모든 사용자의 동의 설정을 존중하도록 Tapjoy를 요청할 수 있습니다.

11.12.1 (2018-04-30)

  • 내부 개선사항. 신규 기능 추가 없음

11.12.0 (2018-03-29)

  • 이제 다음과 같은 퍼미션은 필요하지 않습니다.
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
WRITE_EXTERNAL_STORAGE
  • "탭조이 플랫폼 미디에이션" 기능 제거. 탭조이 플랫폼 미디에이션은 이미 1년이상 지원되지 않는 기능입니다. 만일 해당 기능을 계속 이용하고자 하신다면 이 버전의 SDK로 업데이트 하실 수 없습니다. 업계 표준인 "어탭터 연동 방식의 미디에이션"으로 전환하시기를 권장드립니다. Mopub, ironSource, Fyber, Appodeal 등과 같이 일반적인 어댑터 미디에이션(비디오, 중간삽입광고)의 경우 이 변경사항으로 인한 영향을 받지 않습니다.

  • 네트워크 연결이 되지 않은 경우, 캐쉬된 비디오 재생 시 잘못 표시되는 메시지 수정.

  • 탭조이 컨텐츠 표시 후, 오퍼월이나 어플리케이션의 화면 방향이 잘못 보여지는 문제 수정.