From 40838a2f0517d0a8370c7bba7bd88167459d2710 Mon Sep 17 00:00:00 2001 From: lpw Date: Tue, 15 Feb 2022 15:38:31 +0800 Subject: [PATCH] 3.9.7 --- frameworks/Chartboost.framework/Versions/A/Headers/Chartboost.h | 448 ++++++++++--------------------------------------------- 1 files changed, 82 insertions(+), 366 deletions(-) diff --git a/frameworks/Chartboost.framework/Versions/A/Headers/Chartboost.h b/frameworks/Chartboost.framework/Versions/A/Headers/Chartboost.h index 8f2705d..deb5be5 100644 --- a/frameworks/Chartboost.framework/Versions/A/Headers/Chartboost.h +++ b/frameworks/Chartboost.framework/Versions/A/Headers/Chartboost.h @@ -8,9 +8,13 @@ #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "ChartboostDelegate.h" +#import "CHBDataUseConsent.h" +#import "CHBInterstitial.h" +#import "CHBRewarded.h" +#import "CHBBanner.h" @class CBInPlay; + @interface Chartboost : NSObject -#pragma mark - Main Chartboost API /*! @abstract @@ -20,16 +24,58 @@ @param appSignature The Chartboost application signature for this application. - @param delegate The delegate instance to receive Chartboost SDK callbacks. + @param completion A completion block to be executed when the SDK finishes initializing. + It takes a boolean parameter which indicates if the initialization succeeded or not. @discussion This method must be executed before any other Chartboost SDK methods can be used. Once executed this call will also controll session tracking and background tasks used by Chartboost. */ -+ (void)startWithAppId:(NSString*)appId - appSignature:(NSString*)appSignature - delegate:(id<ChartboostDelegate>)delegate; ++ (void)startWithAppId:(NSString*)appId appSignature:(NSString*)appSignature completion:(void (^)(BOOL))completion; +/*! + @brief Use to restrict Chartboost's ability to collect personal data from the user. + @discussion This method can be called multiple times to set the consent for different privacy standards. + If a consent has already been set for a privacy standard, adding a consent object for that standard will overwrite the previous value. + + This method should be called before starting the Chartboost SDK with startWithAppId:appSignature:completion: if possible. + The added consents are persisted, so you may just call this when the consent status needs to be updated. +*/ ++ (void)addDataUseConsent:(CHBDataUseConsent *)consent NS_SWIFT_NAME(addDataUseConsent(_:)); + +/*! + @brief Clears the previously added consent for the desired privacy standard. + @param privacyStandard The privacy standard for which you want to clear the consent. + @discussion Chartboost persists the added consents, so you'll need to call this method if you want to withdraw a previously added consent. + If no consent was available for the indicated standard nothing will happen. +*/ ++ (void)clearDataUseConsentForPrivacyStandard:(CHBPrivacyStandard)privacyStandard NS_SWIFT_NAME(clearDataUseConsent(for:)); + +/*! + @brief Returns the current consent status for the desired privacy standard. + @param privacyStandard The privacy standard for which you want to obtain the consent status. + @returns A CHBDataUseConsent subclass (the same one used to set the consent in addDataUseConsent:) or nil if no consent status is currently available. + @discussion Use this to check the current consent status, either set by a call to addDataUseConsent: or persisted from a call to the same method on a previous app run. You may need to cast the returned object to the proper CHBDataUseConsent subclass in order to read its consent value. + + For example, to check if a consent is not set for GDPR: + @code + // Obj-C + if (![Chartboost dataUseConsentForPrivacyStandard:CHBPrivacyStandardGDPR]) { ... } + // Swift + if Chartboost.dataUseConsent(for: .GDPR) == nil { ... } + @endcode + + To check the specific consent status for GDPR: + @code + // Obj-C + CHBGDPRDataUseConsent *gdpr = [Chartboost dataUseConsentForPrivacyStandard:CHBPrivacyStandardGDPR]; + if (gdpr && gdpr.consent == CHBGDPRConsentNonBehavioral) { ... } + // Swift + let gdpr = Chartboost.dataUseConsent(for: .GDPR) as? CHBDataUseConsent.GDPR + if gdpr?.consent == .nonBehavioral { ... } + @endcode + */ ++ (__kindof CHBDataUseConsent *)dataUseConsentForPrivacyStandard:(CHBPrivacyStandard)privacyStandard NS_SWIFT_NAME(dataUseConsent(for:)); /*! @abstract @@ -50,374 +96,44 @@ /*! @abstract - Check to see if any views are visible - - @return YES if there is any view visible - - @discussion This method can be used to check if any chartboost ad's are visible on the app. - */ -+ (BOOL)isAnyViewVisible; - -/*! - @abstract - Determine if a locally cached interstitial exists for the given CBLocation. - - @param location The location for the Chartboost impression type. - - @return YES if there a locally cached interstitial, and NO if not. - - @discussion A return value of YES here indicates that the corresponding - showInterstitial:(CBLocation)location method will present without making - additional Chartboost API server requests to fetch data to present. - */ -+ (BOOL)hasInterstitial:(CBLocation)location; -/*! - @abstract - Determine if a locally cached rewarded video exists for the given CBLocation. - - @param location The location for the Chartboost impression type. - - @return YES if there a locally cached rewarded video, and NO if not. - - @discussion A return value of YES here indicates that the corresponding - showRewardedVideo:(CBLocation)location method will present without making - additional Chartboost API server requests to fetch data to present. - */ -+ (BOOL)hasRewardedVideo:(CBLocation)location; -/*! - @abstract - Determine if a locally cached InPlay object exists for the given CBLocation. - - @param location The location for the Chartboost impression type. - - @return YES if there a locally cached InPlay object, and NO if not. - - @discussion A return value of YES here indicates that the corresponding - getInPlay:(CBLocation)location method will return an InPlay object without making - additional Chartboost API server requests to fetch data to present. - */ -+ (BOOL)hasInPlay:(CBLocation)location; - -/*! - @abstract - Cache an interstitial at the given CBLocation. - - @param location The location for the Chartboost impression type. - - @discussion This method will first check if there is a locally cached interstitial - for the given CBLocation and, if found, will do nothing. If no locally cached data exists - the method will attempt to fetch data from the Chartboost API server. - */ -+ (void)cacheInterstitial:(CBLocation)location; -/*! - @abstract - Present an interstitial for the given CBLocation. - - @param location The location for the Chartboost impression type. - - @discussion This method will first check if there is a locally cached interstitial - for the given CBLocation and, if found, will present using the locally cached data. - If no locally cached data exists the method will attempt to fetch data from the - Chartboost API server and present it. If the Chartboost API server is unavailable - or there is no eligible interstitial to present in the given CBLocation this method - is a no-op. - */ -+ (void)showInterstitial:(CBLocation)location; - -/*! - @abstract - Cache a rewarded video at the given CBLocation. - - @param location The location for the Chartboost impression type. - - @discussion This method will first check if there is a locally cached rewarded video - for the given CBLocation and, if found, will do nothing. If no locally cached data exists - the method will attempt to fetch data from the Chartboost API server. - */ -+ (void)cacheRewardedVideo:(CBLocation)location; - - - -/*! - @abstract - Present a rewarded video for the given CBLocation. - - @param location The location for the Chartboost impression type. - - @discussion This method will first check if there is a locally cached rewarded video - for the given CBLocation and, if found, will present it using the locally cached data. - If no locally cached data exists the method will attempt to fetch data from the - Chartboost API server and present it. If the Chartboost API server is unavailable - or there is no eligible rewarded video to present in the given CBLocation this method - is a no-op. - */ -+ (void)showRewardedVideo:(CBLocation)location; -/*! - @abstract - Cache a number of InPlay objects for the given CBLocation. - - @param location The location for the Chartboost impression type. - - @discussion This method will first check if there is a locally cached InPlay object set - for the given CBLocation and, if found, will do nothing. If no locally cached data exists - the method will attempt to fetch data from the Chartboost API server. - */ -+ (void)cacheInPlay:(CBLocation)location; - - -/*! - @abstract - Return an InPlay object for the given CBLocation. - - @param location The location for the Chartboost impression type. - - @return CBInPlay object if one exists in the InPlay cache or nil if one is not yet available. - - @discussion This method will first check if there is a locally cached InPlay object - for the given CBLocation and, if found, will return the object using the locally cached data. - If no locally cached data exists the method will attempt to fetch data from the - Chartboost API server. If the Chartboost API server is unavailable - or there is no eligible InPlay object to present in the given CBLocation this method - is a no-op. - */ -+ (CBInPlay *)getInPlay:(CBLocation)location; - -#pragma mark - Advanced Configuration & Use -/*! - @abstract - Set the Chartboost Delegate - - @param del The new Chartboost Delegate for the sharedChartboost instance - - @discussion This doesn't need to be called when calling startWithAppID, only later - to switch the delegate object. - */ -+ (void)setDelegate:(id<ChartboostDelegate>)del; - -/*! - @abstract - Confirm if an age gate passed or failed. When specified Chartboost will wait for - this call before showing the IOS App Store. - - @param pass The result of successfully passing the age confirmation. - - @discussion If you have configured your Chartboost experience to use the age gate feature - then this method must be executed after the user has confirmed their age. The Chartboost SDK - will halt until this is done. - */ -+ (void)didPassAgeGate:(BOOL)pass; - -/*! - @abstract - Opens a "deep link" URL for a Chartboost Custom Scheme. - - @param url The URL to open. - - @param sourceApplication The application that originated the action. - - @return YES if Chartboost SDK is capable of handling the URL and does so, and NO if not. - - @discussion If you have configured a custom scheme and provided "deep link" URLs that the - Chartboost SDK is capable of handling you should use this method in your ApplicationDelegate - class methods that handle custom URL schemes. - */ -+ (BOOL)handleOpenURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication; - -/*! - @abstract - Opens a "deep link" URL for a Chartboost Custom Scheme. - - @param url The URL to open. - - @param sourceApplication The application that originated the action. - - @param annotation The provided annotation. - - @return YES if Chartboost SDK is capable of handling the URL and does so, and NO if not. - - @discussion If you have configured a custom scheme and provided "deep link" URLs that the - Chartboost SDK is capable of handling you should use this method in your ApplicationDelegate - class methods that handle custom URL schemes. - */ -+ (BOOL)handleOpenURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication - annotation:(id)annotation; - -/*! - @abstract - Set a custom identifier to send in the POST body for all Chartboost API server requests. - - @param customId The identifier to send with all Chartboost API server requests. - - @discussion Use this method to set a custom identifier that can be used later in the Chartboost - dashboard to group information by. - */ -+ (void)setCustomId:(NSString *)customId; - -/*! - @abstract - Get the current custom identifier being sent in the POST body for all Chartboost API server requests. - - @return The identifier being sent with all Chartboost API server requests. - - @discussion Use this method to get the custom identifier that can be used later in the Chartboost - dashboard to group information by. - */ -+ (NSString *)getCustomId; - -/*! - @abstract - Set a custom version to append to the POST body of every request. This is useful for analytics and provides chartboost with important information. - example: [Chartboost setChartboostWrapperVersion:@"6.4.6"]; - - @param chartboostWrapperVersion The version sent as a string. - - @discussion This is an internal method used via Chartboost's Unity and Corona SDKs - to track their usage. - */ -+ (void)setChartboostWrapperVersion:(NSString*)chartboostWrapperVersion; - -/*! - @abstract - Set a custom framework suffix to append to the POST headers field. - example setFramework:Unity withVersion:4.6, setFrameworkVersion:5.2.1 - - @param framework The suffix to send with all Chartbooost API server requets. - @param version The platform version used for analytics. Example Unity should set Application.unityVersion - - @discussion This is an internal method used via Chartboost's Unity and Corona SDKs - to track their usage. - */ -+ (void)setFramework:(CBFramework)framework withVersion:(NSString *)version; - -/*! - @abstract - Set a custom mediation library to append to the POST body of every request. - example setMediation:CBMediationMoPub withVersion:@"3.8.0" - - @param library The constant for the name of the mediation library. - @param libraryVersion The version sent as a string. - - @discussion This is an internal method used by mediation partners to track their usage. - */ -+ (void)setMediation:(CBMediation)library withVersion:(NSString*)libraryVersion; - -/*! - @abstract - Decide if Chartboost SDK should show interstitials in the first session. - - @param shouldRequest YES if allowed to show interstitials in first session, NO otherwise. - - @discussion Set to control if Chartboost SDK can show interstitials in the first session. - The session count is controlled via the startWithAppId:appSignature:delegate: method in the Chartboost - class. - - Default is YES. - */ -+ (void)setShouldRequestInterstitialsInFirstSession:(BOOL)shouldRequest; - -/*! - @abstract - Decide if Chartboost SDK should block for an age gate. - - @param shouldPause YES if Chartboost should pause for an age gate, NO otherwise. - - @discussion Set to control if Chartboost SDK should block for an age gate. - - Default is NO. - */ -+ (void)setShouldPauseClickForConfirmation:(BOOL)shouldPause; - - -/*! - @abstract - Decide if Chartboost SDKK will attempt to fetch videos from the Chartboost API servers. - - @param shouldPrefetch YES if Chartboost should prefetch video content, NO otherwise. - - @discussion Set to control if Chartboost SDK control if videos should be prefetched. - - Default is YES. - */ -+ (void)setShouldPrefetchVideoContent:(BOOL)shouldPrefetch; - -/*! - @abstract - Set to enable and disable the auto cache feature (Enabled by default). - - @param shouldCache The param to enable or disable auto caching. - - @discussion If set to YES the Chartboost SDK will automatically attempt to cache an impression - once one has been consumed via a "show" call. If set to NO, it is the responsibility of the - developer to manage the caching behavior of Chartboost impressions. - */ -+ (void)setAutoCacheAds:(BOOL)shouldCache; - -/*! - @abstract - Get the current auto cache behavior (Enabled by default). - - @return YES if the auto cache is enabled, NO if it is not. - - @discussion If set to YES the Chartboost SDK will automatically attempt to cache an impression - once one has been consumed via a "show" call. If set to NO, it is the responsibility of the - developer to manage the caching behavior of Chartboost impressions. - */ -+ (BOOL)getAutoCacheAds; - -/*! - @abstract - Set to control how the fullscreen ad units should interact with the status bar. (CBStatusBarBehaviorIgnore by default). - - @param statusBarBehavior The param to set if fullscreen video should respect the status bar. - - @discussion See the enum value comments for descriptions on the values and their behavior. Only use this feature if your - application has the status bar enabled. - */ -+ (void)setStatusBarBehavior:(CBStatusBarBehavior)statusBarBehavior; - - -/*! - @abstract - returns YES if auto IAP tracking is enabled, NO if it isn't. - - @discussion Call to check if automatic tracking of in-app purchases is enabled. - The setting is controlled by the server. - */ -+ (BOOL)getAutoIAPTracking; - -/*! - @abstract Mute/unmute chartboost ads. @param mute YES all sounds, NO activates them. Default is NO @discussion default value is NO */ + (void)setMuted:(BOOL)mute; -/*! - @abstract - Set to restrict Chartboost's ability to collect personal data from the device. See CBPIDataUseConsent declaration for details - Note: This method should be called before starting the Chartboost SDK with startWithAppId:appSignature:delegate. - @param consent: set the consent level - @discussion Default value is Unknown - */ -+ (void)setPIDataUseConsent:(CBPIDataUseConsent)consent; - -/*! - @abstract - Get the current consent setting - */ -+ (CBPIDataUseConsent)getPIDataUseConsent; #pragma mark - Deprecated -+ (void)restrictDataCollection:(BOOL)shouldRestrict __attribute__((deprecated("Use setPIDataUseConsent:(CBPIDataUseConsent)consent instead"))); - -+ (BOOL)hasMoreApps:(CBLocation)location __attribute__((deprecated("This method is deprecated will always return false"))); -+ (void)showMoreApps:(CBLocation)location __attribute__((deprecated("This method is deprecated and is a no-op"))); -+ (void)showMoreApps:(UIViewController *)viewController - location:(CBLocation)location __attribute__((deprecated("This method is deprecated and is a no-op"))); -+ (void)setShouldDisplayLoadingViewForMoreApps:(BOOL)shouldDisplay __attribute__((deprecated("This method is deprecated and is a no-op"))); -+ (void)cacheMoreApps:(CBLocation)location __attribute__((deprecated("This method is deprecated and is a no-op"))); ++ (void)setStatusBarBehavior:(CBStatusBarBehavior)statusBarBehavior __attribute__((deprecated("This method is deprecated and is a no-op"))); ++ (void)setMediation:(CBMediation)library withVersion:(NSString*)libraryVersion DEPRECATED_MSG_ATTRIBUTE("Please use setMediation:withLibraryVersion:adapterVersion: instead."); ++ (void)cacheInPlay:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("This is a deprecated no-op method and will be removed in a future version."); ++ (BOOL)hasInPlay:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("This is a deprecated no-op method and will be removed in a future version."); ++ (CBInPlay *)getInPlay:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("This is a deprecated no-op method and will be removed in a future version."); ++ (void)startWithAppId:(NSString*)appId appSignature:(NSString*)appSignature delegate:(id<ChartboostDelegate>)delegate DEPRECATED_MSG_ATTRIBUTE("Please use +[Chartboost startWithAppId:appSignature:completion:] instead."); ++ (BOOL)isAnyViewVisible DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (BOOL)hasInterstitial:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBInterstitial isCached] instead."); ++ (BOOL)hasRewardedVideo:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBRewarded isCached] instead."); ++ (void)cacheInterstitial:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBInterstitial cache] instead."); ++ (void)showInterstitial:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBInterstitial showFromViewController:] instead."); ++ (void)cacheRewardedVideo:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBRewarded cache] instead."); ++ (void)showRewardedVideo:(CBLocation)location DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBRewarded showFromViewController:] instead."); ++ (void)setDelegate:(id<ChartboostDelegate>)del DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)didPassAgeGate:(BOOL)pass DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBAdDelegate shouldConfirmClick:confirmationHandler:] instead."); ++ (BOOL)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (BOOL)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)setShouldRequestInterstitialsInFirstSession:(BOOL)shouldRequest DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)setShouldPauseClickForConfirmation:(BOOL)shouldPause DEPRECATED_MSG_ATTRIBUTE("Please use -[CHBAdDelegate shouldConfirmClick:confirmationHandler:] instead."); ++ (void)setAutoCacheAds:(BOOL)shouldCache DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (BOOL)getAutoCacheAds DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)setMediation:(CBMediation)library withLibraryVersion:(NSString*)libraryVersion adapterVersion:(NSString*)adapterVersion DEPRECATED_MSG_ATTRIBUTE("Please use CHBMediation as specified in Chartboost+Mediation.h instead."); ++ (CBPIDataUseConsent)getPIDataUseConsent DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)setPIDataUseConsent:(CBPIDataUseConsent)consent DEPRECATED_MSG_ATTRIBUTE("Please use addDataUseConsent: passing a CHBDataUseConsent GDPR object instead."); +FOUNDATION_EXPORT BOOL ChartboostInitialized(const char* function) DEPRECATED_MSG_ATTRIBUTE("This function is deprecated and will be removed in a future version."); ++ (void)setCustomId:(NSString *)customId DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (NSString *)getCustomId DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)setChartboostWrapperVersion:(NSString*)chartboostWrapperVersion DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)setFramework:(CBFramework)framework withVersion:(NSString *)version DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (void)setShouldPrefetchVideoContent:(BOOL)shouldPrefetch DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); ++ (BOOL)getAutoIAPTracking DEPRECATED_MSG_ATTRIBUTE("This method is deprecated and will be removed in a future version."); @end -- Gitblit v1.8.0