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.
Hướng dẫn này giải thích cách hành động dựa trên trạng thái lưu vào bộ đệm quảng cáo.
Sử dụng sự kiện vùng đệm trong ứng dụng
Bạn có thể sử dụng các phương thức uỷ quyền sau 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ộ đệm:
- (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager
: Được gọi khi một quảng cáo đã bắt đầu phát nhưng đã dừng để lưu vào bộ đệ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 lưu vào bộ đệm.
- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager
: Được gọi khi quảng cáo hiện tại được lưu vào vùng đệm đủ để quá trình phát quảng cáo không vượt quá vùng đệm.
Ví dụ:
Tất cả nội dung bổ sung đều dựa trên Mẫu nâng cao SDK IMA (dành 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 thị 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ỷ quyền khác nhau cho trường hợp sử dụng đó. Bạn có thể hiển thị chỉ báo hoạt động khi gọi [adsManager start]
và ẩn chỉ báo hoạt động khi phát hiện 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 provides instructions on how to leverage ad buffer events to display an activity indicator during ad buffering.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can utilize the \u003ccode\u003eIMAAdsManagerDelegate\u003c/code\u003e methods, such as \u003ccode\u003eadsManagerAdDidStartBuffering\u003c/code\u003e, \u003ccode\u003eadsManager:adDidBufferToMediaTime:\u003c/code\u003e, and \u003ccode\u003eadsManagerAdPlaybackReady\u003c/code\u003e, to manage the activity indicator's visibility based on the ad's buffering state.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code example demonstrates how to integrate these methods into an iOS or tvOS application, using the IMA SDK Advanced Sample as a basis.\u003c/p\u003e\n"],["\u003cp\u003eWhile displaying an activity indicator before ad playback is possible, it's recommended to use different delegate methods and events like \u003ccode\u003e[adsManager start]\u003c/code\u003e and \u003ccode\u003ekIMAAdEvent_STARTED\u003c/code\u003e for that purpose.\u003c/p\u003e\n"]]],[],null,["# Monitor ad buffering events\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`."]]