Theo dõi các sự kiện liên quan đến việc lưu vào bộ đệm quảng cáo
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
SDK Quảng cáo tương tác trên phương tiện truyền thông (IMA) cho iOS.
Hướng dẫn này giải thích cách thực hiện hành động dựa trên trạng thái đệm của quảng cáo.
Sử dụng các sự kiện đệm trong ứng dụng
Bạn có thể sử dụng các phương thức uỷ quyền sau đây trên IMAAdsManagerDelegate
để thêm chỉ báo hoạt động vào ứng dụng khi quảng cáo tạm dừng để lưu vào bộ nhớ đệm:
- (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager
: Được gọi khi một quảng cáo đã bắt đầu phát và dừng để lưu vào bộ nhớ đệm.
- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime
:
Được gọi là vùng đệm quảng cáo. Phương thức này được gọi nhiều lần miễn là quảng cáo đang được lưu vào bộ nhớ đệm.
- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager
: Được gọi khi quảng cáo hiện tại được lưu vào bộ nhớ đệm đủ để việc phát quảng cáo không vượt quá bộ nhớ đệm.
Ví dụ:
Tất cả các nội dung bổ sung đều dựa trên Ứng dụng mẫu nâng cao của SDK IMA (cho cả iOS và tvOS):
@interface VideoViewController () <IMAAdsManagerDelegate,...>
...
@end
@implementation VideoViewController
...
- (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager {
// Show your activity indicator above the video player - ad playback has
// stopped to buffer.
}
- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager {
// Hide your activity indicator - as playback resumes.
}
Câu hỏi thường gặp
Tôi có thể hiện chỉ báo hoạt động trước khi quảng cáo bắt đầu phát không?
Có, nhưng bạn nên dựa vào các phương thức uỷ thác khác nhau cho trường hợp sử dụng đó. Bạn có thể hiện chỉ báo hoạt động khi gọi [adsManager start]
và ẩn chỉ báo hoạt động khi bắt kIMAAdEvent_STARTED
trong - (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event
.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-08-31 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-31 UTC."],[[["\u003cp\u003eThis guide explains how to utilize ad buffer events to implement an activity indicator in your app, enhancing user experience during ad playback.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use the \u003ccode\u003eIMAAdsManagerDelegate\u003c/code\u003e methods to trigger actions like showing and hiding an activity indicator based on the ad's buffering state.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eadsManagerAdDidStartBuffering\u003c/code\u003e, \u003ccode\u003eadsManagerAdPlaybackReady\u003c/code\u003e, and \u003ccode\u003eadsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime\u003c/code\u003e methods provide signals for managing the activity indicator during buffering.\u003c/p\u003e\n"],["\u003cp\u003eWhile you can show an activity indicator before ad playback, using delegate methods specific to ad start events is recommended for that scenario.\u003c/p\u003e\n"]]],[],null,["# Monitor ad buffering events\n\nInteractive Media Ads (IMA) SDK for iOS.\n\nThis guide explains how to take action based on ad buffering state.\n\nUsing buffer events in your app\n-------------------------------\n\nYou can use the following delegate methods on `IMAAdsManagerDelegate` to add an\nactivity indicator to your app when ads pause to buffer:\n\n- `- (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager`: Called when an ad that already started playing has stopped to buffer.\n- `- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime`: Called as an ad buffers. This method is called repeatedly as long as an ad is buffering.\n- `- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager`: Called when the current ad is sufficiently buffered such that ad playback is not likely to outrun the buffer.\n\n### Example\n\nAll additions are based on the\n[IMA SDK Advanced Sample](//github.com/googleads/googleads-ima-ios/tree/master/Objective-C/AdvancedExample)\n(for both iOS and tvOS): \n\n```objective-c\n @interface VideoViewController () \u003cIMAAdsManagerDelegate,...\u003e\n\n ...\n\n @end\n\n @implementation VideoViewController\n\n ...\n\n - (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager {\n // Show your activity indicator above the video player - ad playback has\n // stopped to buffer.\n }\n\n - (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager {\n // Hide your activity indicator - as playback resumes.\n }\n```\n\nFAQ\n---\n\n### Can I show an activity indicator before my ad starts playing?\n\nYes, but we recommend relying on different delegate methods for that\nuse case. You can show the activity indicator when you call `[adsManager start]`,\nand hide the activity indicator when you catch `kIMAAdEvent_STARTED` in\n`- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event`."]]