Pangle: A global platform dedicated to developer growth.|Integration Docs
Knowledge Center

Migrate to SDK v46

In order to optimize the intrgration experience, we will make some big changes of interface in version 4600 and use a new set of integrate methods. This document is an interface comparison for upgrading the old version to version 4600. You can also read the detailed document below for integrating. If you need to integrate the version below 4600, please jump to the old integration document.

Initialization

4500

4600

BUAdSDKConfiguration

PAGConfig

+ configuration;

+ shareConfig;

@property (nonatomic, assign) BUAdSDKTerritory territory;

N/A

@property (nonatomic, copy) NSString *appID;

@property (nonatomic, copy) NSString *appID;

@property (nonatomic, copy) NSString *secretKey;

N/A

@property (nonatomic, assign) BUAdSDKLogLevel logLevel;

N/A

@property (nonatomic, assign) BUAdSDKAgeGroup ageGroup;

N/A

@property (nonatomic, strong) NSNumber *coppa;

@property (nonatomic, assign) PAGChildDirectedType childDirected;

@property (nonatomic, copy) NSString *userExtData;

@property (nonatomic, copy) NSString *userDataString;

@property (nonatomic, assign) BUOfflineType webViewOfflineType;

N/A

@property (nonatomic, strong) NSNumber *GDPR;

@property (nonatomic, assign) PAGGDPRConsentType GDPRConsent;

@property (nonatomic, strong) NSNumber *CCPA;

@property (nonatomic, assign) PAGDoNotSellType doNotSell;

@property (nonatomic, strong) NSNumber *debugLog;

@property (nonatomic, assign) BOOL debugLog;

@property (nonatomic, strong) NSNumber *themeStatus;

@property (nonatomic, assign) PAGAdSDKThemeStatus themeStatus;

@property (nonatomic, strong) NSArray<NSNumber *> *abvids;

N/A

@property (atomic, copy) NSString *abSDKVersion;

N/A

@property (nonatomic, copy) NSString *customIdfa;

N/A

@property (nonatomic, assign) BOOL allowModifyAudioSessionSetting;

N/A

@property (nonatomic, assign) BOOL unityDeveloper;

N/A

@property (nonatomic, strong) id<BUAdSDKPrivacyProvider> privacyProvider;

N/A

@property (nonatomic, strong, nullable) UIImage *appLogoImage;

N/A

@property (nonatomic, assign) BOOL SDKDEBUG;

N/A

4500

4600

BUAdSDKManager

PAGSdk

@property (nonatomic, copy, readonly, class) NSString *SDKVersion;

@property (nonatomic, copy, readonly, class) NSString *SDKVersion;

@property (nonatomic, assign, readonly, class) BUAdSDKInitializationState initializationState;

@property (nonatomic, assign, readonly, class) PAGSDKInitializationState initializationState;

+ (void)startWithSyncCompletionHandler:(BUCompletionHandler)completionHandler;

N/A

+ (void)startWithAsyncCompletionHandler:(BUCompletionHandler)completionHandler;

+ (void)startWithConfig:(PAGConfig *)config completionHandler:(nullable PAGAdsCompletionHandler)completionHandler;

+ (void)openGDPRPrivacyFromRootViewController:(UIViewController *)rootViewController confirm:(BUConfirmGDPR)confirm;

N/A

+ (void)setTerritory:(BUAdSDKTerritory)territory;

N/A

+ (void)setAppID:(NSString *)appID;

N/A

+ (void)setSecretKey:(NSString *)secretKey;

N/A

+ (void)setLoglevel:(BUAdSDKLogLevel)level;

N/A

+ (void)setAgeGroup:(BUAdSDKAgeGroup)ageGroup;

N/A

+ (void)setCoppa:(NSInteger)coppa;

N/A

+ (void)setUserKeywords:(NSString *)keywords;

N/A

+ (void)setUserExtData:(NSString *)data;

@property (nonatomic, copy) NSString *userDataString;

+ (void)setOfflineType:(BUOfflineType)type;

N/A

+ (void)setGDPR:(NSInteger)GDPR;

N/A

+ (void)setCCPA:(NSInteger)CCPA;

N/A

+ (void)setABVidArray:(NSArray<NSNumber *> *)abvids;

N/A

+ (void)setABSDKVersion:(NSString *)abSDKVersion;

N/A

+ (void)setCustomIDFA:(NSString *)idfa;

N/A

+ (void)setThemeStatus:(BUAdSDKThemeStatus)themeStatus;

N/A

+ (NSString *)appID;

N/A

+ (NSInteger)GDPR;

N/A

+ (NSInteger)coppa;

N/A

+ (NSInteger)CCPA;

N/A

+ (void)allowModifyAudioSessionSetting:(BOOL)isAllow;

N/A

