ドキュメント

サポート

SDK /SDK

TJPlacement クラスを使用して広告プレースメントをリクエストする方法について基本の SDK ドキュメントを参照して、プレースメント名が Tapjoy ダッシュボードで設定されている名前と一致することを確認してください。
読み終わるまでの所要時間 2 分最終更新 10日前

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

プレースメントをリクエストするには、
TJPlacement
クラスを使用します。コード内のプレースメント名の文字列が、ダッシュボード内のプレースメント名と正確に一致していることを確認します。
TJPlacementListener placementListener = this;TJPlacement p = Tapjoy.getPlacement("[PLACEMENT_NAME]", placementListener);
リスナーメソッドを配置し、プレースメントをインスタンス化したら、そのプレースメントのコンテンツをリクエストできます。
if(Tapjoy.isConnected()) p.requestContent();else Log.d("MyApp", "Tapjoy SDK must finish connecting before requesting content.")
コンテンツをリクエストする前に、Tapjoy Connect 呼び出しが成功したことを確認してください。
onConnectSuccess
コールバックを受け取る前にリクエストを行わないでください。

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

最高のユーザー体験を提供するために、ユーザーにそのコンテンツが表示されるコンテンツを事前にリクエストします。例えば、プレースメントがメインメニューのボタンの場合、アプリケーションの起動時に、Tapjoy Connect 呼び出しが成功した直後にコンテンツをリクエストすることをお勧めします。コンテンツをリクエストするまで待つと、多くの場合、ユーザーはコンテンツがロードされるまで、ローディングスピナーを見ながら待たされることになります。広告の場合、ユーザーが広告に関与する可能性が低くなり、収益を得る可能性が低くなります。

リスナー

さまざまなプレースメント応答をハンドルするためにデリゲートメソッドを準備する必要があります。少なくとも、クラスで TJPlacementListener インターフェースを拡張する必要があります (パブリッククラス YourMainActivity で拡張し、Activity で TJPlacementListener を実装します)。
TJPlacementListener
インターフェースによって定義される主なメソッドは以下のとおりです。
public void onRequestSuccess(TJPlacement placement); // This just means the SDK has made contact with the Offerwall servers. It does not necessarily mean that any content is available.public void onRequestFailure(TJPlacement placement, TJError error);public void onContentReady(TJPlacement placement); //This is called when the content is actually available to display.public void onContentShow(TJPlacement placement);public void onContentDismiss(TJPlacement placement);
お勧めのベストプラクティスは、ビデオを含む可能性のあるプレースメントからコンテンツを表示する前にオーディオをミュートすることです。ミュートしないと、ビデオとアプリのオーディオが競合する可能性があります。 多くの場合、onContentReady デリゲートが発生するまで待ってから、ユーザーにコンテンツを表示することをお勧めします。こうすることにより、コンテンツが実際にデバイス上にあること、遅延なくユーザーに表示できることを確認できます。もう 1 つの同等の方法は、上の例のように、p.isContentReady() が true かどうかを確認することです。

プレースメントの表示

TJPLacement をリクエストするときは、TJPLacementListener オブジェクトを渡します。TJPlacementListener には "onRequestSuccess" のコールバックがあります。onRequestSuccess コールバックは、SDK によるサーバーへのコンテンツリクエストが正常に行われた後に発生します。これが発生すると、isContentAvailable 関数を呼び出すことで TJPlacement にコンテンツがあるかどうかを確認できます。
public void onRequestSuccess(TJPlacement tjPlacement){ if(tjPlacement.isContentAvailable()) { //There is an ad unit available } else { //Fall-through }}
public void onContentReady(TJPlacement tjPlacement) { if(tjPlacement.isContentReady()) { // We can uncomment the following line to show the ad as soon as it finishes loading, // or call showContent at a later point when we're ready to display the ad. tjPlacement.showContent(); }}

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

プレースメントからユーザーにコンテンツを正常に表示したら、コンテンツを再度リクエストして (例えば
p.requestContent();
を再度呼び出し)、別のコンテンツ単位でそのプレースメントを "リロード" する必要があります。
p.showContent();
を再度呼び出すことはできません。コンテンツをリクエストする前にコンテンツを表示しようとすると、コンテンツの表示に失敗します。
コンテンツの準備ができたら、コンテンツを表示できます。
if(p.isContentReady()) { p.showContent();}else { //handle situation where there is no content to show, or it has not yet downloaded.}

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

Reward (ゲーム内報酬) や IAP Promotion (アプリ内課金プロモーション) などの Tapjoy コンテンツタイプでは、そのコンテンツ単位で渡されたパラメーターに基づいてコードがアクションを実行する必要があります。例えば、Reward コンテンツ単位はアイテム名 (string) と数量 (integer) がユーザーに渡されることを指定します。ゲーム内報酬を反映するためにユーザーの広告在庫を実際に調整するのはアプリケーションです。これらの特殊なタイプのコンテンツ単位には、以下のデリゲートメソッドがあります。
public void onPurchaseRequest(TJPlacement placement, TJActionRequest request, String productId); //onPurchaseRequest called when user clicks the product link in IAP promotion content. Put the code that actually triggers the IAP here.////public void onRewardRequest(TJPlacement placement, TJActionRequest request, String itemId, int quantity); //called when the content closed in reward content

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

任意で、各プレースメントのエントリーポイントを Tapjoy に伝えることができます。以下のさまざまなプリセット値から選択できます。
TJEntryPoint.ENTRY_POINT_UNKNOWNTJEntryPoint.ENTRY_POINT_OTHERTJEntryPoint.ENTRY_POINT_MAIN_MENUTJEntryPoint.ENTRY_POINT_HUDTJEntryPoint.ENTRY_POINT_EXITTJEntryPoint.ENTRY_POINT_FAILTJEntryPoint.ENTRY_POINT_COMPLETETJEntryPoint.ENTRY_POINT_INBOXTJEntryPoint.ENTRY_POINT_INITTJEntryPoint.ENTRY_POINT_STORE
プレースメントオブジェクトの作成後、かつコンテンツをリクエストする前にエントリーポイントを設定します。
TJPlacement placement = Tapjoy.getPlacement("myPlacement", null);placement.setEntryPoint(TJEntryPoint.ENTRY_POINT_MAIN_MENU);placement.requestContent();