ドキュメント

​
​

Development

User Acquisition

Monetization

産業

LevelPlay SDK - iOS

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - iOS

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

iOS 向けインタースティシャルインテグレーション

デリゲートの実装、広告単位の初期化、広告のロード、適切なタイミングでの表示によってインタースティシャル広告を統合します。
読み終わるまでの所要時間 10 分
最終更新 6日前

Unity LevelPlay Interstitial は、全画面の広告単位です。通常は、アプリケーションのライフサイクル中の自然な遷移ポイントで機能します。 
注
このドキュメントは SDK 8.4.0 以降に関連するものです。

前提条件

  • LevelPlay SDK がアプリケーションに正しく統合されていることを確認します。インテグレーションの概要はこちらです。
  • LevelPlay 初期化 API を使用して SDK を初期化していることを確認します。
  • LevelPlay ダッシュボードで AdUnitID を見つけます。

インタースティシャル広告オブジェクトの作成

インタースティシャル広告オブジェクトの作成は、onInitSuccess コールバックの受信後に実行する必要があります。
オブジェクトは、セッションを通じて複数のロードと表示をハンドルできる再利用可能なインスタンスです。作成後、同じ広告単位の広告をロードおよび表示するために使用する必要があります。
より高度な実装では、必要に応じて複数のインタースティシャル広告オブジェクトを作成できます。
self.interstitialAd = [[LPMInterstitialAd alloc] initWithAdUnitId:@"adUnitId"];
self.interstitialAd = LPMInterstitialAd(adUnitId: "adUnitId")

デリゲートの実装

コードに LPMInterstitialAdDelegate を実装して、広告配信に関する情報を取得します。 
  • インタースティシャル広告をロードする前にデリゲートを設定することを推奨します。
  • 各インタースティシャル広告には、独自のデリゲート実装が必要です。
  • デリゲートメソッドはメインスレッドで実行されます。
self.interstitialAd = [[LPMInterstitialAd alloc] initWithAdUnitId:@"adUnitId"]; self.interstitialAd.delegate = self;#pragma mark - LPMInterstitialAdDelegate Methods- (void)didLoadAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didFailToLoadAdWithAdUnitId:(NSString *)adUnitId error:(NSError *)error {}- (void)didChangeAdInfo:(LPMAdInfo *)adInfo {}- (void)didDisplayAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didFailToDisplayAdWithAdInfo:(LPMAdInfo *)adInfo error:(NSError *)error {}- (void)didClickAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didCloseAdWithAdInfo:(LPMAdInfo *)adInfo {}
self.interstitialAd = LPMInterstitialAd(adUnitId: "adUnitId")self.interstitialAd.setDelegate(self)// MARK:LPMInterstitialAdDelegate メソッドfunc didLoadAd(with adInfo:LPMAdInfo) {}func didFailToLoadAd(withAdUnitId adUnitId:文字列、エラー:Error) {}func didChangeAdInfo(_ adInfo:LPMAdInfo) {}func didDisplayAd(with adInfo:LPMAdInfo) {}func didFailToDisplayAd(with adInfo:LPMAdInfo、エラー:Error) {}func didClickAd(with adInfo:LPMAdInfo) {}func didCloseAd(with adInfo:LPMAdInfo) {}

LevelPlay 広告情報

LPMAdInfo パラメーターには、ロードされた広告に関する情報が含まれます。実装と使用可能なフィールドの詳細については、こちらを参照してください。

ロード インタースティシャル広告

インタースティシャル広告をロードするには、loadAd を使用します。
[self.interstitialAd loadAd];
self.interstitialAd.loadAd()

インタースティシャル広告の表示

didLoadAd コールバックの受信後にインタースティシャル広告を表示します。
  • ViewController の共有に必要です。 
  • プレースメントを使用する場合は、後述のプレースメントのセクションで示すように、showAd API に配置名を渡します。
  • ユーザーに広告が正常に表示されたら、ロードステップを繰り返して別の広告をロードできます。
