ドキュメント

​
​

Development

User Acquisition

Monetization

産業

LevelPlay SDK - Unity

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - Unity

Unity LevelPlay
​
​
Unity SDK
  • 使用の準備
  • 規制と設定
  • Ad formats (広告フォーマット)
    • リワード広告
      • Migrate to rewarded ad unit API
    • Interstitial (インタースティシャル)
    • バナーと MREC
  • メディエーションネットワーク
  • インテグレーションのテスト
  1. ゲームの成長
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. Unity 開発者向け LevelPlay SDK

Unityのリワード型広告単位APIへの移行

LevelPlay リワード広告単位 API に遷移するには、SDK の初期化、広告フォーマットの定義、リワード広告のロードと表示に広告単位 ID を使用します。
読み終わるまでの所要時間 10 分
最終更新 6日前

このガイドでは、広告単位IDをウォーターフォール識別子として使用し、SDKバージョン9.0.0時点でLevelPlay APIを統合し、リワード広告をロードおよびディスプレイする方法について説明します。
重要
現在使用されているインテグレーション方法 (Ironsource init、Ironsource ロードリワードリスナー、Rewarded リスナー) の代わりに、この記事で紹介した API を使用します。API の置き換えについては、API Comparison セクションを参照してください。
詳細設定と規制設定は変更されておらず、LevelPlay SDK の初期化の前後にサポートされます。

LevelPlay プラットフォームで広告単位 ID を確認します。

リワード広告をロードおよびディスプレイするには、LevelPlay メディエーションプラットフォームで利用できる広告単位 ID を使用する必要があります。
  1. LevelPlay アカウントで、設定> 広告ユニット に操作します。
  2. リワード型広告単位IDをコピーし、コードに統合します。

LevelPlay SDK の初期化

LevelPlay SDK を初期化するには、以下の手順に従います。
  1. 初期化の成功と失敗のイベントを実装します。
  2. セッションで初期化する広告フォーマットのリストを定義します。これには、複数の広告単位ではない API を使用するすべての広告フォーマットを含める必要があります。
  3. appKey、広告フォーマット、およびユーザー ID (必要な場合) を使用して LevelPlay init API を呼び出します。
using Unity.Services.LevelPlay;// Init the SDK when implementing the Multiple Ad Units API for Interstitial, Banner, and RewardedLevelPlay.OnInitSuccess += SdkInitializationCompletedEvent;LevelPlay.OnInitFailed += SdkInitializationFailedEvent;LevelPlay.Init(appKey);

LevelPlay Init リスナー

OnInitSuccess: 初期化が正常に完了したときにトリガーされます。この通知を受け取ったら、広告を作成してロードできます。
OnInitFailed:設定が正常に取得されず、広告をロードできません。後で LevelPlay SDK を初期化してみることをお勧めします (インターネット接続が利用可能なとき、または失敗の理由が解決されたとき)。

コンポーネント

古い機能

広告単位 (新規)

APIIronSource.initLevelPlay.Init
イベントonInitializationCompleteOnInitSuccess
N/AN/AOnInitFailed

Rewarded Adオブジェクトの作成

リワード広告オブジェクトの作成は、OnInitSuccess コールバックを受信した後に実行する必要があります。
オブジェクトは、セッションを通じて複数のロードと表示をハンドルできる再利用可能なインスタンスです。作成後、同じ広告単位の広告をロードおよび表示するために使用します。
より高度な実装では、必要に応じて複数のリワード広告オブジェクトを作成できます。
非公開の LevelPlayRewardedAd 報酬型広告// Create rewarded AdrewardedAd = new LevelPlayRewardedAd(adUnitId);

リワードイベントに登録

作成したリワード型広告単位にリワード型リスナーを設定して、広告配信に関する情報を取得します。
  • リワード広告をロードする前にリスナーを設定することをお勧めします。
  • 各リワード広告には、独自のリスナー実装が必要です。
  • コールバックはメインスレッドで実行されます。
