変更履歴

13.4.1 (2024-03-19)

  • iOSリリース と合わせるためのバージョン番号変更のみ。

13.4.0 (2024-03-04)

  • connectWarning コールバックを追加しました。
  • Kotlin サンプルアプリを追加しました。
  • SDKに kotlin-stdlib への異存を追加しました。
  • Java 11 をサポートしました (native のみ)。
  • プッシュ通知を削除しました。
  • Install Referrer を削除しました。

13.3.0 (2023-11-30)

  • API Level 23 以下では Tapjoy.connect が即時エラーとなるようになりました。コンパイル時の MinSdk は API 21 のままです。
  • 'DISABLE_ANDROID_ID_AS_ANALYTICS_ID' コネクト フラグを非推奨としました。
  • フレンド数のデータは送信されなくなりました。API は 13.2.0 で非推奨となっており、14.0.0 で削除される予定です。
  • ユーザー コホート 変数の値は送信されなくなりました。API は 13.2.0 で非推奨となっており、14.0.0 で削除される予定です。
  • バグ修正と機能の向上

13.2.0 (2023-09-27)

  • Android 4.x のサポートを終了しました。 Minimum API level は現在 21 になりました。
  • Gradle 8 にアップデートしました。
  • spend/earn currency メソッドを改善しました。
  • connect 失敗時のコールバックにエラーメッセージが返されるようになりました。パラメータ無しのコールバックは非推奨になりました。
  • ユーザー レベル の最大値を設定するAPIを追加しました。
  • ユーザー セグメント を設定するAPIを追加しました。
  • 仮想通貨の残高を設定するAPIを追加しました(自社管理仮想通貨のみ)。
  • 仮想通貨の需要を設定するAPIを追加しました。
  • プレイスメントの呼びだし地点を設定するAPIを追加しました。
  • C++ インターフェースに connect フラグを追加しました。
  • C++ インターフェースに TJStatus を追加しました。
  • メディエーションおよび動画のメソッド/コールバックを非推奨にしました。
  • プッシュ通知を非推奨にしました。
  • limited connect を非推奨にしました。
  • バグ修正。

13.1.2 (2023-07-14)

  • PrivacyPolicy 値に関連するクラッシュを修正しました。
  • バグ修正。

13.1.1 (2023-06-30)

  • connect 処理で userId を設定する際にクラッシュする可能性を修正しました。

13.1.0 (2023-06-28)

  • Gradle を 7.5 にアップデートしました。
  • Target API を 33 にアップデートしました。
  • Tapjoy 管理仮想通貨 のコールバックにエラーメッセージを追加しました。
  • NullPointerException が発生する問題を修正しました。
  • onContentDismiss から requestContent を呼び出した場合に onContentDismiss が二回呼ばれる問題を修正しました。
  • プライバシー ポリシー のインターフェースをアップデートしました。
  • EasyApp に プライバシー ポリシー 設定用の UI を追加しました。
  • Android 6 および 7 で動画を表示した後にクラッシュする問題を修正しました。
  • プレイスメントが CalledFromWrongThreadException によりクラッシュする問題を修正しました。

13.0.1 (2023-04-18)

  • バグ修正。

13.0.0 (2023-04-06)

  • 'テスト用端末ID'が新たに logcat にログ出力されるようにしました。
  • EasyApp を改良しました。
  • 非推奨であったプライバシー関連のインターフェースを削除しました。TJPrivacyPolicy を使用して下さい。
  • 非推奨であった display multiplier 設定メソッドを削除しました。
  • 非推奨であった AppDataVersion 設定メソッドを削除しました。
  • ステータスバーが透明になるバグを修正しました。
  • WebView のメモリリークを修正しました。
  • バグ修正と機能の向上。

12.11.1 (2022-12-01)

  • Android Studio Dolphin で発生した EasyApp の問題を修正しました。
  • EasyApp の gradle バージョンをアップデートしました。
  • パフォーマンスを改善しました。

