123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- //
- // ALSdk.h
- // AppLovinSDK
- //
- // Created by Basil Shikin on 2/1/12.
- // Copyright © 2020 AppLovin Corporation. All rights reserved.
- //
- @class ALAdService;
- @class ALCMPService;
- @class ALEventService;
- @class ALSdkConfiguration;
- @class ALSdkInitializationConfiguration;
- @class ALSdkSettings;
- @class ALTargetingData;
- @class ALUserSegment;
- @class MAMediatedNetworkInfo;
- NS_ASSUME_NONNULL_BEGIN
- /**
- * This is a base class for the AppLovin iOS SDK.
- */
- @interface ALSdk : NSObject
- #pragma mark - High Level SDK Properties
- /**
- * The current version of the SDK. The value is in the format of "<var>Major</var>.<var>Minor</var>.<var>Revision</var>".
- */
- @property (class, nonatomic, copy, readonly) NSString *version;
- /**
- * The current version of the SDK in numeric format.
- */
- @property (class, nonatomic, assign, readonly) NSUInteger versionCode;
- /**
- * This SDK’s SDK key.
- */
- @property (nonatomic, copy, readonly) NSString *sdkKey;
- /**
- * This SDK’s SDK settings.
- */
- @property (nonatomic, strong, readonly) ALSdkSettings *settings;
- /**
- * The SDK configuration object that the SDK creates when you initialize the SDK.
- */
- @property (nonatomic, strong, readonly) ALSdkConfiguration *configuration;
- /**
- * @deprecated This property has been moved to @c ALSdkSettings and will be removed in a future SDK version.
- */
- @property (nonatomic, copy, nullable) NSString *userIdentifier __deprecated_msg("This property has been moved to @c ALSdkSettings and will be removed in a future SDK version.");
- /**
- * A user segment allows AppLovin to serve ads by using custom-defined rules that are based on which segment the user is in. The user segment is a custom string of 32 alphanumeric characters or less.
- */
- @property (nonatomic, strong, readonly, nullable) ALUserSegment *userSegment;
- /**
- * A class which allows you to send any demographic or interest-based targeting data.
- */
- @property (nonatomic, strong, readonly, nullable) ALTargetingData *targetingData;
- #pragma mark - SDK Services
- /**
- * The ad service, which loads and displays ads from AppLovin servers.
- */
- @property (nonatomic, strong, readonly) ALAdService *adService;
- /**
- * The AppLovin event service, which tracks post-install user events.
- *
- * @return Event service. Guaranteed not to be @c NULL.
- */
- @property (nonatomic, strong, readonly) ALEventService *eventService;
- /**
- * The CMP service, which provides direct APIs for interfacing with the Google-certified CMP installed, if any.
- *
- * @return CMP service. Guaranteed not to be @c NULL.
- */
- @property (nonatomic, strong, readonly) ALCMPService *cmpService;
- #pragma mark - MAX
- /**
- * The mediation provider. Set this either by using one of the provided strings in ALMediationProvider.h, or your own string if you do not find an applicable one there.
- *
- * @deprecated This property has been moved to @c ALSdkInitializationConfiguration and will be removed in a future SDK version.
- */
- @property (nonatomic, copy, nullable) NSString *mediationProvider __deprecated_msg("This setter has been moved to @c ALSdkInitializationConfiguration and will be removed in a future SDK version.");
- /**
- * The list of available mediation networks, as an array of @c MAMediatedNetworkInfo objects.
- */
- @property (nonatomic, strong, readonly) NSArray<MAMediatedNetworkInfo *> *availableMediatedNetworks;
- /**
- * Present the mediation debugger UI.
- * This debugger tool provides the status of your integration for each third-party ad network.
- *
- * @see <a href="https://dash.applovin.com/documentation/mediation/ios/testing-networks/mediation-debugger">MAX Integration Guide ⇒ iOS ⇒ Testing Networks ⇒ Mediation Debugger</a>
- */
- - (void)showMediationDebugger;
- /**
- * Present the mediation debugger UI.
- * This debugger tool provides the status of your integration for each third-party ad network.
- *
- * @see <a href="https://dash.applovin.com/documentation/mediation/ios/testing-networks/mediation-debugger">MAX Integration Guide ⇒ iOS ⇒ Testing Networks ⇒ Mediation Debugger</a>
- *
- * @param amazonAdSizes A map of the MAX Ad Unit ID to Amazon Publisher Services' @c DTBAdSize.
- */
- - (void)showMediationDebuggerWithAmazonAdSize:(nullable NSDictionary<NSString *, NSArray/*DTBAdSize*/ *> *)amazonAdSizes;
- /**
- * Present the Creative Debugger UI.
- * This debugger tool provides information for recently displayed ads.
- */
- - (void)showCreativeDebugger;
- #pragma mark - SDK Initialization
- /**
- * The sort of callback that the SDK calls when it finishes initializing.
- */
- typedef void (^ALSdkInitializationCompletionHandler)(ALSdkConfiguration *configuration);
- /**
- * Whether the SDK has fully been initialized without errors and the completion callback called.
- */
- @property (nonatomic, assign, readonly, getter=isInitialized) BOOL initialized;
- /**
- * Gets a shared instance of AppLovin SDK.
- *
- * @return The shared instance of AppLovin’s SDK, or @c nil (indicating an error) if the SDK key is not set in the application’s @code Info.plist @endcode.
- */
- + (ALSdk *)shared;
- /**
- * Initializes the SDK with the given initialization configuration and completion block.
- *
- * The SDK invokes the callback on the main thread.
- *
- * @param initializationConfiguration The configuration to initialize the SDK with.
- * @param completionHandler The callback that the SDK will call when the SDK finishes initializing.
- *
- * @see <a href="https://dash.applovin.com/documentation/mediation/ios/getting-started/integration#initialize-the-sdk">MAX Integration Guide ⇒ iOS ⇒ Integration ⇒ Initialize the SDK</a>
- */
- - (void)initializeWithConfiguration:(ALSdkInitializationConfiguration *)initializationConfiguration completionHandler:(nullable ALSdkInitializationCompletionHandler)completionHandler;
- - (instancetype)init __attribute__((unavailable("Use +[ALSdk shared].")));
- + (instancetype)new NS_UNAVAILABLE;
- @end
- @interface ALSdk (Deprecated)
- - (void)setPluginVersion:(NSString *)pluginVersion __deprecated_msg("This method is deprecated and will be removed in a future SDK version. (see ALSdkInitializationConfiguration.pluginVersion)");
- /**
- * Initializes the SDK.
- */
- - (void)initializeSdk __deprecated_msg("This method is deprecated and will be removed in a future SDK version. Please use `-[[ALSdk shared] initializeWithConfiguration:completionHandler:]` instead.");
- /**
- * Initializes the SDK with a given completion block.
- *
- * The SDK invokes the callback on the main thread.
- *
- * @param completionHandler The callback that the SDK will call when the SDK finishes initializing.
- *
- * @see <a href="https://dash.applovin.com/documentation/mediation/ios/getting-started/integration#initialize-the-sdk">MAX Integration Guide ⇒ iOS ⇒ Integration ⇒ Initialize the SDK</a>
- */
- - (void)initializeSdkWithCompletionHandler:(nullable ALSdkInitializationCompletionHandler)completionHandler __deprecated_msg("This method is deprecated and will be removed in a future SDK version. Please use `-[[ALSdk shared] initializeWithConfiguration:completionHandler:]` instead.");
- /**
- * Initializes the default instance of AppLovin SDK.
- *
- * @warning Make sure your SDK key is set in the application’s @code Info.plist @endcode under the property @c AppLovinSdkKey.
- *
- * @see <a href="https://dash.applovin.com/documentation/mediation/ios/getting-started/integration#initialize-the-sdk">MAX Integration Guide ⇒ iOS ⇒ Integration ⇒ Initialize the SDK</a>
- */
- + (void)initializeSdk __deprecated_msg("This method is deprecated and will be removed in a future SDK version. Please use `-[[ALSdk shared] initializeWithConfiguration:completionHandler:]` instead.");
- /**
- * Initializes the default instance of AppLovin SDK.
- *
- * @warning Make sure your SDK key is set in the application’s @code Info.plist @endcode under the property @c AppLovinSdkKey.
- *
- * @param completionHandler The callback that the SDK will run on the main queue when the SDK finishes initializing.
- *
- * @see <a href="https://dash.applovin.com/documentation/mediation/ios/getting-started/integration#initialize-the-sdk">MAX Integration Guide ⇒ iOS ⇒ Integration ⇒ Initialize the SDK</a>
- */
- + (void)initializeSdkWithCompletionHandler:(nullable ALSdkInitializationCompletionHandler)completionHandler __deprecated_msg("This method is deprecated and will be removed in a future SDK version. Please use `-[[ALSdk shared] initializeWithConfiguration:completionHandler:]` instead.");
- /**
- * Gets a shared instance of AppLovin SDK.
- *
- * @warning Make sure your SDK key is set in the application’s @code Info.plist @endcode under the property @c AppLovinSdkKey.
- *
- * @param settings An SDK settings object.
- *
- * @return The shared instance of AppLovin’s SDK, or @c nil (indicating an error) if the SDK key is not set in the application’s @code Info.plist @endcode.
- */
- + (nullable ALSdk *)sharedWithSettings:(ALSdkSettings *)settings __deprecated_msg("This method is deprecated and will be removed in a future SDK version. Please use `+[ALSdk shared]` and initialize with `-[[ALSdk shared] initializeWithConfiguration:completionHandler:]` as soon as possible");
- /**
- * Gets an instance of AppLovin SDK by using an SDK key.
- *
- * @param key SDK key to use for the instance of the AppLovin SDK.
- *
- * @return An instance of AppLovin’s SDK, or @c nil (indicating an error) if @c key is not set.
- */
- + (nullable ALSdk *)sharedWithKey:(NSString *)key __deprecated_msg("This method is deprecated and will be removed in a future SDK version. Please use `+[ALSdk shared]` and initialize with `-[[ALSdk shared] initializeWithConfiguration:completionHandler:]` as soon as possible");
- /**
- * Gets an instance of AppLovin SDK by using an SDK key and providing SDK settings.
- *
- * @param key SDK key to use for the instance of the AppLovin SDK.
- * @param settings An SDK settings object.
- *
- * @return An instance of AppLovin’s SDK, or @c nil (indicating an error) if @c key is not set.
- */
- + (nullable ALSdk *)sharedWithKey:(NSString *)key settings:(ALSdkSettings *)settings __deprecated_msg("This method is deprecated and will be removed in a future SDK version. Please use `+[ALSdk shared]` and initialize with `-[[ALSdk shared] initializeWithConfiguration:completionHandler:]` as soon as possible");
- @end
- NS_ASSUME_NONNULL_END
|