Phát quảng cáo dạng âm thanh trong nền

Hướng dẫn này dành cho các nhà xuất bản iOS quan tâm đến việc thêm tính năng phát quảng cáo âm thanh ở chế độ nền vào quá trình triển khai SDK IMA của họ. Điều này cho phép ứng dụng yêu cầu quảng cáo trong nền. Điều này cũng cho phép ứng dụng chuyển sang chạy ở chế độ nền và tiếp tục phát quảng cáo đến hết.

Bạn không nên phát quảng cáo dạng video trong nền.

Điều kiện tiên quyết

  • Ứng dụng iOS có triển khai SDK IMA.
  • IMA SDK V3 Beta v13 trở lên.

Các đoạn mồi hữu ích

Nếu bạn vẫn cần triển khai SDK IMA trong ứng dụng của mình, hãy xem Hướng dẫn bắt đầu sử dụng của chúng tôi.

Thêm tính năng phát quảng cáo trong nền vào ứng dụng của bạn

Để thêm tính năng phát quảng cáo trong nền, bạn cần thực hiện các bước sau:

  1. Bật chế độ nền Âm thanh và Airplay. Trong Xcode 6, hãy chọn một mục tiêu, sau đó trong phần Capabilities > Background Modes (Khả năng > Chế độ nền), hãy bật "Audio and Airplay" (Âm thanh và Airplay).
  2. Kích hoạt AVAudioSession và đặt danh mục của nó bằng AVAudioSessionCategory có thể phát âm thanh nền, chẳng hạn như AVAudioSessionCategoryPlayback.
  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. Tạo một IMAAdsLoader, truyền vào đối tượng IMASettings với enableBackgroundPlayback được đặt thành YES.
  5.   IMASettings *settings = [[IMASettings alloc] init];
      settings.enableBackgroundPlayback = YES;
      IMAAdsLoader *adsLoader = [[IMAAdsLoader alloc] initWithSettings:settings];
    

Quan trọng

Để tạo yêu cầu quảng cáo trong nền, nội dung của bạn phải đang phát. Để làm được như vậy, bạn có thể phải gọi thủ công để phát trên trình phát nội dung khi ứng dụng chuyển sang chạy ở chế độ nền trước khi gọi [IMAAdsLoader requestAds:].

Khi ứng dụng iOS chạy ở chế độ nền, ứng dụng sẽ tự động tạm dừng việc phát quảng cáo. Nếu ứng dụng của bạn chạy ở chế độ nền trong khi phát quảng cáo, bạn cần gọi [IMAAdsManager resume] để tiếp tục phát.

Câu hỏi thường gặp

Điều gì xảy ra nếu tôi không bật tính năng chế độ nền Âm thanh và AirPlay trong ứng dụng của mình?
Nếu bạn không chọn chế độ này, thì mọi âm thanh mà ứng dụng đang phát sẽ dừng lại khi ứng dụng chuyển sang chạy ở chế độ nền. Ứng dụng cũng không thể phát âm thanh khi ở chế độ nền.