変更履歴

14.2.1 (2024-12-09)

  • バージョン番号更新のみ

14.2.0 (2024-12-04)

  • Privacy Manifest 用に tracking domain を追加しました
  • Xcode 16.0 で SDK をビルドしました
  • TJPlacement didClick コールバックを非推奨としました
  • getSupportURL を非推奨としました
  • EasyApp (Objc) の ATT プロンプトを修正しました
  • iOS 10 および 11 のサポートを終了しました

14.1.1 (2024-10-15)

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

14.1.0 (2024-10-02)

  • PPE を非推奨にしました。
  • EasyApp に軽微な変更をしました。
  • Xcode 15.4 でビルドを行いました。

14.0.1 (2024-07-16)

  • dynamic framework の署名問題を修正しました。

14.0.0 (2024-07-01)

  • プライバシーマニフェストに NSPrivacyCollectedDataTypeEmailAddress を追加しました。
  • static framework のサポートを追加しました。 Cocoapods のインストールのデフォルトを static にしました。
  • UserID のゲッター [Tapjoy getUserID] を追加しました。
  • iOS 17.4+ での SKStoreProductViewController 表示の問題を修正しました。
  • C++ ヘッダを整理しました。
  • userID のプロパティ [[Tapjoy sharedTapjoyConnect] userID] を非推奨としました。 [Tapjoy getUserID] を利用下さい。
  • 非推奨だったプッシュ通知インターフェースを削除しました。
  • 非推奨だった limitedConnect および placement インターフェースを削除しました。
  • 非推奨だった UserCohortVariables インターフェースを削除しました。
  • 非推奨だった InstallReferrer インターフェースを削除しました。
  • 非推奨だった CustomEvents インターフェースを削除しました。
  • 非推奨だった PrivacyPolicy インターフェースを削除しました。
  • 非推奨だった UserFriendCount インターフェースを削除しました。
  • 非推奨だった Mediation/Auction date インターフェースを削除しました。
  • 非推奨だった setUserId インターフェースを削除しました。
  • 非推奨だった store プロパティを削除しました。
  • 非推奨だった analyticsApiKey プロパティを削除しました。
  • Swift EasyApp で ATT ダイアログが表示されない問題を修正しました。
  • Objective-C EasyApp で connect を行う前に ‘show offerwall’ ボタンを押すと有効にならない不具合を修正しました。
  • ノッチのある端末での Offerwall Discover の表示の不具合を修正しました。
  • Swift EasyApp でレジューム時に connect を呼ぶ不具合を修正しました。

既知の不具合

1. 署名の無効化

  • Tapjoy SDK の 証明書が無効となった (certificate expired) というエラーが表示される場合、SDK を確実に最新にするためにキャッシュをクリアする必要があります。詳細は こちらをご参照下さい。

Cocoapods

pod cache clean TapjoySDK --all

Swift Package Manager

rm -rf ~/Library/Caches/org.swift.swiftpm ~/Library/org.swift.swiftpm

手動実装の場合

  1. Tapjoy SDK の .xcframework を削除します。
  2. Tapjoy ダッシュボードから新規にSDKをダウンロードし、コピーします。

2. 不正なバンドル

  • Cocoapods Dynamic/Swift Package Manager の署名に問題がありました。不正なバンドル(invalid bundle)のため、App Store へビルドしたアプリをアップロードできない場合があります。14.0.1 にアップデートをして下さい。

13.4.1 (2024-03-19)

  • AppLaunch プレイスメントに User ID を設定する際のバグを修正しました。

13.4.0 (2024-03-04)

  • Swift Package Manager をサポートしました。
  • onConnectWarning コールバックを追加しました。
  • Push通知を削除しました。

13.3.0 (2023-11-30)

  • Nutrition labels および Required Reason API を含む、PrivacyManifest を追加しました。
  • XCFramework を Tapjoy, Inc. の証明書を使用して署名しました。
  • フレームワークを static から dynamic に変更しました。
  • フレンド数のデータは送信されなくなりました。API は 13.2.0 で非推奨となっており、14.0.0 で削除される予定です。
  • ユーザー コホート 変数の値は送信されなくなりました。API は 13.2.0 で非推奨となっており、14.0.0 で削除される予定です。
  • バグ修正と機能の向上

13.2.1 (2023-10-05)

  • modulemap 警告が出る不具合を修正しました。

13.2.0 (2023-09-27)

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

13.1.2 (2023-07-14)

  • Android のアップデートにバージョン番号を一致させました。

13.1.1 (2023-06-30)

  • Android のアップデートにバージョン番号を一致させました。

13.1.0 (2023-06-28)

  • Tapjoy 管理仮想通貨 のコールバックにエラーメッセージを追加しました。
  • setUserID withCompletion メソッドを C++ インターフェースに追加しました。
  • プライバシー ポリシー のインターフェースをアップデートしました。
  • Swift EasyApp に Offerwall Discover の UI を追加しました。
  • EasyApp に プライバシー ポリシー 設定用の UI を追加しました。
  • C++ インターフェースでプレイスメント名 nil を指定するとクラッシュする問題を修正しました。
  • アプリのリジューム時に connect が再度呼ばれる不具合を修正しました。
  • iOS 12 以下で新規のセッションで EXC_BAD_ACCESS が発生する問題を修正しました。
  • 仮想通貨が初めて初期化された場合に earned currency イベントが発生しない問題を修正しました。
  • メモリ使用について改善と修正を行いました。
  • TJPrivacyPolicy usPrivacy が public property になりました。これにより、setUSPrivacy は Swift では使用できなくなりました。Tapjoy.getPrivacyPolicy().usPrivacy = privacyValue として設定して下さい。

13.0.1 (2023-04-18)

  • Android 版とバージョン番号を合わせました。

13.0.0 (2023-04-06)

  • 端末の広告IDが Xcode コンソールにログ出力されるようにしました。
  • 'テスト用端末ID'が新たに Xcode コンソールにログ出力されるようにしました。
  • EasyApp を改良しました。
  • Swift 版の EasyApp を新規に追加しました。
  • iOS 9 のサポートを終了しました。
  • Xcode 14.1 でビルドを行いました。それに伴い、32 bit 端末のサポートを終了しました。
  • 非推奨であったプライバシー関連のインターフェースを削除しました。TJPrivacyPolicy を使用して下さい。
  • 非推奨であった display multiplier 設定メソッドを削除しました。
  • 非推奨であった AppDataVersion 設定メソッドを削除しました。
  • didClick コールバックを修正しました。
  • WebView のメモリリークを修正しました。
  • バグ修正。

12.11.1 (2022-12-01)

  • EasyApp の軽微な UI の問題を修正しました。

12.11.0 (2022-10-07)

  • Podspec および EasyApp から PassKit への依存を削除しました。
  • EasyApp UI をアップデートしてノッチへ対応しました。
  • iOS 15.7 で発生する AppStore に関する sceneDisconnected クラッシュを修正しました。

12.10.0 (2022-05-03)

  • setUserId メソッドは非推奨となりました。 setUserIdWithCompletion()をお使いください。
  • バグ修正。

12.9.1 (2022-03-16)

  • 実装の変更はなく、Android および Unity SDKのアップデートにバージョン番号を一致させました。

12.9.0 (2022-01-13)

  • Swiftのサポートを改善するための様々な改良(nil値フラグ、戻り値の型の修正を含む)。
    • 戻り値の型の明確化により、SwiftでのTJPlacement インスタンスの取得は通常の初期化子 TJPlacement(...) を使用するようになりました。以前のファクトリメソッド TJPlacement.placement(...) は使用できません。
  • SDKからのリクエストにパラメータが追加されました。詳細は Tapjoyにどのような情報が送信されますか? を参照してください。
  • バグ修正。
  • EasyAppでATTプロンプトを呼ぶ処理を修正しました。
  • Xcode 13 にてビルドしました。

12.8.1 (2021-05-25)

  • SKAdNetwork 2.2 および View-Through Attribution をサポートしました (Xcode 12.5でビルドされたアプリについて)。
  • MRAID 広告で SKAdNetwork をサポートしました。
  • SDK がサーバに送るリクエストのパラメータを追加しました。 Tapjoyにどのような情報が送信されますか? を参照して下さい。
  • バグ修正と機能の向上

