Help Center/Details/

Self-rendering Feed Ads


Self-rendering Feed Ads: The scene should be displayed interspersed with the application content in the application content stream, and the advertising content should be distinguished from other content in the application to prevent accidental clicks.

Supported ad sizes:

  • Large picture (Picture with aspect ratio: 1.78)
  • Video (Aspect ratio: 1.78 video)
  • Small image (Picture with aspect ratio: 1.52)
  • Group pictures (three pictures with aspect ratio: 1.52)


**Self-rendering information flow ads: ** Reclaimed and no longer available for creation

Self-rendering Feed advertisement

Instructions for use

Self-rendering information flow ads use the BUNativeAdsManager object to call loadAdDataWithCount: to request ads, by setting BUNativeAdsManagerDelegate, BUVideoAdViewDelegate, BUNativeAdDelegate agents, to get the ad-related materials and click Wait for callback.

Create an ad slot object and request an ad


The advertisement slot object must be passed in when requesting an advertisement, and the advertisement slot ID and the basic advertisement configuration BUAdSlot must be passed in when the advertisement slot object is created.

Required parameters:

Field Definition Field Name Field Type Remarks
BUAdSlot / / Basic configuration
slotID Code Bit Code Bit ID

Use BUAdSlot to create basic advertising information, use BUNativeAdsManager to call loadAdDataWithCount: to request ads

BUNativeAdsManager *nad = [BUNativeAdsManager new];
BUAdSlot *slot1 = [[BUAdSlot alloc] init];
slot1.ID = self.viewModel.slotID;
slot1.AdType = BUAdSlotAdTypeFeed;
slot1.position = BUAdSlotPositionTop;
slot1.imgSize = [BUSize sizeBy:BUProposalSize_Feed690_388];
nad.adslot = slot1;
nad.delegate = self;
self.adManager = nad;
[nad loadAdDataWithCount:3];

Note: The number of loadAdDataWithCount requests is recommended to No more than 3 requests at a time

Receive ads loading results

Callback Method Notes
nativeAdsManagerSuccessToLoad: nativeAds: Load success callback; perform related data insertion processing in this callback
nativeAdsManager:didFailWithError: The returned error code (error) indicates the reason why the ad failed to load. Please refer to the link for details of all error codes. Link

BUNativeAdDelegate callback description

Callback Method Notes
nativeAdDidLoad: Ad materials loaded successfully
nativeAd:didFailWithError: The returned error code (error) indicates the reason why the ad failed to load. Please refer to the link for details of all error codes. Link
nativeAdDidBecomeVisible: Ad display callback
nativeAdDidCloseOtherController: interactionType: This callback is called when the ad jumps to another controller and the controller is closed. InteractionType: This parameter can be distinguished from the opened appstore/webpage/video ad details page
nativeAdDidClick:withView: Except for the video area, click will respond to this callback method
nativeAd:dislikeWithReason: dislike button click callback, you need to process the response data in this callback method


  1. After obtaining the relevant advertisement information assignment in the material loading success method, you need to call registerContainer:withClickableViews:clickableViews to register the bound clickable View and refresh the data source refreshData:.
  2. You need to refresh and call the refreshData: method after each material information is obtained


For detailed access, please refer to the BUDFeedViewController class in Demo, and for the advertisement loading request part, please refer to the loadNativeAds method

Did the content solve your problem?
Contact us