+ (BUAdSDKThemeStatus)themeStatus;

N/A

- (void)setAdMarkup:(NSString *)adm;

PAGRequest :

/// Ad string that represents an ad response. The SDK will render this ad and ignore all other

/// targeting information set on this request.

@property (nonatomic, copy) NSString *adString;

- (void)setMopubAdMarkUp:(NSString *)adm;

N/A

+ (nullable NSDictionary *)AdTypeWithRit:(NSString *)rit error:(NSError **)error;

N/A

+ (NSDictionary *)AdTypeWithAdMarkUp:(NSString *)adm;

N/A

+ (NSString *)mopubBiddingToken;

+ (NSString *)getBiddingToken:(nullable NSString *)slotID;

+ (NSString *)getBiddingToken:(nullable NSString *)slotID;


Native

4500

4600

BUNativeAd

PAGLNativeAd

@property (nonatomic, strong, readwrite, nullable) BUAdSlot *adslot;

N/A

@property (atomic, strong, readonly, nullable) BUMaterialMeta *data;

@property (nonatomic, strong, readonly) PAGLMaterialMeta *data;

@property (nonatomic, weak, readwrite, nullable) id<BUNativeAdDelegate> delegate;

@property (nonatomic, weak, nullable) id<PAGLNativeAdDelegate> delegate;

@property (nonatomic, weak, readwrite) UIViewController *rootViewController;

@property (nonatomic, weak) UIViewController *rootViewController;

- (instancetype)initWithSlot:(BUAdSlot *)slot;

N/A

- (void)registerContainer:(__kindof UIView *)containerView withClickableViews:(NSArray<__kindof UIView *> *_Nullable)clickableViews;

- (void)registerContainer:(__kindof UIView *)containerView withClickableViews:(NSArray<__kindof UIView *> *_Nullable)clickableViews;

- (void)unregisterView;

- (void)unregisterView;

- (void)loadAdData;

+ (void)loadAdWithSlotID:(NSString *)slotID request:(PAGNativeRequest *)request completionHandler:(PAGNativeADLoadCompletionHandler)completionHandler;

- (NSString *)getAdCreativeToken;

N/A

4500

4600

BUNativeAdDelegate

PAGLNativeAdDelegate

- (void)nativeAdDidLoad:(BUNativeAd *)nativeAd;

PAGNativeADLoadCompletionHandler

- (void)nativeAdDidLoad:(BUNativeAd *)nativeAd view:(UIView *_Nullable)view;

- (void)nativeAd:(BUNativeAd *)nativeAd didFailWithError:(NSError *_Nullable)error;

- (void)nativeAdDidBecomeVisible:(BUNativeAd *)nativeAd;

- (void)adDidShow:(id<PAGAdProtocol>)ad;

- (void)nativeAdDidCloseOtherController:(BUNativeAd *)nativeAd interactionType:(BUInteractionType)interactionType;

N/A

- (void)nativeAdDidClick:(BUNativeAd *)nativeAd withView:(UIView *_Nullable)view;

- (void)adDidClick:(id<PAGAdProtocol>)ad;

- (void)nativeAd:(BUNativeAd *_Nullable)nativeAd dislikeWithReason:(NSArray<BUDislikeWords *> *_Nullable)filterWords;

- (void)adDidDismiss:(id<PAGAdProtocol>)ad;

- (void)nativeAd:(BUNativeAd *_Nullable)nativeAd adContainerViewDidRemoved:(UIView *)adContainerView;

4500

4600

BUNativeAdRelatedView

PAGNativeAdRelatedView

@property (nonatomic, strong, readonly, nullable) UIButton *dislikeButton;

@property (nonatomic, strong, readonly) UIButton *dislikeButton;

@property (nonatomic, strong, readonly, nullable) UILabel *adLabel;

@property (nonatomic, strong, readonly) PAGMediaView *mediaView;

@property (nonatomic, strong, readonly, nullable) UIImageView *logoImageView;

@property (nonatomic, strong, readonly, nullable) BUVideoAdView *videoAdView;

@property (nonatomic, strong, readonly, nullable) UIImageView *logoADImageView;

@property (nonatomic, strong, readonly) UIImageView *logoADImageView;

@property (nonatomic, strong, readonly, nullable) id<BUVideoAdReportor> videoAdReportor;

N/A

- (void)refreshData:(BUNativeAd *)nativeAd;

- (void)refreshWithNativeAd:(PAGLNativeAd *)nativeAd;

Banner

4500

4600

BUNativeExpressBannerView

PAGBannerAd

@property (nonatomic, weak, nullable) id<BUNativeExpressBannerViewDelegate> delegate

@property (nonatomic, weak, nullable) id<PAGBannerAdDelegate> delegate

N/A