12.8.0 (2021-03-16)

  • Tapjoy SDK の配布形式に XCFramework を採用しました (Xcode version 11 以降が必要です)
  • TapjoyResources.bundle を使用しなくなりました
  • サポートする最小のOSバージョンは iOS 9 になりました
  • Apple Siliconで動作する arm64 Mac でのシミュレータをサポートしました
  • EasyApp (ダウンロードした SDKに含まれる、Tapjoyのサンプルアプリ) に、パブリッシャーの実装の参考となるよう AppTrackingTransparency の許可プロンプトを出すコードを追加しました。
  • バグ修正と機能の向上

12.7.1 (2020-11-02)

  • SKAdNetwork Version 2.0 に関連する修正
  • iOS14 でのデフォルト ブラウザー変更への対応
  • バグ修正と機能の向上

12.7.0 (2020-09-16)

12.6.1 (2020-07-09)

  • Tapjoy SDK リソースバンドルを Unity 2019.3x 対応にしました。

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)

  • Android版と一致させるためのバージョン番号を変更しました。

12.4.1 (2020-01-07)

  • setUserIDWithCompletion メソッドのパラメータに不正値が設定された場合のセーフガードを追加しました。
  • App Store の表示不具合を修正しました。

12.4.0 (2019-12-04)

  • 自社管理通貨の仮想通貨コールバックへのカスタマーパラメータ付与をサポートしました(将来のプロダクトリリース向け)
  • バグ修正。

12.3.4 (2019-10-09)

  • SceneDelegate をサポートしました。
  • UIAlertView に代わり、 UIAlertControllerをサポートしました。

12.3.3 (2019-09-20)

12.3.2 (2019-09-16)

  • UIWebView を使用しなくなりました。
  • iOS 13 をサポートしました。
  • SDK で使用しなくなったフレームワークを削除しました。
  • バグ修正

12.3.1 (2019-06-06)

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

12.3.0 (2019-05-28)

  • 動画パフォーマンスの向上
  • ブラウザベースのオファーウォール(tapjoy.com オファーウォール、または TJC オファーウォール などの名称を使用しています) は、Apple のインセンティブ付きのインストールに関するポリシーに従い削除されました。ブラウザベースのオファーウォールへのリンクを取得するSDKのAPIも削除されました。
  • TJPlacementDelegate に didClick デリゲート メソッドを追加しました。注意:このデリゲートメソッドは、バックエンドサーバーのサポートが整うまで実際には呼び出されません。バックエンドのサポート開始は 2019年の6月中旬頃を予定しています。
@protocol TJPlacementDelegate <NSObject>
@optional
- (void)didClick:(TJPlacement*)placement;

12.2.1 (2019-03-14)

  • iOS SDK でアプリをビルドする際に複数の正しくない "unable to open object file" 警告が表示される現象を修正。
  • AdMobメディエーションを使用した場合に発生する画面表示方向に関する問題を修正。
  • 不要なコードを削除し、以前のバージョンよりSDKが約10%小さくなりました。 (詳細に関しては FAQ の SDK サイズの項目 をご参照ください。)

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 にセットし、コンテンツ連動型コンテンツのみを表示するようになります。指定したユーザーには広告追跡は行われません。

+(void)belowConsentAge:(BOOL)isBelowConsentAge;

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

12.1.0 (2018-10-11)

注:2019年4月より、Webベースのオファーウォールは利用できなくなりました。 WebベースのTapjoy オファーウォールへのリンクを直接開けるようになりました。Webベースのオファーウォールを開くためのオファーをアプリ内のオファーウォールからクリックしなくてもアプリからこのページを開けます。 注意: Webベースのオファーウォールを使用可能にするには、仮想通貨画面で「”もっと獲得”バナーを表示」チェックボックスをチェックしておく必要があり、デイリーユーザー数が充分に(>100)いる必要があります。 Webベースのオファーウォールが有効でない場合に URL を取得しようとした場合、エラーが帰ります。 以下に例を挙げます:

