Upgrade guide
Upgrading The iOS SDK From 3.0 To 3.2.1
New version of StackConsentManager
has been released. If you manually managed consent window, please visit page GDPR and CCPA
+updateUserConsentGDPR
is now deprecated and will be removed in the next release
+updateUserConsentCCPA
is now deprecated and will be removed in the next release
+updateConsentReport
is now deprecated and will be removed in the next release
Cocoa Pods
-
Update your
Podfile
. See pod versions in CocoaPods integration guide# pod 'Appodeal', '~> 3.0'
pod 'Appodeal', '~> 3.2.1'
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project.
- Add libc++, libresolv, libz, libc++abi frameworks to Framework, Libraries, and Embedded Content in General settings of project
Upgrading The iOS SDK From 3.0 To 3.2
APDStackAnalyticsAdapter
is deprecated. Please remove it from your project.
The next adapters have been added:
-
APDBidonAdapter
- adapter for Bidon SDK used as Post Bid engine based on mixed waterfall and bidding mediation model. This SDK uses own adapters for ad networks. Make sure that you are added following modules into your project:BidonAdapterAppLovin
BidonAdapterBidMachine
BidonAdapterBigoAds
BidonAdapterDTExchange
BidonAdapterGoogleMobileAds
BidonAdapterInMobi
BidonAdapterMetaAudienceNetwork
BidonAdapterMintegral
BidonAdapterUnityAds
BidonAdapterVungle
-
APDBigoAdsAdapter
- adapter for BigoAds -
APDDTExchangeAdapter
- adapter for DTExchange -
APDInMobiAdapter
- adapter for InMobi -
APDMintegralAdapter
- adapter for Mintegral
Cocoa Pods
-
Update your
Podfile
. See pod versions in CocoaPods integration guide# pod 'Appodeal', '~> 3.0'
pod 'Appodeal', '~> 3.2'
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project.
- Add libc++, libresolv, libz, libc++abi frameworks to Framework, Libraries, and Embedded Content in General settings of project
💥 Breaking changes for AdMob Bidding
AdMob Bidding is now available.
Download our newest version of AdMob Sync tool from this page and perform sync.
You can read more about AdMob Sync in our guide.
Upgrading The iOS SDK From 2.11 To 3.0
Cocoa Pods
-
Update your
Podfile
. See pod versions in CocoaPods integration guide# pod 'Appodeal', '~> 2.11'
pod 'Appodeal', '~> 3.0'
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project.
Code Changes
-
Initilization with consent manager. Since Appodeal SDK 3.0.0 Stack Consent Manager is embdedded in Appodeal SDK core and synchronising by default. Removes all consent manager related logic from project. Call initialization method in your app delegate
-application:didFinishLaunchingWithOptions:
method:- Swift
- Objective C
@UIApplicationMain
final class MyAppDelegate: UIResponder, UIApplicationDelegate, AppodealInitializationDelegate {
func application(
_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil ) -> Bool {
/// Any pre-initialization
/// app specific logic
Appodeal.initialize(
withApiKey: "APP_KEY",
types: .interstitial
)
return true
}
}@interface MyAppDelegate () <AppodealInitializationDelegate>
@end
@implementation MyAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/// Any pre-initialization
/// app specific logic
[Appodeal initializeWithApiKey:@"APP KEY" types:AppodealAdTypeInterstitial];
return YES;
}
@end
If you still want to use your own implementation of Stack Consent Manager integration, you are able to keep it. In this case Appodeal SDK will skip consent synchronisation process during initialization and will use given consent report.
-
Initilization without consent manager. You don't need to pass boolean flag into initialization method. Instead of this approach call the one of
+ updateUserConsentGDPR:
or+ updateUserConsentCCPA:
before initialization. In case the SDK will have at least one non unknown user consent for GDPR or CCPA zone it will skip consent synchronisation process during initialization.- Swift
- Objective C
@UIApplicationMain
final class MyAppDelegate: UIResponder, UIApplicationDelegate, AppodealInitializationDelegate {
func application(
_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
// App specific logic to dertmine regulation zone and user consent
requestUserConsent { zone, userConsent in
switch (zone, userConsent) {
case .GDPR, true: Appodeal.updateUserConsentGDPR(.personalized)
case .GDPR, false: Appodeal.updateUserConsentGDPR(.nonPersonalized)
case .CCPA, true: Appodeal.updateUserConsentCCPA(.optIn)
case .CCPA, false: Appodeal.updateUserConsentCCPA(.optOut)
}
Appodeal.initialize(
withApiKey: "APP_KEY",
types: .interstitial
)
}
return true
}
}@interface MyAppDelegate () <AppodealInitializationDelegate>
@end
@implementation MyAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// App specific logic to dertmine regulation zone and user consent
[self requestUserCosent:^(Zone zone, BOOL userConsent) {
switch (zone) {
case GDPR: [Appodeal updateUserConsentGDPR:userConsent ? APDGDPRUserConsentPersonalized : APDGDPRUserConsentNonPersonalized]; break;
case CCPA: [Appodeal updateUserConsentCCPA:userConsent ? APDCCPAUserConsentOptIn : APDCCPAUserConsentOptOut]; break;
default: break;
}
[Appodeal initializeWithApiKey:@"APP KEY" types:AppodealAdTypeInterstitial];
}];
return YES;
}
@end
-
User data. If your app is setting user age or user gender in Appodeal SDK, you will need to removes current implementation and use the next code.
- Swift
- Objective C
Appodeal.setCustomStateValue(AppodealUserGender.male.rawValue, forKey: kAppodealUserGenderKey)
Appodeal.setCustomStateValue(40, forKey: kAppodealUserAgeKey)[Appodeal setCustomStateValue:AppodealUserGenderMale forKey: kAppodealUserGenderKey];
[Appodeal setCustomStateValue:40 forKey: kAppodealUserAgeKey];
Requirements Changes
- Xcode 14.3 or higher is required
Upgrading The iOS SDK From 2.10 To 2.11
Cocoa Pods
-
Update your
Podfile
. See pod versions in CocoaPods integration guide# pod 'Appodeal', '~> 2.10.0'
pod 'Appodeal', '~> 2.11.0'
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project
Requirements Changes
- Xcode 13 or higher is required
- iOS 10 or higher is required
Upgrading The iOS SDK From 2.7 To 2.8
Cocoa Pods
-
Update your
Podfile
. See pod versions in CocoaPods integration guide# pod 'Appodeal', '~> 2.7.0'
pod 'Appodeal', '~> 2.8.0'
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project.
Requirements Changes
- Xcode 12 or higher is required
- iOS 10 or higher is required
Upgrading The iOS SDK From 2.5 To 2.6
Cocoa Pods
-
Update your
Podfile
. See pod versions in CocoaPods integration guide# pod 'Appodeal', '~> 2.5.0'
pod 'Appodeal', '~> 2.6.0'
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project.
Requirements Changes
- If your project is a pure Objective-C project, you should add an
empty Swift file. For example
Dummy.swift
.
Upgrading The iOS SDK From 2.5.12 To 2.5.13
Code Changes
- You can use the
+ updateConsent:
method to provide the GDPR user consent to ad networks in Appodeal SDK anywhere in your application. Appodeal SDK doesn't keep the GDPR user consent between sessions, that means you have to provide consent every time, otherwise, Appodeal SDK uses default or server value. By default, consent value is true.
Upgrading The iOS SDK From 2.5.11 To 2.5.12
Cocoa Pods
-
Update your
Podfile
. See pod versions in CocoaPods integration guide# pod 'Appodeal', '~> 2.5.11'
pod 'Appodeal', '~> 2.5.12'
pod 'Appodeal/AppodealAdExchangeAdapter', '2.5.12'
pod 'Appodeal/IronSourceAdapter', '2.5.12'
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project.
Upgrading The iOS SDK From 2.5.8 To 2.5.9
-
Update your
Podfile
. See pod versions in CocoaPods integration guide -
If you use only some parts of Appodeal SDK (ad types), pod file updating process will be the same. For example: from
pod 'Appodeal/Banner', '2.5.8'
topod 'Appodeal/Banner', '2.5.9'
and deployment target stays the same as for 2.5.8 (it should be 9.0).
Manual
- Download the latest version of Appodeal.zip
- Add all downloaded content to Framework, Libraries, and Embedded Content in General settings of project.
Requirements Changes
- Add your GADApplicationIdentifier into info.plist file
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>