@property (nonatomic, strong, readonly) UIView *bannerView

@property (nonatomic, assign, readonly) NSInteger interval

N/A

@property (nonatomic, copy, readonly) NSDictionary *mediaExt

N/A

- (instancetype)initWithSlotID:(NSString *)slotIDrootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsize

N/A

- (instancetype)initWithSlotID:(NSString *)slotIDrootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsizeinterval:(NSInteger)interval

N/A

- (instancetype)initWithSlot:(BUAdSlot *)slotrootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsize

N/A

- (instancetype)initWithSlot:(BUAdSlot *)slotrootViewController:(UIViewController *)rootViewControlleradSize:(CGSize)adsizeinterval:(NSInteger)interval

N/A

N/A

@property (nonatomic, weak, readwrite) UIViewController *rootViewController

- (void)loadAdData

+ (void)loadAdWithSlotID:(NSString *)slotIDrequest:(PAGBannerRequest *)requestcompletionHandler:(PAGBannerADLoadCompletionHandler)completionHandler

- (NSString *)getAdCreativeToken

N/A

4500

4600

BUNativeExpressBannerViewDelegate

PAGBannerAdDelegate

- (void)nativeExpressBannerAdViewWillBecomVisible:(BUNativeExpressBannerView *)bannerAdView

- (void)adDidShow:(id<PAGAdProtocol>)ad

- (void)nativeExpressBannerAdViewDidClick:(BUNativeExpressBannerView *)bannerAdView

- (void)adDidClick:(id<PAGAdProtocol>)ad

- (void)nativeExpressBannerAdViewDidRemoved:(BUNativeExpressBannerView *)bannerAdVie

- (void)adDidDismiss:(id<PAGAdProtocol>)ad

- (void)nativeExpressBannerAdViewDidLoad:(BUNativeExpressBannerView *)bannerAdView

N/A

- (void)nativeExpressBannerAdView:(BUNativeExpressBannerView *)bannerAdView didLoadFailWithError:(NSError *_Nullable)error

N/A

- (void)nativeExpressBannerAdViewRenderSuccess:(BUNativeExpressBannerView *)bannerAdView

N/A

- (void)nativeExpressBannerAdViewRenderFail:(BUNativeExpressBannerView *)bannerAdView error:(NSError * __nullable)error

N/A

- (void)nativeExpressBannerAdView:(BUNativeExpressBannerView *)bannerAdView dislikeWithReason:(NSArray<BUDislikeWords *> *_Nullable)filterwords

N/A

- (void)nativeExpressBannerAdViewDidCloseOtherController:(BUNativeExpressBannerView *)bannerAdView interactionType:(BUInteractionType)interactionType

N/A

Interstitial

4500

4600

BUFullscreenVideoAd

PAGLInterstitialAd

@property (nonatomic, weak, nullable) id<BUFullscreenVideoAdDelegate> delegate;

@property(nonatomic, weak, nullable) id<PAGLInterstitialAdDelegate> delegate;

@property (nonatomic, copy, readonly) NSDictionary *mediaExt;

N/A

@property (nonatomic, assign, readonly) BOOL materialMetaIsFromPreload;

N/A

@property (nonatomic, assign, readonly) NSTimeInterval expireTimestamp;

N/A

- (instancetype)initWithSlotID:(NSString *)slotID;

N/A

- (instancetype)initWithSlot:(BUAdSlot *)slot;

N/A

- (void)loadAdData;

+ (void)loadAdWithSlotID:(NSString *)slotIDrequest:(PAGInterstitialRequest *)requestcompletionHandler:(PAGInterstitialAdLoadCompletionHandler)completionHandler;

- (NSString *)getAdCreativeToken;

N/A