12.11.0 (2022-10-07)

  • optOutAdvertisingID が connect の前に呼ばれると advertisingID が取得されない場合があるバグを修正しました。
  • JCenter を削除し、必要な箇所を MavenCentral に置き換えました。
  • Target API を 32 に更新しました。

12.10.0 (2022-05-03)

  • setUserID メソッドは非推奨となりました。setUserId(id, listener) をご利用ください。
  • Android 12 デバイスでのプッシュ通知のサポート。
  • Push to Earn 機能のサポートを SDK から削除。
  • Android での advertising_id パラメータのリクエストへの送信可否を可能にしました。

12.9.1 (2022-03-01)

  • Android 12 以降では、SDK は FLAG_IMMUTABLE を PendingIntent に使用します。これにより Android 12 端末でのプッシュ通知によるクラッシュの可能性、および Play Store 登録時の警告を回避します。
  • 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 は AD_ID パーミッションを含みますが、Google Play ファミリー向けプログラム に含まれるアプリはこれを削除する必要があります。
  • SDKからのリクエストにパラメータが追加されました。詳細は Tapjoyにどのような情報が送信されますか? を参照してください。
  • Tapjoy SDK は MACアドレス情報を収集しなくなりました。
  • EasyAppの起動アクティビティに android:exported を追加し、API 31をサポートしました。
  • API 31 および AndroidX にてビルドされています。

12.8.1 (2021-05-25)

  • EasyApp サンプルアプリのプロジェクトをアップデートしました (target API を 30にし、Play Services の依存を 17.0.0 以降としました)。
  • play-services-ads-identifier:17.0.0 をSDKの maven dependency として追加しました。
  • SDK は Android API 30 でビルドされるようになりました。
  • SDK がサーバに送るリクエストのパラメータを追加しました。 Tapjoyにどのような情報が送信されますか? を参照して下さい。
  • バグ修正と機能の向上

12.8.0 (2021-03-16)

12.7.1 (2020-11-02)

  • InstallReferrer API へ移行しました。
  • onContentDismiss コールバックが二回呼ばれる問題を修正しました。

12.7.0 (2020-09-16)

12.6.1 (2020-07-09)

  • Tapjoy 広告ユニットのライフサイクルに関するいくつかのコードをリファクタリングしました。

12.6.0 (2020-06-29)

  • このリリースには、パブリッシャーがCalifornia Consumer Privacy Act (CCPA)に準拠するために役立つ機能が追加されています。各プラットフォーム(iOS、Android、Unity、C++) に新しいクラス “TJPrivacyPolicy” が追加され、これを通してすべてのプライバシー関連のフラグ(GDPR、ユーザー同意、同意可能年齢未満、USプライバシー関連)を管理できるようになります。 より詳細な情報については、こちらのドキュメントをご参照ください。

注: 以前のバージョンのTapjoy SDKでプライバシー関連の設定を行っている場合にアップデートする場合でも心配はいりません。 新しいSDKは以前に設定された値を読み込むため、再度値を設定する必要はありません。 しかしながら、新しいAPIを使うコードに移行していく事をお勧めします。

  • 新たに TJPrivacyPolicy クラスを追加し、GDPR、 US Privacy、同意設定、同意可能年齢未満設定を一ヶ所で行えるようになりました。
  • これまでの GDPR、 同意設定、同意可能年齢未満設定用のAPIを非推奨(deprecated)としました。

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 コネクトフラグがデフォルトになりました。
  • バグ修正

12.3.1 (2019-06-06)

  • 追加的な動画パフォーマンスの向上

12.3.0 (2019-05-28)

  • 動画パフォーマンスの向上
  • TJPlacementListener に onClick コールバックを追加しました。 注意:このデリゲートメソッドは、バックエンドサーバーのサポートが整うまで実際には呼び出されません。バックエンドのサポート開始は 2019年の6月中旬頃を予定しています。
