新しいSDK Initialization API
AppLovin iOS SDK 12.3.1では、新しいSDK Initialization APIのセットが導入されました。 これにより、SDKを初期化する従来の方法は非推奨となりました。 新しいAPIは、SDKを初期化するためのわかりやすく整理された方法を提供します。従来のAPIで発生していた問題にも対応しています。
Create the SDK Initialization Configuration
SDKを初期化する前に、アプリデリゲートのapplication:applicationDidFinishLaunching:
メソッドで、SDKの初期化構成オブジェクトを作成します。
この設定オブジェクトでは、SDKが初期化時に使用するプロパティを設定できます。
これらの初期化プロパティは不変ですが、ALSdkSettings
はアプリのライフサイクル中に変更可能なプロパティを含んでいます。
// Create the initialization configurationALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
builder.mediationProvider = ALMediationProviderMAX;
// Perform any additional configuration/setting changes}];
// Create the initialization configurationlet initConfig = ALSdkInitializationConfiguration(sdkKey: "«SDK-key»") { builder in
builder.mediationProvider = ALMediationProviderMAX
// Perform any additional configuration/setting changes}
MAX SDKを初期化
初期化構成オブジェクトを使用してAppLovin SDKを初期化します。 これをスタートアップ時に行ってください。 これにより、SDKがメディエーションネットワークの広告をキャッシュする時間を最大化し、ユーザー体験の向上につながります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ // Create the initialization configuration ALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) { builder.mediationProvider = ALMediationProviderMAX; }];
// Initialize the SDK with the configuration [[ALSdk shared] initializeWithConfiguration: initConfig completionHandler:^(ALSdkConfiguration *sdkConfig) { // Start loading ads }]; ⋮
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool{ let initConfig = ALSdkInitializationConfiguration(sdkKey: "«SDK-key»") { builder in builder.mediationProvider = ALMediationProviderMAX }
// Initialize the SDK with the configuration ALSdk.shared().initialize(with: initConfig) { sdkConfig in // Start loading ads } ⋮
例
新しいAPIを呼び出す連携の例を以下に示します。 また、デモアプリのこのコミットも参照してください。こちらでは、新APIへの移行が示されています。
// Create the initialization configurationALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) { builder.mediationProvider = ALMediationProviderMAX; builder.segmentCollection = [MASegmentCollection segmentCollectionWithBuilderBlock:^(MASegmentCollectionBuilder *builder) { [builder addSegment: [[MASegment alloc] initWithKey: @(849) values: @[@(1), @(3)]]]; }];}];
// Configure the SDK settings if needed before or after SDK initialization.ALSdkSettings *settings = [ALSdk shared].settings;settings.userIdentifier = @"«user-ID»";[settings setExtraParameterForKey: @"uid2_token" value: @"«token-value»"];
// Note: you may also set these values in your Info.plistsettings.termsAndPrivacyPolicyFlowSettings.enabled = YES;settings.termsAndPrivacyPolicyFlowSettings.termsOfServiceURL = [NSURL URLWithString: @"«https://your-company-name.com/terms-of-service»"];settings.termsAndPrivacyPolicyFlowSettings.privacyPolicyURL = [NSURL URLWithString: @"«https://your-company-name.com/privacy-policy»"];
// Initialize the SDK with the configuration[[ALSdk shared] initializeWithConfiguration: initConfig completionHandler:^(ALSdkConfiguration *sdkConfig) { // Start loading ads}];
// Create the initialization configurationlet initConfig = ALSdkInitializationConfiguration(sdkKey: "«SDK-key»") { builder in builder.mediationProvider = ALMediationProviderMAX builder.segmentCollection = MASegmentCollection { segmentCollectionBuilder in segmentCollectionBuilder.add(MASegment(key: 849, values: [1, 3])) }}
// Configure the SDK settings if needed before or after SDK initialization.let settings = ALSdk.shared().settingssettings.userIdentifier = "«user-ID»"settings.setExtraParameterForKey("uid2_token", value: "«token-value»")
// Note: you may also set these values in your Info.plistsettings.termsAndPrivacyPolicyFlowSettings.isEnabled = truesettings.termsAndPrivacyPolicyFlowSettings.termsOfServiceURL = URL(string: "«https://your-company-name.com/terms-of-service»")settings.termsAndPrivacyPolicyFlowSettings.privacyPolicyURL = URL(string: "«https://your-company-name.com/privacy-policy»")
// Initialize the SDK with the configurationALSdk.shared().initialize(with: initConfig) { sdkConfig in // Start loading ads}