まず、ironSource Tapjoyアダプタを実装します。ironSource mediation manager ウインドウでプロジェクトに追加できます。
次に、Tapjoy Unity Pluginを追加します。これによりC#コードからTapjoy SDKのメソッドにアクセスできるようになります。 プラグイン をダウンロードし、Unityプロジェクトに追加します。
Tapjoy Unity Plugin は External Dependency Manager を使用してTapjoy iOS SDKのコピーをインストールし、Tapjoy Android SDKのコピーをインクルードします。しかし手順1でアダプタを追加する際にSDKも既に追加されてしまっているため、追加のSDKのコピーは必要ありません(ブリッジコードのみを使いたい)。/Assets/Tapjoy/Editor にある TJPluginDependencies
ファイルを編集して、iOSの参照を削除し、Android Unity Bridge のみを含むようにします。ファイルの中身を次の内容で置き換えます:
<dependencies>
<androidPackages>
<repositories>
<repository>https://sdk.tapjoy.com</repository>
</repositories>
<androidPackage spec="com.tapjoy:tapjoy-android-unitybridge:12.11.1@aar"/>
</androidPackages>
</dependencies>
import TapjoyUnity
TJC_OPTION_USER_ID
コネクトオプションを使用して指定します。ここで指定したユーザーIDは、成果達成時のコールバックの際に送信されるパラメータとして通知されます。必ずユーザーの識別が可能なIDを指定するようにして下さい。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
TJPlacement placement = TJPlacement.CreatePlacement("Offerwall");
placement.requestContent();
TJPlacement.OnRequestSuccess += HandlePlacementRequestSuccess;
TJPlacement.OnRequestFailure += HandlePlacementRequestFailure;
TJPlacement.OnContentReady += HandlePlacementContentReady;
TJPlacement.OnContentShow += HandlePlacementContentShow;
TJPlacement.OnContentDismiss += HandlePlacementContentDismiss;
ironSourceのオファーウォールを実装されている場合、これらのいくつかのコールバックは実装済みのもので置き換えられます。カスタムコードのTapjoyコールバックへの移植を容易にするために、下記のテーブルにコールバックの対応を示します:
ironSource Callback | Tapjoy Callback |
---|---|
onOfferwallClosedEvent | OnContentDismiss |
onOfferwallOpenedEvent | OnContentShow |
onOfferwallAvailableEvent | OnContentReady |
OnRequestSuccess
はコンテンツのリクエストの応答がTapjoyのサーバからあった場合に呼ばれます。 OnContentReady
はコンテンツ(オファーウォール)が表示できるようになったときに呼ばれます。 この時点でオファーウォールを表示しても良いですし、必要時に表示可能というフラグを立てる事もできます。
showContent
を呼びます:if (placement.IsContentReady()) {
placement.ShowContent();
}
ironSourceのオファーウォールをご利用の場合は以下の実装部分を置き換えられます:
IronSource.Agent.showOfferwall();
ユーザーがオファーウォールを閉じた場合、コンテンツを再度リクエストします。同じプレイスメントを複数回呼び出す事はできません。 OnContentDismiss
cコールバックでプレイスメントをリクエストする事をおすすめします。これにより、ユーザーが次にリクエストする時点で再度表示が可能になります。
ironSourceオファーウォールをご利用の場合、その他のironSourceオファーウォールのコードを削除可能です。
ironSource LevelPlay をご利用の場合、LevelPlay API を使用して Tapjoy に下記のプライバシー フラグ を伝達できます:
また、アプリが Google Play の "Designed for Families" プログラムに入っている場合、または Google Play の "Family" セクションに表示される場合、アプリの全てのユーザーを子供としてフラグ付けをし、Tapjoy SDK の この API を使用してユーザーのGAIDを収集しないようにして下さい。
ironSrouce LevelPlay をご利用でない場合や、Tapjoy SDK を個別に設定した場合は、Tapjoy に適切なプライバシーフラグを伝えるために これらのガイドライン をご参照ください。