ドキュメント

サポート

SDK /SDK

Unity SDK ガイドを使用して、ゲーム内通貨や Offerwall などの広告プレースメントをリクエスト、表示、処理するためのサンプル コードとともに Tapjoy をプロジェクトに追加する方法を学びます。
読み終わるまでの所要時間 2 分最終更新 10日前

プレースメントのリクエスト

TJPlacement のインスタンスを作成し、プレースメント名で初期化します。コード内のプレースメント名の文字列が、ダッシュボード内のプレースメント名と正確に一致していることを確認します。コールバックを受け取るデリゲートを実装することもできます (後述)。
TJPlacement p = TJPlacement.CreatePlacement("APP_LAUNCH");
これでコンテンツをリクエストできます。
if (Tapjoy.IsConnected()) { p.requestContent();} else { Debug.LogWarning("Tapjoy SDK must be connected before you can request content.");}
コンテンツをリクエストする前に、Tapjoy Connect 呼び出しが成功したことを確認してください。onConnectSuccess コールバックを受け取る前にリクエストを行わないでください。

コンテンツの事前キャッシュ

最高のユーザー体験を提供するために、ユーザーにそのコンテンツが表示されるコンテンツを事前にリクエストします。例えば、プレースメントがメインメニューのボタンの場合、アプリケーションの起動時に、Tapjoy Connect 呼び出しが成功した直後にコンテンツをリクエストすることをお勧めします。コンテンツをリクエストするまで待つと、多くの場合、ユーザーはコンテンツがロードされるまで、ローディングスピナーを見ながら待たされることになります。広告の場合、ユーザーが広告に関与する可能性が低くなり、収益を得る可能性が低くなります。 ##Callbacks コンテンツリクエストの状態に関するフィードバックを取得するには、以下のコールバックを実装します。
TJPlacement.OnRequestSuccess += HandlePlacementRequestSuccess;...public void HandlePlacementRequestSuccess(TJPlacement placement) {...}TJPlacement.OnRequestFailure += HandlePlacementRequestFailure;...public void HandlePlacementRequestFailure(TJPlacement placement, string error) {}TJPlacement.OnContentReady += HandlePlacementContentReady;...public void HandlePlacementContentReady(TJPlacement placement) { // This gets called when content is ready to show.}TJPlacement.OnContentShow += HandlePlacementContentShow;...public void HandlePlacementContentShow(TJPlacement placement) {...}TJPlacement.OnContentDismiss += HandlePlacementContentDismiss;...public void HandlePlacementContentDismiss(TJPlacement placement) {...}

プレースメントの表示

コンテンツを表示するには、
p.ShowContent();
を使用します。
ShowContent()
の前にコンテンツの準備ができたことを確認します。
if (p.IsContentReady()) { p.ShowContent();} else { // Code to handle situation where content is not ready goes here}
お勧めのベストプラクティスは、ビデオを含む可能性のあるプレースメントからコンテンツを表示する前にアプリのオーディオをミュートすることです。ミュートしないと、ビデオとアプリのオーディオが競合する可能性があります。 多くの場合、HandlePlacementContentReady コールバックが発生するまで待ってから、ユーザーにコンテンツを表示することをお勧めします。こうすることにより、コンテンツが実際にデバイス上にあること、遅延なくユーザーに表示できることを確認できます。もう 1 つの同等の方法は、上の例のように、
p.IsContentReady()
が true かどうかを確認することです。
正しく動作するには、プレースメントオブジェクトを作成する前に、Tapjoy Connect 呼び出しを行って成功する必要があります。

コンテンツの再リクエスト

プレースメントからユーザーにコンテンツを正常に表示したら、コンテンツを再度リクエストして (例えば
p.RequestContent();
を再度呼び出し)、別のコンテンツ単位でそのプレースメントを "リロード" する必要があります。
p.ShowContent();
を再度呼び出すことはできません。コンテンツをリクエストする前にコンテンツを表示しようとすると、コンテンツの表示に失敗します。
動画コンテンツを想定しているプレースメントの場合、コンテンツを再リクエストする適切なタイミングは、コンテンツの表示直後です。ユーザーが現在の動画を見ている間に、次の動画が事前ロードされます。コンテンツが却下されるまで待ってからコンテンツを再リクエストすると、ユーザーがすぐに別の動画を視聴しようとした場合は遅延が発生します。

Tapjoy コンテンツアクションリクエストの処理

Reward (ゲーム内報酬) や IAP Promotion (アプリ内課金プロモーション) などの Tapjoy コンテンツタイプでは、そのコンテンツ単位で渡されたパラメーターに基づいてコードがアクションを実行する必要があります。例えば、Reward コンテンツ単位はアイテム名 (string) と数量 (integer) がユーザーに渡されることを指定します。ゲーム内報酬を反映するためにユーザーの広告在庫を実際に調整するのはアプリケーションです。以下のデリゲートメソッドが呼び出され、コンテンツ単位から適切な情報が渡されます。
TJPlacement.OnPurchaseRequest += HandleOnPurchaseRequest;...public void HandleOnPurchaseRequest(TJPlacement placement, TJActionRequest request, string productId) {...}TJPlacement.OnRewardRequest += HandleOnRewardRequest;...public void HandleOnRewardRequest(TJPlacement placement, TJActionRequest request, string itemId, int quantity) {...}

エントリーポイントの設定

任意で、各プレースメントの "エントリーポイント" を Tapjoy に伝えることができます。以下のさまざまなプリセット値から選択できます。
TJEntryPoint.UNKNOWNTJEntryPoint.OTHERTJEntryPoint.MAIN_MENUTJEntryPoint.HUDTJEntryPoint.EXITTJEntryPoint.FAILTJEntryPoint.COMPLETETJEntryPoint.INBOXTJEntryPoint.INITTJEntryPoint.STORE
プレースメントオブジェクトの作成後、かつコンテンツをリクエストする前にエントリーポイントを設定します。
TJPlacement placement = TJPlacement.CreatePlacement("placementName");placement.SetEntryPoint(TJEntryPoint.COMPLETE);