バックグラウンドの音声広告の再生

このガイドは、IMA SDK の実装にバックグラウンドのオーディオ広告再生を追加することに関心をお持ちの iOS パブリッシャー様を対象としています。これにより、アプリがバックグラウンドで広告をリクエストできるようになります。また、アプリがバックグラウンドに移動して、最後まで広告を再生し続けることもできます。

動画広告をバックグラウンドで再生することはおすすめしません。

前提条件

  • IMA SDK が実装された iOS アプリ
  • IMA SDK V3 ベータ版 v13 以降。

参考情報

引き続き IMA SDK をアプリに実装する必要がある場合は、スタートガイドをご覧ください。

バックグラウンド再生をアプリに追加する

バックグラウンド広告再生を追加する手順は、以下のとおりです。

  1. 音声と AirPlay のバックグラウンド モードを有効にします。Xcode 6 でターゲットを選択し、[Capabilities] > [Background Modes] で [Audio and Airplay] を有効にします。
  2. AVAudioSession を有効にして、バックグラウンド音声を再生できる AVAudioSessionCategoryAVAudioSessionCategoryPlayback など)でカテゴリを設定します。
  3. - (void)viewDidLoad {
      [super viewDidLoad];
    
      NSError *error;
      [[AVAudioSession sharedInstance] setActive:YES error:&error];
      if (error != nil) {
        NSLog(@"Error: %@", error.localizedDescription);
      }
    
      [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
      if (error != nil) {
        NSLog(@"Error: %@", error.localizedDescription);
      }
    }
  4. IMAAdsLoader を作成し、enableBackgroundPlaybackYES に設定した IMASettings オブジェクトを渡します。
  5.   IMASettings *settings = [[IMASettings alloc] init];
      settings.enableBackgroundPlayback = YES;
      IMAAdsLoader *adsLoader = [[IMAAdsLoader alloc] initWithSettings:settings];
    

重要

バックグラウンドの広告リクエストを行うには、コンテンツが再生中である必要があります。そのためには、[IMAAdsLoader requestAds:] を呼び出す前に、アプリがバックグラウンドに移動したときに、コンテンツ プレーヤーで再生を手動で呼び出すことが必要になる場合があります。

iOS アプリをバックグラウンドで実行すると、広告の再生が自動的に一時停止します。広告の再生中にアプリがバックグラウンドで動作した場合、[IMAAdsManager resume] を呼び出して再生を再開する必要があります。

よくある質問

アプリで音声と AirPlay のバックグラウンド モードを有効にしないとどうなりますか?
このモードを選択しない場合、アプリがバックグラウンドに移動すると再生中の音声はすべて停止します。また、バックグラウンドで音声を起動することもできません。