public interface TJPlacementListener {
    public void onClick(TJPlacement placement);
}
  • バグ修正:
    • 現在は使用しなくなった ACCESS_WIFI_STATE パーミッションを .aar ファイルから削除しました。

12.2.1 (2019-03-14)

  • Tapjoy は Android ID などの永続ID に関する利用方法を変更しました。 全般的に、Tapjoy はこうした永続IDをより使用しなくなりました。 この変更はほとんどのパブリッシャーにとっては目に見える変化はなく、実装コードの変更などは必要ありません。 具体的には以下のようになります:
    • 広告のために、Tapjoy SDK は使用可能な場合には広告IDを利用しようとします。以前のバージョンのTapjoy SDKでは、広告IDが利用できない場合には Android ID および (パーミッションがある場合) MACアドレス をサーバに送信していました。 SDK 12.2.1 以降は、Tapjoy SDK は広告IDが利用できない場合でも Android ID や MACアドレス を広告利用の目的では送信しません。
      • パブリッシャーが広告IDが利用できない場合にAndroid ID を広告利用の目的で使用したい場合、ALLOW_LEGACY_ID_FALLBACK コネクト フラグを使ってデフォルトの動作を変更できます。
      • パブリッシャーが広告IDが利用できない場合にMAC アドレスを広告利用の目的で使用したい場合、同じ コネクト フラグを使い、さらに ACCESS_WIFI_STATE パーミッションをマニフェストに追加します。
    • アナリティクス用途では、Tapjoy SDKは DISABLE_ANDROID_ID_AS_ANALYTICS_ID コネクトフラグを指定して明示的にオプトアウトしない場合にはAndroid ID を利用します。
    • Tapjoy SDKはMACアドレスをアナリティクス用途では使用しなくなりました。
    • パブリッシャーがタップジョイ管理の仮想通貨を使用しており、かつパブリッシャーのユーザーIDを指定していない場合、広告IDを取得できないユーザーはAndroid IDが送信されていない場合に仮想通貨を失う可能性があります。 Tapjoy管理の仮想通貨をお使いでパブリッシャーのユーザーIDを指定していないパブリッシャー様は、SDK を12.2.1にアップグレードする際に ALLOW_LEGACY_ID_FALLBACK フラグを設定してユーザーが仮想通貨の残高を失わないようにすることをおすすめいたします。また、パブリッシャーのユーザーIDを指定するようにしAndroid IDによらずに仮想通貨の残高を管理できるようにすることをおすすめいたします。
    • SDKのデフォルトの動作が永続IDを広告利用目的では使用しないものになったため、DISABLE_PERSISTENT_IDS コネクトフラグは非推奨になりました。
  • 不要なコードを削除し、以前のバージョンよりSDKが約10%小さくなりました。 (詳細に関しては FAQ の SDK サイズの項目 をご参照ください。)
  • 下記の アクティビティは必要ではなくなりました:
<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 key に null を指定した場合のクラッシュを修正しました。
    • AppMonitor.getVisibleActivity()のスレッド競合に対する不完全な実装により発生する場合のあった java.util.ConcurrentModificationException を修正しました。

12.2.0 (2018-11-13)

このリリースでは、"ユーザーが同意可能年齢未満である"フラグを追加し、パブリッシャーがCOPPAに準拠しつつユーザーベースをマネタイズする際に使用可能となりました。 注意: この機能の実装責任はパブリッシャーが負います。Tapjoy SDK をアプリに実装しているというだけで自動的にこの機能が実装されるわけではありません。 最終的に COPPA 等の法律や規制に準拠しているかの責任はパブリッシャーに存在することにご注意ください。

米国において Children’s Online Privacy Protection Act (COPPA) は、(a) 利用しているユーザーが13歳未満であるとの知見を持つ、または(b) 13歳未満の子供に向けたサービス(アプリを含む)を提供しているオンラインサービスの提供者にいくつかの義務を課しています。