- (void)showInterstitialAd { // 広告の準備ができていることを確認します if ([self.interstitialAd isAdReady]) { // 配置なしで表示 [self.interstitialAd showAdWithViewController:self placementName:NULL]; }}
func showInterstitialAd() { // 広告の準備ができていることを確認します if self.interstitialAd.isAdReady() { // 配置なしで表示 self.interstitialAd.showAd(viewController: self, placementName: nil) }}

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

表示の失敗を避け、広告が正しく表示されるようにするために、showAd API を呼び出す前に以下の API を使用することをお勧めします。
isAdReady – 広告のロードが成功し、広告単位が上限に達していない場合は true、それ以外の場合は false を返します。
isPlacementCapped – 有効な配置に上限がある場合に true を返します。配置が有効でないか、上限がない場合、この API は false を返します。
// 広告の準備ができていることと、配置に上限がないことを確認します。if ([self.interstitialAd isAdReady] && ![LPMInterstitialAd isPlacementCapped:placementName]) { [self.interstitialAd showAdWithViewController:self placementName:placementName];}
// 広告の準備ができていることと、配置に上限がないことを確認します。if self.interstitialAd.isAdReady(), !LPMInterstitialAd.isPlacementCapped(placementName) { self.interstitialAd.showAd(viewController: self, placementName: placementName)}

Placements

LevelPlay ダッシュボードでは、インタースティシャルのプレースメント ペーシングとプレースメント キャップをサポートします。 
インタースティシャル広告にプレースメントが設定されている場合は、 showAd メソッドを呼び出して特定の配置の広告を配信します。
// 広告の準備ができていることと、配置に上限がないことを確認します。if ([self.interstitialAd isAdReady] && ![LPMInterstitialAd isPlacementCapped:placementName]) { // 配置で広告を表示 [self.interstitialAd showAdWithViewController:self placementName:@"PlacementName"];}
// 広告の準備ができていることと、配置に上限がないことを確認します。if self.interstitialAd.isAdReady(), !LPMInterstitialAd.isPlacementCapped(placementName) { // 配置で広告を表示 self.interstitialAd.showAd(viewController: self, placementName: placementName)}

インタースティシャル広告の完全な実装例

NS_ASSUME_NONNULL_BEGIN@interface InterstitialAdViewController () <LPMInterstitialAdDelegate>@プロパティ(非アトミック、強) LPMInterstitialAd *interstitialAd;@end@implementation InterstitialAdViewController- (void)createInterstitialAd { self.interstitialAd = [[LPMInterstitialAd alloc] initWithAdUnitId:@"adUnitId"]; self.interstitialAd.delegate = self;}- (void)loadInterstitialAd { // 広告のロードまたはリロードに使用 [self.interstitialAd loadAd];}- (void)showInterstitialAd { if ([self.interstitialAd isAdReady]) { [self.interstitialAd showAdWithViewController:self placementName:NULL]; }}- (void)showInterstitialAdWithPlacementName:(NSString *)placementName { // 広告の準備ができていることと、配置に上限がないことを確認します。 if ([self.interstitialAd isAdReady] &amp;&amp; ![LPMInterstitialAd isPlacementCapped:placementName]) { [self.interstitialAd showAdWithViewController:self placementName:placementName]; }}#pragma mark - LPMInterstitialAdDelegate メソッド- (void)didLoadAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didFailToLoadAdWithAdUnitId:(NSString *)adUnitId error:(NSError *)error {}- (void)didChangeAdInfo:(LPMAdInfo *)adInfo {}- (void)didDisplayAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didFailToDisplayAdWithAdInfo:(LPMAdInfo *)adInfo error:(NSError *)error {}- (void)didClickAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didCloseAdWithAdInfo:(LPMAdInfo *)adInfo {}@endNS_ASSUME_NONNULL_END
class InterstitialAdViewController:UIViewController、LPMInterstitialAdDelegate { var interstitialAd:LPMInterstitialAd! func createInterstitialAd() { self.interstitialAd = LPMInterstitialAd(adUnitId: "adUnitId") self.interstitialAd.setDelegate(self) } func loadInterstitialAd() { // used to load or reload the ad self.interstitialAd.loadAd() } func showInterstitialAd() { if self.interstitialAd.isAdReady() { self.interstitialAd.showAd(viewController: self, placementName: nil) } } func showInterstitialAd(withPlacementName placementName:文字列) { // check that ad is ready and that the placement is not capped if self.interstitialAd.isAdReady(), !LPMInterstitialAd.isPlacementCapped(placementName) { self.interstitialAd.showAd(viewController: self, placementName: placementName) } } // MARK:LPMInterstitialAdDelegate メソッド func didLoadAd(with adInfo:LPMAdInfo) {} func didFailToLoadAd(withAdUnitId adUnitId:文字列、エラー:Error) {} func didChangeAdInfo(_ adInfo:LPMAdInfo) {} func didDisplayAd(with adInfo:LPMAdInfo) {} func didFailToDisplayAd(with adInfo:LPMAdInfo、エラー:Error) {} func didClickAd(with adInfo:LPMAdInfo) {} func didCloseAd(with adInfo:LPMAdInfo) {}}

LevelPlay Mediation デモアプリケーション

インテグレーション Demo (インテグレーションデモ) アプリケーションは、アプリケーションにインタースティシャル広告単位 API を統合する方法を示します。
iOSデモアプリケーションのダウンロード
インテグレーションテストスイートとのインテグレーションを確認します。

次のステップ

インテグレーション ガイドに従って、追加のインタースティシャル広告ネットワークを統合したり、追加の広告フォーマットを設定したりできます。
  • メディエーションネットワークの追加
  • リワード広告
  • バナー広告
  • ネイティブ広告

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

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

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

  • このページ
    • 前提条件

    • インタースティシャル広告オブジェクトの作成

    • デリゲートの実装

      • LevelPlay 広告情報

    • ロード インタースティシャル広告

    • インタースティシャル広告の表示

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

      • Placements

    • インタースティシャル広告の完全な実装例

    • LevelPlay Mediation デモアプリケーション

    • 次のステップ


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