Amazon Publisher Services 実装ガイド
Amazon Publisher Services (APS) は、現在インタースティシャル広告とバナー/ MREC 広告をサポートしている招待制プログラムです。 APS を実装するには、ironSource SDK と APS SDK の両方を実装・初期化する必要があります。アプリケーションに APS 広告を表示するには、以下で説明するフローに従って実装してください。
ステップ 1. APS アカウントを作成する
- アプリのアカウントを設定するには、APS にお問い合わせください。APS アカウントを作成するには、APS Web サイトにアクセスし、「 Contact Us 」ボタンをクリックしてリクエストを開きます。
- リクエストが承認されると、APS にサインアップしてアカウントを作成するための招待リンクが届きます。
- LevelPlay で APS の設定へ進む前に、上記の手順を完了する必要があります。
ステップ 2. APS ネットワークでスロットをセットアップする
- アプリメニューから適切なアプリケーションを選択し、「 setup 」をクリックします。
- マネタイズサービスの設定メニューとして「 IronSource LevelPlay 」を選択します。
- スロットを追加し、各スロットを定義します:
- 名前
- 広告サイズ
- プライスポイント(自動/手動)
- すべてのスロットの追加を完了し、認証情報を取得します:
- App ID を取得
- プライスポイントの CSV ファイルをダウンロード
ステップ 3. APS ネットワークをアクティベートする
LevelPlay プラットフォームで「 SDK Networks 」にアクセスし、APS パラメーターを LevelPlay アカウントに設定します。
- 上記の認証情報を取得したら、LevelPlay アカウントにログインし、 Monetize ➣ Setup ➣ SDK Networks に移動します。
- 「 Available Networks 」から APS を選択し、「 Activate 」ボタンをクリックします。
- アドネットワークの設定リストから APS の、「 Setup 」をクリックします。
- APS の アプリ ID を入力し、APS でダウンロードした CSV ファイルをそのままアップロードします。
ステップ 4. APS Unity プラグインをインポートする
- APS ウェブサイトから APS Unity プラグインをダウンロードします。
- Unity プロジェクトが開いていることを確認し、パッケージをインポートします。
- Unity メニューバーで、「 Amazon 」、「 Manage SDKs 」の順に選択し、Amazon SDK マネージャーを開きます:
- ironSource アダプターをインストールし、Unity パッケージをインポートします:
Unity Network Manager(推奨)
SDK の実装が完了すると、Unity Network Manager を使用して APS アダプターをダウンロードできます。
Unity 開発プラットフォームで、Ads Mediation > Network Manager へ移動します。
すでに最新バージョンのアダプターが実装されている場合は、アクションボタンが「 Updated 」に変更され、無効になります。
ステップ 5. APS SDK の初期化
APS ネットワークで広告を表示するには、ironSource と APS SDK の両方を初期化する必要があります。
アプリケーションを開いた直後、ironSource SDK を初期化する前に APS SDK を初期化します。 この際に APS セットアップのステップ 2 で定義した APS アプリ ID を使用します。
Amazon.Initialize(amazonApiKey);
ステップ 6. 広告ごとの APS 入札情報を LevelPlay メディエーションへ共有する
各広告をロードする前に、APS API を呼んで ironSource SDK が広告をロードするために必要な情報を取得します。
必要な手順は次のとおりです:
- 各広告をロードする前に、APS 広告をロードします。
- SetNetworkData を呼び、APS の入札情報を ironSource へ共有します。
- LevelPlay メディエーション API を使用して、関連する広告ユニットをロードします。
バナー/MREC 広告をロードする
- 各広告をロードする前に、APS バナー広告リクエストを呼びます。
- APS 広告のロードに成功した場合は、広告データを LevelPlay メディエーションへ共有します:
- これには次のパラメータを含める必要があります:
APS ironSource ネットワークキー、Amazon から返された入札値、およびスロットのユニーク ID - loadBanner() メソッドを呼びバナーをロードします。
- これには次のパラメータを含める必要があります:
private APSBannerAdRequest bannerAdRequest;
bannerAdRequest = new APSBannerAdRequest(width, height, amazonBannerSlotId);
bannerAdRequest.onFailedWithError += (adError) =>
{
IronSource.Agent.loadBanner(IronSourceBannerSize.BANNER, IronSourceBannerPosition.BOTTOM);
};
bannerAdRequest.onSuccess += (adResponse) =>
{
IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY,
APSMediationUtils.GetBannerNetworkData(amazonBannerSlotId, adResponse));
IronSource.Agent.loadBanner(IronSourceBannerSize.BANNER, IronSourceBannerPosition.BOTTOM);
};
bannerAdRequest.LoadAd();
APS がフィルを返さない場合は、LevelPlay の loadBanner() を呼びます。
インタースティシャル広告をロードする
- 各広告をロードする前に、APS インタースティシャル広告リクエストを呼びます。 APS は入札か「フィル無し」を返します。
- APS 広告がロードに成功した場合は、広告データを LevelPlay メディエーションへ共有します:
- これには次のパラメータを含める必要があります:
APS ironSource ネットワークキー、Amazon から返された入札値、およびスロットのユニーク ID - loadInterstitial() メソッドを呼び、インタースティシャルをロードします。
private APSInterstitialAdRequest interstitialAdRequest; interstitialAdRequest = new APSInterstitialAdRequest(amzonInterstitialSlotId); interstitialAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY ,APSMediationUtils.GetInterstitialNetworkData(amzonInterstitialSlotId, adResponse)); IronSource.Agent.loadInterstitial(); }; interstitialAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadInterstitial(); Debug.Log("onFailedWithError interstitial:" + adError); }; interstitialAdRequest.LoadAd();
- これには次のパラメータを含める必要があります:
APS がフィルを返さない場合は、LevelPlay の loadInterstitial() を呼びます。
LevelPlay は、APS インタースティシャルビデオ広告を APS アダプター 4.3.2 以降サポートしています。インタースティシャルビデオをロードするには、APS AdRequest を作成します:
private APSVideoAdRequest interstitialVideoAdRequest;
interstitialVideoAdRequest = new APSVideoAdRequest(320, 480, amazonInterstitialVideoSlotId);
interstitialVideoAdRequest.onSuccess += (adResponse) =>
{
IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY,
APSMediationUtils.GetInterstitialNetworkData(amazonInterstitialVideoSlotId, adResponse));
IronSource.Agent.loadInterstitial();
};
interstitialVideoAdRequest.onFailedWithError += (adError) =>
{
IronSource.Agent.loadInterstitial();
};
interstitialVideoAdRequest.LoadAd();
}
動画リワード広告
APS の実装は、アプリに実装する動画リワードの操作モードによって異なります。
- 手動ロードモード:APS の実装に推奨されるモードです。これには、各動画リワード広告をロードする前に APS 広告リクエストを呼ぶ必要があります。
- 動画リワードのデフォルトモード(自動ロード):動画リワードの表示に LevelPlay デフォルトモードを使用する場合、APS SDK を初期化した後、ironSource SDK を初期化する前に、最初の APS 広告をロードする必要があります。さらに、次のウォーターフォールリクエストのために、広告表示の前に次の APS ロードリクエストを呼ぶことをお勧めします。
動画リワード広告をロードする
- 各広告をロードする前(自動モードでは広告表示の前)に、APS の動画リワード広告リクエストを呼びます。ロード広告リクエストを作成するときは「 Slot UUID 」を使用します。
- APS 広告がロードに成功した場合は、次の広告データを LevelPlay メディエーションへ共有します:
- APS ironSource ネットワークキー、Amazon から返された入札値、およびスロットのユニーク ID
- APS がフィルを返さなかった場合は、onFailedWithError() コールバックがトリガーされます。
public void RequestRewardedVideo() { rewardedVideoAdRequest = new APSVideoAdRequest(320, 480, amazonRewardedVideoSlotId); rewardedVideoAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetRewardedNetworkData(amazonRewardedVideoSlotId, adResponse)); IronSource.Agent.loadRewardedVideo(); // If manual rewarded mode }; interstitialVideoAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadRewardedVideo(); // If manual rewarded mode }; rewardedAdRequest.LoadAd(); }
完了!
これで、アプリで APS 広告を配信する準備が整いました。