同様に、GDPR もオンラインにおける当該地域での最小同意可能年齢(13歳から16歳まで、各構成州によって制定される)未満に対するデータを扱う場合にいくつかの義務が課されています。

13歳未満を対象としていないアプリで、かつ少数のユーザーが同意可能年齢未満である場合には、Tapjoyのマネタイズ機能を利用するのにこのメソッドを使用できます。 このメソッドは ad_tracking_enabled フラグを false にセットし、コンテンツ連動型コンテンツのみを表示するようになります。指定したユーザーには広告追跡は行われません。

public static void belowConsentAge(boolean isBelowConsentAge);

この値を TRUE にした場合、Tapjoy SDK はユーザーが"インタレストベース広告をオプトアウト" スイッチを設定でオンにした場合と同様に扱います。つまり、ユーザーはTapjoy広告を見ることは可能ですが、広告はユーザーをターゲティングしたものではなく、またユーザーの広告に対する行動はTapjoyによっては追跡されません。

バグ修正:

  • まれに発生する "Fatal Exception: java.lang.NullPointerException" クラッシュを修正しました。

12.1.0 (2018-10-11)

  • Tapjoy SDK は Firebase Cloud Messaging (FCM) をサポートします。Google Cloud Messaging (GCM) を使用しているアプリは、将来 Android の必須事項となるため FCM にアップデートをする必要があります。 FCM を Tapjoy で使用するための手順は Android SDK 実装ガイド を参照して下さい。

  • SharedPreferences.commit の呼び出しを SharedPreferences.apply に変更し、これに関連するまれなクラッシュを修正しました。

  • 広告コンテンツの表示方向が固定だった場合に、広告表示開始後に端末を回転させると固定されない場合がある不具合を修正しました。

  • エラー時のポップアップUIをアップデートしました。

12.0.0 (2018-06-26)

本リリースは Android 9 "Pie" に対応しています。

  • Tapjoy SDK に IAB Open Measurement SDK が統合されました。この変更に対し、パブリッシャーは追加の作業やコードの修正を行う必要はありません。
  • サポート対象の Android バージョンが API Level 14/Android 4.0/Ice Cream Sandwich 以降になりました。.
  • Programatic Mediation に SDKが対応しました。サーバーおよびダッシュボードでの Programatic Mediation への対応は後日対応の予定です。
  • Android O 以降のデバイスをターゲットにした場合のプッシュ通知の不具合を修正しました。

11.12.2 (2018-05-18)

このリリースでは、パブリッシャーの EU 一般データ保護規則 (General Data Protection Regulation、 GDPR) 対応に役立つ機能が含まれています。各プラットフォーム (iOS、Android、Unity、AIR) に新しく二つの機能が追加されました。 Tapjoy は "正当な利益 (legitimate interest)" に基づくGDPR遵守のサービスであるため、こうした機能は必須ではありません。しかしながら、弊社ではユーザーの同意情報を Tapjoy へ通知を希望するパブリッシャーのためにこれらの機能を追加しました。パブリッシャーがこれらの機能を実装し、ユーザーが同意を行わなかった場合、Tapjoy はユーザーの行動に基づかないコンテンツをユーザーに提供します。

以下の機能は Tapjoy Connect を呼び出す前に使用可能であり、また、Tapjoy にコンテンツを要求する前に呼び出す必要があります

  1. setUserConsent関数: 引数として "0″ (ユーザーは不同意)、 "1″ (ユーザーは同意) もしくはより詳細な同意状態を表す文字列を取る関数。この詳細な文字列、consent string は IAB にてサポートされている Transparency and Consent Framework にて記述されているものです。
  2. オプションとして、"GDPR の対象か" を示す YES/TRUE (ユーザーが GDPR 規則の対象の場合) もしくは NO/FALSE (ユーザーが GDPR 規則の対象外の場合)のフラグを設定できる関数。 この機能はアプリケーションが、ユーザーが GDPR の対象であるか否かを判別できる場合にのみ使用して下さい。この機能が呼び出されていない場合には、Tapjoy 自身で GDPR の対象となるか否かを判別します。