非公開の LevelPlayRewardedAd 報酬型広告// Create rewarded AdrewardedAd = new LevelPlayRewardedAd(adUnitId);// Register to eventsrewardedAd.OnAdLoaded += OnAdLoaded;rewardedAd.OnAdLoadFailed += OnAdLoadFailed;rewardedAd.OnAdDisplayed += OnAdDisplayed;rewardedAd.OnAdDisplayFailed += OnAdDisplayFailed;rewardedAd.OnAdRewarded += OnAdRewarded;rewardedAd.OnAdClosed += OnAdClosed;// OptionalrewardedAd.OnAdClicked += OnAdClicked;rewardedAd.OnAdInfoChanged += OnAdInfoChanged;

LevelPlay リワード広告イベント

OnAdLoaded:広告が正常にロードされたときに提供されます。
OnAdLoadFailed:広告のロードに失敗したときに提供されます。広告単位情報が含まれます。
OnAdDisplayed:広告が表示されるときに提供されます。これはインプレッションに相当します。
OnAdDisplayFailed:広告の表示に失敗したときに提供されます。
OnAdRewarded:広告に報酬が支払われるときに提供されます。広告単位情報と報酬情報が含まれます。
OnAdClicked(任意):ユーザーが広告をクリックしたときに提供されます。
OnAdClosed:広告が閉じられたときに提供されます。
OnAdInfoChanged(任意):広告情報が更新されたときに提供されます。別の広告がロードされていて、CPM/Rate が高い場合に利用できます。

コンポーネント

古い機能

広告単位 (新規)

リスナーIronSourceRewardedVideoEventsLevelPlayRewardedAd
イベントonAdReadyOnAdLoaded
onAdLoadFailedOnAdLoadFailed
onAdOpenedOnAdDisplayed
onAdClosedOnAdClosed
onAdShowFailedOnAdDisplayFailed
onAdRewardedOnAdRewarded
onAdClickedOnAdClicked
onAdShowSucceededn/a (非推奨)
n/aOnAdInfoChanged

リワード型広告のロード

OnInitSuccess イベントを受信すると、リワード広告をロードする準備ができます。これは、 メソッドを使用して行う必要があります。
// Load or reload the adrewardedAd.LoadAd();

リワード広告の表示

ShowAd API を使用して、OnAdLoaded イベントを受け取った後にリワード広告を表示できます。 プレースメントを使用している場合は、次に示すように、プレースメントの名前を API の一部として共有します。
// Show ad without placement rewardedAd.ShowAd();// Show ad with placement rewardedAd.ShowAd(placementName);

広告の準備ができているか確認

表示の失敗を避け、広告が正しく表示されるようにするために、ShowAd API を呼び出す前に以下の API を使用することをお勧めします。
IsAdReady:広告が正常にロードされ、広告単位が上限に達していない場合は true、それ以外の場合は false を返します。
IsPlacementCapped:有効な配置に上限がある場合に true を返します。配置が有効でないか、上限がない場合、この API は false を返します。
// Check that ad is ready and that the placement is not cappedif (rewardedAd.IsAdReady() && !LevelPlayRewardedAd.IsPlacementCapped(placementName)){ rewardedAd.ShowAd(placementName);}
いつ 広告がプレイヤーに正常に表示されたら、Rewarded Ad のロード ステップを繰り返して、別の広告をロードできます。一度に 1 つの広告をロードするときに、新しい広告エンティティを作成する必要はありません。

ユーザーの報酬

LevelPlay SDK は、ユーザーがビデオを正常に視聴するたびに OnAdRewarded を起動します。
OnAdRewarded と OnAdClosed は非同期です。OnAdClosed 後に OnAdRewarded が起動された場合でもゲーム内報酬を付与するようにリスナーを設定してください。
// Subscribe to the OnAdRewarded eventad.OnAdRewarded += (adInfo, reward) => { // Grant the reward to the user Debug.Log($"Ad Completed: {adInfo.PlacementName}, Reward: {reward.Name} - {reward.Amount}"); GrantReward(reward.Name, reward.Amount);};// Example method to process the rewardprivate void GrantReward(文字列 rewardName, int rewardAmount){ // TODO:ユーザーに報酬を付与するロジックを実装する Debug.Log($"Granting reward: {rewardName} with amount: {rewardAmount}");}

