APS インテグレーション(legacy)
APSアカウントを設定し、Ironsourceとのインテグレーションを設定することで、Amazonパブリッシャー サービス (APS)をUnity LevelPlayと統合できます。
読み終わるまでの所要時間 13 分最終更新 6日前
前提条件
Amazonパブリッシャー サービス(APS)は招待制のプログラムです。APS を統合するには、LevelPlay SDK と APS SDK の両方を統合および初期化する必要があります。アプリケーションで APS 広告をディスプレイするには、以下に詳細を示す完全なインテグレーション フローを実行してください。
ステップ 1. APS アカウントの作成
- APS に連絡して、アプリケーションのアカウントを設定します。APS アカウントを作成するには、APS Web サイトに移動し、接触を選択してリクエストを開きます。
- APS リクエストが承認されると、サインアップして APS でアカウントを作成するための招待リンクが送られてきます。
- LevelPlay で APS を設定する前に、上記の手順を完了する必要があります。
ステップ 2. APS ネットワークにスロットを設定する
- Appsメニューから適切なアプリケーションを選択し、設定を選択
- Monetization サービスの設定メニューで ironsource LevelPlay を選択します。
- スロットを追加し、各スロットに定義します。 :
- 名前
- 広告サイズ
- 価格(自動/手動)
- すべてのスロットの追加を完了し、認証情報を取得します。
- App IDの取得
- 価格帯の CSV ファイルをダウンロード
ステップ 3. APS ネットワークワークのアクティベート
ironsource プラットフォーム内で、SDK Networks 設定にアクセスして、LevelPlay アカウントに APS パラメータを設定します。
- 上記の認証情報を取得したら、LevelPlay アカウントにログインし、Monetize (収益化) > 設定> SDK Networks に移動します。
- Available Networks のテーブルから APS を選択し、アクティベートを選択します。

- 広告ネットワークのリストから APS を選択し、設定 を選択します。

- APS App ID を入力し、CSV ファイルをそのままアップロードします。

ステップ 4. APS アダプタをビルドに追加する
Gradle
-
アプリケーションモジュールの ビルド.gradle スクリプトに以下の Maven URL が存在することを確認します。repositories { mavenCentral()}
-
アダプターの Maven 名をアプリケーションモジュールの ビルド.gradle スクリプトに追加します。dependencies {implementation 'com.unity3d.ads-mediation:aps-adapter:4.3.17'implementation 'com.amazon.android:aps-sdk:11.0.0+'implementation 'com.iabtcf:iabtcf-decoder:2.0.10'}
ステップ 5.AndroidManifest.xml 更新
マニフェスト権限:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
マニフェストアクティビティ:
<activity android:name="com.amazon.device.ads.DTBInterstitialActivity"/><activity android:name="com.amazon.device.ads.DTBAdActivity"/>
ProGuard ユーザーのみ
APS アダプタで ProGuard を使用している場合は、ProGuard ファイルに以下のコードを追加する必要があります。
-keep class com.amazon.device.ads.** { *; }
ステップ 6.Init APS SDK
APS ネットワークワークでは、APS 広告をディスプレイするために Ironsource SDK と APS SDK の両方を初期化する必要があります。
アプリケーションを開いた後、LevelPlay SDK を初期化する前に APS SDK を初期化します。APS 設定のステップ 2 で定義した APS App ID を使用します。
AdRegistration.getInstance(APS_APP_ID, this);//Where 'this' is an activity context.
ステップ 7.広告ごとの LevelPlay メディエーションによる APS 入札情報の共有
各広告をロードする前に、APS API を呼び出して LevelPlay SDK が広告をロードするために必要なロード情報を取得します。
必要な手順は以下のとおりです。
- 各 Ironsource 広告単位ロードの前に APS 広告リクエストをロードします。
- SetNetworkData を呼び出して、APS 入札情報を Ironsource と共有します。
- LevelPlay メディエーション API を使用して、関連する広告単位をロードします。
ロードバナー/MREC 広告
-
各 Ironsource 広告単位ロードの前に APS バナー広告リクエストを呼び出します。スロット UUID は、ロード広告リクエストの作成時に使用します。
-
APS Android SDK 10.0.0 以降:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize(SLOT_WIDTH, SLOT_HEIGHT, "Your_Slot_UUID"));loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 未満:final DTBAdRequest loader = new DTBAdRequest();loader.setSizes(new DTBAdSize(SLOT_WIDTH, SLOT_HEIGHT, "Your_Slot_UUID"));loader.loadAd(new DTBAdCallback());
-
-
APS 広告が正常にロードされたら、広告データを Ironsource と共有します。これには以下のパラメータを含める必要があります。
- Bid Info (入札情報):Amazon 広告が表示されるために必要な情報
- エンコードされた価格:APS から返された落札広告価格
- UUIDスロット一意の識別子
- 幅:バナーの幅
- 高さ:バナーの高ささ
public void onSuccess(DTBAdResponse dtbAdResponse) { // Append the APS bid parameters to LevelPlay mediation to add APS to the next ad request JSONObject apsDataJsonBN = new JSONObject(); apsDataJsonBN.put("bidInfo", SDKUtilities.getBidInfo(dtbAdResponse)); apsDataJsonBN.put("pricePointEncoded", SDKUtilities.getPricePoint(dtbAdResponse)); apsDataJsonBN.put("uuid", slotUUID); apsDataJsonBN.put("width", dtbAdResponse.getDTBAds().get(0).getWidth()); apsDataJsonBN.put("height", dtbAdResponse.getDTBAds().get(0).getHeight()); // Define APS data per interstitial ad unit JSONObject apsDataJson = new JSONObject(); apsDataJson.put(IronSource.AD_UNIT.BANNER.toString(), apsDataJsonBN); IronSource.setNetworkData("APS", apsDataJson);}APS がフィルを返さない場合は、LevelPlay の loadBanner() を呼び出し -
Ironsource バナー広告をロードします。詳細については、こちらを参照してください。
インタースティシャル広告のロード
-
各 Ironsource 広告単位ロードの前に APS インタースティシャル広告リクエストを呼び出します。スロット UUID は、ロード広告リクエストの作成時に使用します。
-
APS Android SDK 10.0.0 以降:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBInterstitialAdSize(YOUR_INTERSTITIAL_UUID));loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 未満:final DTBAdRequest loader = new DTBAdRequest();loader.setSizes(new DTBAdSize.DTBInterstitialAdSize(YOUR_INTERSTITIAL_UUID));loader.loadAd(new DTBAdCallback());
-
-
LevelPlay は、APS アダプター 4.3.3 から APS インタースティシャル動画広告をサポートします。インタースティシャルビデオをロードするには、以下のメソッドを呼び出します。アプリケーションが縦向きモードの場合:
-
APS Android SDK 10.0.0 以降:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_INTERSTITIAL_VIDEO_UUID)); loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 未満:final DTBAdRequest loader = new DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_INTERSTITIAL_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
アプリケーションが横向きモードの場合:-
APS Android SDK 10.0.0 以降:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_INTERSTITIAL_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 未満:final DTBAdRequest loader = new DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_INTERSTITIAL_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
-
APS 広告が正常にロードされたら、広告データを Ironsource と共有します。これには以下のパラメータを含める必要があります。
- Bid Info (入札情報):Amazon 広告が表示されるために必要な情報
- エンコードされた価格:APS から返された落札広告価格
- UUIDスロット一意の識別子
public void onSuccess(DTBAdResponse dtbAdResponse) { // Append the APS bid parameters to LevelPlay mediation to add APS to the next ad request JSONObject apsDataJsonIS = new JSONObject(); apsDataJsonIS.put("bidInfo", SDKUtilities.getBidInfo(dtbAdResponse)); apsDataJsonIS.put("pricePointEncoded", SDKUtilities.getPricePoint(dtbAdResponse)); apsDataJsonIS.put("uuid", slotUUID); // Define APS data per interstitial ad unit JSONObject apsDataJson = new JSONObject(); apsDataJson.put(IronSource.AD_UNIT.INTERSTITIAL.toString(), apsDataJsonIS); IronSource.setNetworkData("APS", apsDataJson); }APS がフィルを返さない場合は、LevelPlay の loadInterstitial() を呼び出します。 -
Ironsource インタースティシャル広告をロードします。詳細については、こちらを参照してください。
リワード広告
APS インテグレーションは、アプリケーションに実装するリワード型操作モードによって異なります。
- 手動読み込みモード:これは、APS と統合するために推奨される設定です。この場合、各リワードロードの前に APS 広告リクエストを呼び出し必要があります。
- リワード広告デフォルトモード(自動):リワード広告の表示に LevelPlay デフォルト モードを使用する場合は、LevelPlay SDK の初期化前と APS SDK の初期化後に最初の APS 広告をロードする必要があります。さらに、各ショーの前に次の APS ロードリクエストを呼び出して、次のウォーターリクエストに影響を与えることをお勧めします。
ロードリワード広告
- 各 Ironsource 広告単位ロード前(または自動モードでの表示前)に APS リワード広告リクエストを呼び出します。スロット UUID は、ロード広告リクエストの作成時に使用します。アプリケーションが縦向きモードの場合は、以下を行います。
-
APS Android SDK 10.0.0 以降:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_REWARDED_VIDEO_UUID)); loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 未満:final DTBAdRequest loader = new DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_REWARDED_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
アプリケーションが横向きモードの場合:
-
-
APS Android SDK 10.0.0 以降:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_REWARDED_VIDEO_UUID)); loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 未満:final DTBAdRequest loader = new DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_REWARDED_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
-
APS 広告が正常にロードされたら、広告データを Ironsource と共有します。これには以下のパラメータを含める必要があります。
-
Bid Info (入札情報):Amazon 広告が表示されるために必要な情報
-
エンコードされた価格:APS から返された落札広告価格
-
UUIDスロット一意の識別子public void onSuccess(DTBAdResponse dtbAdResponse) { // Append the APS bid parameters to LevelPlay mediation to add APS to the next ad request JSONObject apsDataJsonRV = new JSONObject(); apsDataJsonRV.put("bidInfo", SDKUtilities.getBidInfo(dtbAdResponse)); apsDataJsonRV.put("pricePointEncoded", SDKUtilities.getPricePoint(dtbAdResponse)); apsDataJsonRV.put("uuid", slotUUID); // Define APS data per rewarded ad unit JSONObject apsDataJson = new JSONObject(); apsDataJson.put(IronSource.AD_UNIT.REWARDED_VIDEO.toString(), apsDataJsonRV); IronSource.setNetworkData("APS", apsDataJson); }APS がフィルを返さない場合は、LevelPlay の loadManualRewardedVideo() を呼び出します。
-