GDPR FAQ

ユーザーが同意をしなかった場合、または以前の同意を取り消した場合、Tapjoy SDKはTapjoyに広告IDを送りますか?

はい。 上記の関数はインタレストベース(行動ターゲティング)広告のためにデザインされたもので、Tapjoyにインタレストベース広告への同意の状態をTapjoyに送信します。このため、同意の状態はTapjoy SDK が広告ID(iOSではIDFA、AndroidではGAID)をSDK初期化や広告リクエストの際に送る動作を停止する訳ではありません。

Tapjoy の法的立場は "正当な利益 (legitimate interest)"です。しかしながら、パブリッシャーが法遵守を行う際の法的立場はTapjoyと異なる可能性があり、よって広告IDの収集に必要な条件も異なる可能性があります。

Tapjoy SDKを初期化するかどうかはアプリの遵守に必要な条件に基づきパブリッシャーが判断する必要があります。例えば、あるアプリで広告IDを収集する正当性がユーザーの同意である場合、ユーザーが同意をしていない場合はそのユーザーにはTapjoy SDKを初期化するべきではありません。

ユーザーがGDPRによって保護されない国から来ていて、同意をしないまたは同意を取り消した場合、Tapjoyはそのユーザーへの広告をインタレストベースではないものに制限するのですか?

Tapjoy SDKは様々なアプリの状態に対応できる柔軟性があります。例えば、ユーザーをGDPRの対象であるか否かを判断する方法がないアプリにも対応が出来ます。

つまり、アプリが何の決定も行っていない場合(subjectToGDPR関数が呼ばれていない場合)、TapjoyサーバはユーザーがGDPRの対象であるかを判断します。また、Tapjoyはユーザーの同意状態をGDPRで保護されるユーザーからの広告リクエストに関してのみ適応します。

目的がすべてのユーザーにGDPR保護対象のユーザーと同様な同意の取り消しを行わせる事である場合、不同意のユーザー全員に subjectToGDPRを TRUEにして呼ぶようにします。この場合、Tapjoyサーバーは subjectToGDPR の値を使用し、結果としてTapjoyサーバーはユーザーがGDPRで保護されるかの判断を行輪なくなります。また、 support@tapjoy.com に連絡をして、すべてのユーザーがGDPRの保護対象であるかに関わらず同意状態を優先するよう設定する事も可能です。

追加:
public static void setUserConsent(String value);
例:
Tapjoy.setUserConsent("1");  // ユーザーは同意済み

public static void subjectToGDPR(boolean gdprApplicable);
例:
Tapjoy.subjectToGDPR(true); // このユーザーはGDPR の対象

11.12.1 (2018-04-30)

  • 内部的な処理の変更のみで、機能の追加・修正はありません。

11.12.0 (2018-03-29)

  • Tapjoy SDK が以下のパーミッションを求めなくなりました:
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
WRITE_EXTERNAL_STORAGE
  • 非推奨であった "Tapjoy プラットフォーム メディエーション" 機能を削除しました。この機能は特別な形でのメディエーションを実現するもので、一年近く前からサポートを停止していたものです。現在もプラットフォームメディエーション をご利用の場合は、本バージョンのSDKへのアップデートを行わないようにして下さい。また、業界での標準的なアダプター メディエーションに移行される事をお勧めいたします。通常のアダプターメディエーション(アドフリくん、AdStir、viidle、Ad Generation、 Mopub、その他のメディエーション パートナー) をご利用の場合は、この変更による影響はありません。

  • Tapjoy 動画広告がキャッシュから再生された場合にネットワークに接続していない場合に表示される、正確でないエラーメッセージを表示されないように修正しました。

  • Tapjoy 広告表示後に、オファーウォールまたはアプリケーションの表示される方向が正しくなくなる問題を修正しました。