複数の広告単位リワード型API

コンポーネント

古い機能

広告単位 (新規)

クラスIronSourceLevelPlayRewardedAd
APIloadRewardedVideoLoadAd
showRewardedVideoShowAd
isRewardedVideoPlacementCappedIsPlacementCapped
isRewardedVideoAvailableIsAdReady
placement.getRewardNamereward.Name
placement.getRewardAmountreward.Amount

リワード広告の完全な実装例

public class LevelPlaySample : MonoBehaviour{ 非公開の LevelPlayRewardedAd 報酬型広告 void CreateRewardedAd(string adUnitId) { rewardedAd = new LevelPlayRewardedAd(adUnitId); rewardedAd.OnAdLoaded += OnAdLoaded; rewardedAd.OnAdLoadFailed += OnAdLoadFailed; rewardedAd.OnAdDisplayed += OnAdDisplayed; rewardedAd.OnAdDisplayFailed += OnAdDisplayFailed; rewardedAd.OnAdRewarded += OnAdRewarded; rewardedAd.OnAdClicked += OnAdClicked; rewardedAd.OnAdClosed += OnAdClosed; rewardedAd.OnAdInfoChanged += OnAdInfoChanged; } void LoadRewardedAd() { rewardedAd.LoadAd(); } void ShowRewardedAd(string placementName = null) { if (rewardedAd.IsAdReady() &&!LevelPlayRewardedAd.IsPlacementCapped(placementName)) { rewardedAd.ShowAd(placementName); } } bool CheckIfRewardedAdIsReady() { return rewardedAd.IsAdReady(); } ブーリアン CheckIfPlacementIsCapped(文字列 placementName) { return LevelPlayRewardedAd.IsPlacementCapped(placementName); } void OnAdLoaded(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad loaded with ad info {adInfo}"); } void OnAdLoadFailed(LevelPlayAdError adError) { Debug.Log($"Rewarded ad failed to load with ad error {adError}"); } void OnAdDisplayed(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad displayed with ad info {adInfo}"); } void OnAdDisplayFailed(LevelPlayAdInfo adInfo, LevelPlayAdError error) { Debug.Log($"Rewarded ad failed to display with ad info: {adInfo} and error: {error}"); } void OnAdRewarded(LevelPlayAdInfo adInfo, LevelPlayReward adReward) { Debug.Log($"Rewarded ad gained reward with adInfo {adInfo} and reward {adReward}"); } void OnAdClicked(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad clicked with ad info {adInfo}"); } void OnAdClosed(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad closed with ad info {adInfo}"); } void OnAdInfoChanged(LevelPlayAdInfo adInfo) { Debug.Log($"Rewarded ad info changed with ad info {adInfo}"); } }

Copyright © 2026 Unity Technologies
法規事項プライバシーポリシークッキーDocumentation Terms of Use私の個人情報を販売または共有しないプライバシーに関する選択 (クッキー設定)

"Unity" の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です (詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

一部のページは利便性向上のため機械翻訳を使用しており、内容に不正確な表現が含まれる場合があります。内容に齟齬または不一致が生じた場合は、英語版を正本とします。

  • このページ
    • LevelPlay プラットフォームで広告単位 ID を確認します。

    • LevelPlay SDK の初期化

      • LevelPlay Init リスナー

    • Rewarded Adオブジェクトの作成

    • リワードイベントに登録

      • LevelPlay リワード広告イベント

    • リワード型広告のロード

    • リワード広告の表示

      • 広告の準備ができているか確認

    • ユーザーの報酬

    • 複数の広告単位リワード型API

    • リワード広告の完全な実装例


このページの問題を報告する