[Tapjoy getOfferwallURL:placementName completion:^(NSURL *url, NSDate *expires, NSError *error) {
  if (error) {
     // エラー処理を行います
    } 
  else {
     [self openURL:url]; //Safari ブラウザで Webベースのオファーウォールを開きます。 
    }
 }
];

SDK のフォルダに含まれている TapjoyEasyApp で実装を確認できます。 "Show Offerwall in Safari" ボタンを押すと URL を取得し、Safari ブラウザでそのURLを開きます。

  • info.plist にアプリ審査のためにエントリの追加が必要になるコードを削除しました。 今回のリリースで、NSMotionUsageDescription、 NSAppleMusicUsageDescription、および NSPhotoLibraryUsageDescription に対する記述は必要となりません。 古いSDKで必要となっていたその他の説明事項は以前のSDKアップデートで不要となったため、Tapjoy SDK により info.plist に必要な説明事項はなくなりました。
  • バグ修正:
    • Tapjoy 広告を表示中の画面回転に関する複数のバグを修正しました。
    • タップジョイ広告の表示直後に(contentDidDisappearコールバックで)別のTapjoy広告を表示しようとした場合に失敗する場合があるバグを修正しました。
    • NSUserDefaults に対する synchronize メソッドの呼び出しを削除しました。 これにより、これに関連するまれなクラッシュも修正されています。

12.0.0 (2018-06-26)

本リリースは iOS 12 および Android 9 "Pie" に対応しております。

  • Tapjoy SDK に IAB Open Measurement SDK が統合されました。この変更に対し、パブリッシャーは追加の作業やコードの修正を行う必要はありません。
  • サポート対象のiOSバージョンが iOS 8 以降になりました。.
  • Programatic Mediation に SDKが対応しました。サーバーおよびダッシュボードでの Programatic Mediation への対応は後日対応の予定です。
  • サンプルの EasyApp での "Get Direct Play Video Ad" ボタンの動作が修正されました。
  • 注記: bitcode のアップデートにより、本Tapjoy iOS SDK は Xcode 9.3 以降を使用する必要があります。

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の保護対象であるかに関わらず同意状態を優先するよう設定する事も可能です。

追加:
+(void)setUserConsent:(NSString*) value;
例:
[Tapjoy setUserConsent:@"0″]; // ユーザーは不同意

+(void)subjectToGDPR:(BOOL) gdprApplicability;
例:
[Tapjoy subjectToGDPR:NO];   // このユーザーは GDPR 対象ではない
  • 注記: bitcode のアップデートにより、 本 SDK を使用した iOS のビルドには Xcode 9.3 以降が必要です。

11.12.1 (2018-04-30)

  • App Store エンドカードを表示する際のデザインの改良
  • オファーウォールで表示されるいくつかの広告について、詳細を表示する際のデザインの改良
  • 注記: bitcode のアップデートにより、 本 SDK を使用した iOS のビルドには Xcode 9.3 以降が必要です。

11.12.0 (2018-03-29)

  • CoreLocation フレームワークへの依存を削除しました。
  • 非推奨であった "Tapjoy プラットフォーム メディエーション" 機能を削除しました。この機能は特別な形でのメディエーションを実現するもので、一年近く前からサポートを停止していたものです。現在もプラットフォームメディエーション をご利用の場合は、本バージョンのSDKへのアップデートを行わないようにして下さい。また、業界での標準的なアダプター メディエーションに移行される事をお勧めいたします。通常のアダプターメディエーション(アドフリくん、AdStir、viidle、Ad Generation、 Mopub、その他のメディエーション パートナー) をご利用の場合は、この変更による影響はありません。
  • バグ修正:
    • Siri の呼び出し、アラーム等によるポップアップダイアログの表示、ヘッドフォンの取り外しに等によって動画が中断された場合に、動画がフリーズするバグを修正しました。
    • UIColor colorFromHexString の呼び出しにかかわる、まれなクラッシュを修正しました。
  • アプリがバックグラウンドから再開すると、まれにTapjoyの動画広告の音が数秒再生される場合がある問題を修正しました。