- (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController;

- (void)presentFromRootViewController:(UIViewController *)rootViewController;

- (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController ritSceneDescribe:(NSString *_Nullable)sceneDescirbe;

- (NSTimeInterval)getExpireTimestamp;

N/A





4500

4600

BUFullscreenVideoAdDelegate

PAGLInterstitialAdDelegate

- (void)fullscreenVideoMaterialMetaAdDidLoad:(BUFullscreenVideoAd *)fullscreenVideoAd;

N/A

- (void)fullscreenVideoAd:(BUFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error;

N/A

- (void)fullscreenVideoAdVideoDataDidLoad:(BUFullscreenVideoAd *)fullscreenVideoAd;

N/A

- (void)fullscreenVideoAdWillVisible:(BUFullscreenVideoAd *)fullscreenVideoAd;

N/A

- (void)fullscreenVideoAdDidVisible:(BUFullscreenVideoAd *)fullscreenVideoAd;

- (void)adDidShow:(id<PAGAdProtocol>)ad;

- (void)fullscreenVideoAdDidClick:(BUFullscreenVideoAd *)fullscreenVideoAd;

- (void)adDidClick:(id<PAGAdProtocol>)ad;

- (void)fullscreenVideoAdWillClose:(BUFullscreenVideoAd *)fullscreenVideoAd;

N/A

- (void)fullscreenVideoAdDidClose:(BUFullscreenVideoAd *)fullscreenVideoAd;

- (void)adDidDismiss:(id<PAGAdProtocol>)ad;

- (void)fullscreenVideoAdDidPlayFinish:(BUFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error;

N/A

- (void)fullscreenVideoAdDidClickSkip:(BUFullscreenVideoAd *)fullscreenVideoAd;

N/A

- (void)fullscreenVideoAdCallback:(BUFullscreenVideoAd *)fullscreenVideoAd withType:(BUFullScreenVideoAdType)fullscreenVideoAdType;

N/A





Rewarded

4500

4600

BURewardedVideoAd

PAGRewardedAd

@property (nonatomic, strong) BURewardedVideoModel *rewardedVideoModel;

N/A

@property (nonatomic, weak, nullable) id<BURewardedVideoAdDelegate> delegate;

@property (nonatomic, weak, nullable) id<PAGRewardedAdDelegate> delegate;

@property (nonatomic, weak, nullable) id<BURewardedVideoAdDelegate> rewardPlayAgainInteractionDelegate;

N/A

@property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use rewardedVideoAdDidLoad: instead.")));

N/A

@property (nonatomic, copy, readonly) NSDictionary *mediaExt;

N/A

@property (nonatomic, assign, readonly) BOOL materialMetaIsFromPreload;

N/A

@property (nonatomic, assign,readonly) NSTimeInterval expireTimestamp;

N/A

- initWithSlotID: rewardedVideoModel:

N/A

- initWithSlot: rewardedVideoModel:

N/A

- loadAdData

+ (void)loadAdWithSlotID:(NSString *)slotIDrequest:(PAGRewardedRequest *)requestcompletionHandler:(PAGRewardedAdLoadCompletionHandler)completionHandler;

- getAdCreativeToken

N/A

- showAdFromRootViewController:

- (void)presentFromRootViewController:(UIViewController *)rootViewController;

- showAdFromRootViewController: ritScene: ritSceneDescribe:

N/A

- getExpireTimestamp

N/A

4500

4600

BURewardedVideoAdDelegate

PAGRewardedAdDelegate

- rewardedVideoAdDidLoad:

N/A

- rewardedVideoAd: didFailWithError:

N/A

- rewardedVideoAdVideoDidLoad:

N/A

- rewardedVideoAdWillVisible:

N/A

- rewardedVideoAdDidVisible:

- (void)adDidShow:(id<PAGAdProtocol>)ad;

- rewardedVideoAdWillClose:

N/A

- rewardedVideoAdDidClose:

- (void)adDidDismiss:(id<PAGAdProtocol>)ad;

- rewardedVideoAdDidClick:

- (void)adDidClick:(id<PAGAdProtocol>)ad;

- rewardedVideoAdDidPlayFinish: didFailWithError:

N/A

- rewardedVideoAdServerRewardDidSucceed: verify:

- (void)rewardedAd:(PAGRewardedAd *)rewardedAd userDidEarnReward:(PAGRewardModel *)rewardModel;

- rewardedVideoAdServerRewardDidFail:

N/A

- rewardedVideoAdServerRewardDidFail: error:

- (void)rewardedAd:(PAGRewardedAd *)rewardedAd userEarnRewardFailWithError:(NSError *)error;

- rewardedVideoAdDidClickSkip:

N/A

- rewardedVideoAdCallback: withType:

N/A



OpenAd

4500

4600

BUAppOpenAd

PAGLAppOpenAd

@property (nonatomic, weak, nullable) id<BUAppOpenAdDelegate> delegate;

@property (nonatomic, weak, nullable) id<PAGLAppOpenAdDelegate> delegate;

- initWithSlot:

N/A

- loadOpenAdWithTimeout:completionHandler:

+ (void)loadAdWithSlotID:(NSString *)slotIDrequest:(PAGOpenRequest *)requestcompletionHandler:(PAGAppOpenADLoadCompletionHandler)completionHandler;

- presentFromRootViewController:

- (void)presentFromRootViewController:(UIViewController *)rootViewController;





4500

4600

BUAppOpenAdDelegate

PAGLAppOpenAdDelegate

- didPresentForAppOpenAd:

- (void)adDidShow:(id<PAGAdProtocol>)ad;

- didClickForAppOpenAd:

- (void)adDidClick:(id<PAGAdProtocol>)ad;

- didClickSkipForAppOpenAd:

- (void)adDidDismiss:(id<PAGAdProtocol>)ad;

- countdownToZeroForAppOpenAd: