diff --git a/BannerSample/BannerSample.xcodeproj/project.pbxproj b/BannerSample/BannerSample.xcodeproj/project.pbxproj
index 9917f57..a354fd5 100644
--- a/BannerSample/BannerSample.xcodeproj/project.pbxproj
+++ b/BannerSample/BannerSample.xcodeproj/project.pbxproj
@@ -490,6 +490,7 @@
DEVELOPMENT_TEAM = WZMMZ9FP6W;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = BannerSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -508,6 +509,7 @@
DEVELOPMENT_TEAM = WZMMZ9FP6W;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = BannerSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -527,6 +529,7 @@
DEVELOPMENT_TEAM = 867HB69W94;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = BannerSwiftSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -550,6 +553,7 @@
DEVELOPMENT_TEAM = 867HB69W94;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = BannerSwiftSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
diff --git a/BannerSample/BannerSample.xcworkspace/contents.xcworkspacedata b/BannerSample/BannerSample.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..37f5ee2
--- /dev/null
+++ b/BannerSample/BannerSample.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/BannerSample/BannerSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/BannerSample/BannerSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/BannerSample/BannerSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/BannerSample/BannerSample/AppDelegate.m b/BannerSample/BannerSample/AppDelegate.m
index da07463..98a42dd 100644
--- a/BannerSample/BannerSample/AppDelegate.m
+++ b/BannerSample/BannerSample/AppDelegate.m
@@ -5,10 +5,11 @@
// Copyright © 2016 InMobi. All rights reserved.
//
-@import InMobiSDK.IMSdk;
+@import InMobiSDK;
#ifndef INMOBI_ACCOUNT_ID
#define INMOBI_ACCOUNT_ID @"4028cb8b2c3a0b45012c406824e800ba"
+#define US_PRIVACY_STRING @""
#endif
#import "AppDelegate.h"
@@ -28,7 +29,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
* For EU Region use the following init api to pass user consent for data collection, for GDPR Complaince.
*/
NSMutableDictionary *consentdict=[[NSMutableDictionary alloc]init];
- [consentdict setObject:@"true" forKey:IM_GDPR_CONSENT_AVAILABLE];
+ [consentdict setObject:@"true" forKey:IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE];
void (^completionBlock)(NSError*) = ^( NSError* _Nullable error) {
if (error) {
NSLog(@"SDK Initialization Error - %@", error.description);
@@ -43,7 +44,11 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
/*
* Enable logging for better debuggability. Please turn off the logs before submitting your App to the AppStore
*/
- [IMSdk setLogLevel:kIMSDKLogLevelDebug];
+ [IMSdk setLogLevel:IMSDKLogLevelDebug];
+
+ // Use the US Privacy Laws APIs to comply with privacy regulations
+ [IMPrivacyCompliance setDoNotSell:YES];
+ [IMPrivacyCompliance setUSPrivacyString:US_PRIVACY_STRING];
return YES;
}
diff --git a/BannerSample/BannerSample/Base.lproj/Main.storyboard b/BannerSample/BannerSample/Base.lproj/Main.storyboard
index 2fd2559..68e2082 100644
--- a/BannerSample/BannerSample/Base.lproj/Main.storyboard
+++ b/BannerSample/BannerSample/Base.lproj/Main.storyboard
@@ -1,8 +1,9 @@
-
-
+
+
+
-
+
@@ -15,16 +16,23 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/BannerSample/BannerSample/ViewController.h b/BannerSample/BannerSample/ViewController.h
index 3a7714a..bbb26e3 100644
--- a/BannerSample/BannerSample/ViewController.h
+++ b/BannerSample/BannerSample/ViewController.h
@@ -5,8 +5,7 @@
// Copyright © 2016 InMobi. All rights reserved.
//
-@import InMobiSDK.IMBanner;
-@import InMobiSDK.IMBannerDelegate;
+@import InMobiSDK;
#import
diff --git a/BannerSample/BannerSample/ViewController.m b/BannerSample/BannerSample/ViewController.m
index bcb5201..511ac2b 100644
--- a/BannerSample/BannerSample/ViewController.m
+++ b/BannerSample/BannerSample/ViewController.m
@@ -6,7 +6,7 @@
//
#ifndef INMOBI_BANNER_PLACEMENT
-#define INMOBI_BANNER_PLACEMENT 1447912324502
+#define INMOBI_BANNER_PLACEMENT 1672335615808
#endif
#import "ViewController.h"
diff --git a/BannerSample/BannerSwiftSample/AppDelegate.swift b/BannerSample/BannerSwiftSample/AppDelegate.swift
index 7830ba6..7bd508a 100644
--- a/BannerSample/BannerSwiftSample/AppDelegate.swift
+++ b/BannerSample/BannerSwiftSample/AppDelegate.swift
@@ -26,7 +26,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
*
* For EU Region use the following init api to pass user consent for data collection, for GDPR Complaince.
*/
- let conscentDict = [IM_GDPR_CONSENT_AVAILABLE : "true"]
+ let conscentDict = [IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE : "true"]
IMSdk.initWithAccountID(INMOBI_ACCOUNT_ID,
consentDictionary: conscentDict,
andCompletionHandler: { (error) in
@@ -34,6 +34,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
print("\(err.localizedDescription)")
}
})
+
+ // Use the US Privacy Laws APIs to comply with privacy regulations
+ let US_PRIVACY_STRING = ""
+ IMPrivacyCompliance.setDoNotSell(true)
+ IMPrivacyCompliance.setUSPrivacyString(US_PRIVACY_STRING)
+
return true
}
diff --git a/BannerSample/BannerSwiftSample/Base.lproj/Main.storyboard b/BannerSample/BannerSwiftSample/Base.lproj/Main.storyboard
index 442db35..b5a3134 100644
--- a/BannerSample/BannerSwiftSample/Base.lproj/Main.storyboard
+++ b/BannerSample/BannerSwiftSample/Base.lproj/Main.storyboard
@@ -1,8 +1,9 @@
-
-
+
+
+
-
+
@@ -15,16 +16,23 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -32,6 +40,7 @@
+
diff --git a/BannerSample/BannerSwiftSample/ViewController.swift b/BannerSample/BannerSwiftSample/ViewController.swift
index 29b1cf1..d2b3c39 100644
--- a/BannerSample/BannerSwiftSample/ViewController.swift
+++ b/BannerSample/BannerSwiftSample/ViewController.swift
@@ -4,10 +4,9 @@
//
// Copyright © 2016 InMobi. All rights reserved.
//
-import InMobiSDK.IMBanner
-import InMobiSDK.IMBannerDelegate
+import InMobiSDK
-let INMOBI_BANNER_PLACEMENT: Int64 = 1447912324502
+let INMOBI_BANNER_PLACEMENT: Int64 = 1672335615808
import UIKit
@@ -48,71 +47,71 @@ class ViewController: UIViewController, IMBannerDelegate {
/**
* Notifies the delegate that the banner has finished loading
*/
- func bannerDidFinishLoading(_ banner: IMBanner!) {
- NSLog("InMobi Banner finished loading");
+ func bannerDidFinishLoading(_ banner: IMBanner) {
+ print("InMobi Banner finished loading");
}
/**
* Notifies the delegate that the banner has failed to load with some error.
*/
- func banner(_ banner: IMBanner!, didFailToLoadWithError error: IMRequestStatus!) {
- NSLog("InMobi Banner failed to load with error : %@", error);
+ func banner(_ banner: IMBanner, didFailToLoadWithError error: IMRequestStatus) {
+ print("InMobi Banner failed to load with error : \(error.localizedDescription)");
}
/**
* Notifies the delegate that the banner was interacted with.
*/
- func banner(_ banner: IMBanner!, didInteractWithParams params: [AnyHashable : Any]!) {
- NSLog("InMobi Banner did interact with params : %@", params);
+ func banner(_ banner: IMBanner, didInteractWithParams params: [String : Any]?) {
+ print("InMobi Banner did interact with params : \(params as AnyObject)");
}
/**
* Notifies the delegate that the user would be taken out of the application context.
*/
- func userWillLeaveApplication(from banner: IMBanner!) {
- NSLog("InMobi Banner will leave application");
+ func userWillLeaveApplicationFromBanner(_ banner: IMBanner) {
+ print("InMobi Banner will leave application");
}
/**
* Notifies the delegate that the banner would be presenting a full screen content.
*/
- func bannerWillPresentScreen(_ banner: IMBanner!) {
- NSLog("InMobi Banner will present a screen");
+ func bannerWillPresentScreen(_ banner: IMBanner) {
+ print("InMobi Banner will present a screen");
}
/**
* Notifies the delegate that the banner has finished presenting screen.
*/
- func bannerDidPresentScreen(_ banner: IMBanner!) {
- NSLog("InMobi Banner presented a screen");
+ func bannerDidPresentScreen(_ banner: IMBanner) {
+ print("InMobi Banner presented a screen");
}
/**
* Notifies the delegate that the banner will start dismissing the presented screen.
*/
- func bannerWillDismissScreen(_ banner: IMBanner!) {
- NSLog("InMobi Banner will dismiss a presented screen");
+ func bannerWillDismissScreen(_ banner: IMBanner) {
+ print("InMobi Banner will dismiss a presented screen");
}
/**
* Notifies the delegate that the banner has dismissed the presented screen.
*/
- func bannerDidDismissScreen(_ banner: IMBanner!) {
- NSLog("InMobi Banner dismissed a presented screen");
+ func bannerDidDismissScreen(_ banner: IMBanner) {
+ print("InMobi Banner dismissed a presented screen");
}
/**
* Notifies the delegate that the user has completed the action to be incentivised with.
*/
- func banner(_ banner: IMBanner!, rewardActionCompletedWithRewards rewards: [AnyHashable : Any]!){
- NSLog("InMobi Banner completed a rewarded action. Rewards : %@", rewards);
+ func banner(_ banner: IMBanner, rewardActionCompletedWithRewards rewards: [String : Any]) {
+ print("InMobi Banner completed a rewarded action. Rewards : \(rewards as AnyObject)");
}
/**
* Notifies the delegate that the banner ad impressed.
*/
- func bannerAdImpressed(_ banner: IMBanner!) {
- NSLog("InMobi Banner Ad Impressed");
+ func bannerAdImpressed(_ banner: IMBanner) {
+ print("InMobi Banner Ad Impressed");
}
}
diff --git a/BannerSample/Podfile b/BannerSample/Podfile
index cc6dd82..606219b 100644
--- a/BannerSample/Podfile
+++ b/BannerSample/Podfile
@@ -1,5 +1,5 @@
# Uncomment the next line to define a global platform for your project
-# platform :ios, '9.0'
+# platform :ios, '11.0'
target 'BannerSample' do
# Comment the next line if you don't want to use dynamic frameworks
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ae4a8e6..9f50c87 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,119 @@
InMobi Monetization SDK for iOS
===================================
+Build 10.5.8 [07/Sep/2023]
+-------------
+- Support of User Ad Report
+- Support for movable Audio Icons
+- Bug Fixes
+ - APIs Added
+ New Class Added : IMMovableView
+ @objc public var isMovable
+ New Class Added : IMAudio
+ @objc public weak var delegate: IMAudioDelegate?
+ @objc public var placementId: Int64
+ @objc public var keywords: String?
+ @objc public var extras: [String: Any]?
+ @objc public var transitionAnimation: AnimationTransition
+ @objc public var contentUrl: String?
+ @objc public var creativeId: String?
+ @objc public init(frame: CGRect, placementId: Int64, delegate: IMAudioDelegate?)
+ @objc public func getAdMetaInfo() -> [String: Any]?
+ @objc public func load()
+ @objc public func show()
+ @objc public func cancel()
+
+Build 10.5.6 [28/June/2023]
+-------------
+- Support for U.S. data privacy laws
+ - APIs Added
+ New Class Added : IMPrivacyCompliance
+ @objc public static func setDoNotSell(_ doNotSell: Bool)
+ @objc public static func setUSPrivacyString(_ privacyString: String)
+- Support for Custom Product Pages
+
+Build 10.5.5 [25/May/2023]
+-------------
+- Adopt Swift Framework for SDK
+
+- Updated minimum supported version of Xcode to Xcode 14.1
+- Added SKAN 4.0 Support
+- Bug Fixes
+
+- APIs Added
+ New Class Added : IMBannerAudioHandler
+ func onView(_ view: UIView, addBannerAudioDelegate delegate: IMBannerAudioDelegate)
+
+ New Protocol Added : IMBannerAudioDelegate
+ func banner(_ banner: IMBanner, audioStatusChanged status: IMBannerAudioStatus)
+
+ New Enum Added : IMBannerAudioStatus
+
+- Existing API change
+ IMBanner:
+ New variable added
+ - audioDelegate: IMBannerAudioDelegate
+ - isAudioAd: Bool
+
+ IMInterstital:
+ -(void)showFrom:(UIViewController*)viewController
+
+ Added IMCommonConstants File for accessing Constants:
+ - Usage
+ IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE
+ IMCommonConstants.IM_GDPR_CONSENT_IAB
+ IMCommonConstants.IM_SUBJECT_TO_GDPR
+ IMCommonConstants.IM_PARTNER_GDPR_CONSENT_AVAILABLE
+ IMCommonConstants.IM_PARTNER_GDPR_APPLIES
+ Changes in Enum:
+ - IMSDKLogLevel
+ Usage : IMSDKLogLevelNone, IMSDKLogLevelError, IMSDKLogLevelDebug
+ - IMSDKGender
+ Usage : IMSDKGenderMale, IMSDKGenderFemale
+ - IMSDKEducation
+ Usage : IMSDKEducationHighSchoolOrLess, IMSDKEducationCollageOrGraduate, IMSDKEducationPostGraduateOrAbove
+ - IMSDKAgeGroup
+ Usage : IMSDKAgeGroupBelow18, IMSDKAgeGroupBetween18And24, IMSDKAgeGroupBetween25And29, IMSDKAgeGroupBetween30And34, IMSDKAgeGroupBetween35And44, IMSDKAgeGroupBetween45And54, IMSDKAgeGroupBetween55And65, IMSDKAgeGroupAbove65
+ - IMInterstitialAnimationType
+ Usage : IMInterstitialAnimationTypeCoverVertical, IMInterstitialAnimationTypeFlipHorizontal, IMInterstitialAnimationTypeAsNone
+
+- APIs Removed
+ IMBanner
+ -(void)getSignals
+ IMInterstitial
+ -(void)getSignals
+ IMBannerDelegate
+ -(void)banner:(IMBanner*)banner gotSignals:(NSData*)signals
+ -(void)banner:(IMBanner *)banner failedToGetSignalsWithError:(IMRequestStatus*)status
+ IMInterstitialDelegate
+ -(void)interstitial:(IMInterstitial*)interstitial gotSignals:(NSData*)signals
+ -(void)interstitial:(IMInterstitial*)interstitial failedToGetSignalsWithError:(IMRequestStatus*)status
+
+- For more documentation visit : https://support.inmobi.com/monetize/sdk-documentation/download-sdk
+
+Build 10.1.4 [06/May/2023]
+-------------
+- Updated minimum supported version of Xcode to Xcode 14.1
+- Added SKAN 4.0 Support
+- Bug Fixes
+
+Build 10.1.3 [24/Feb/2023]
+-------------
+- Updated minimum supported version of Xcode to Xcode 14.0
+- Removed support for bitcode which is deprecated in Xcode 14
+- Removed support for iOS 9 & iOS 10
+- Bug Fixes
+
+Build 10.1.2 [18/Nov/2022]
+-------------
+- Audio Ads Support
+- Bug Fixes
+
+Build 10.1.1 [31/Oct/2022]
+-------------
+- Improved contextual targeting support
+- Bug Fixes
+
Build 10.1.0 [08/Sep/2022]
-------------
- Added Support for Variable Size SKStore
diff --git a/InterstitialSample/InterstitialSample.xcodeproj/project.pbxproj b/InterstitialSample/InterstitialSample.xcodeproj/project.pbxproj
index 0a553f9..06a0151 100644
--- a/InterstitialSample/InterstitialSample.xcodeproj/project.pbxproj
+++ b/InterstitialSample/InterstitialSample.xcodeproj/project.pbxproj
@@ -483,6 +483,7 @@
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = InterstitialSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -502,6 +503,7 @@
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = InterstitialSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -518,6 +520,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = InterstitialSwiftSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -537,6 +540,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = InterstitialSwiftSample/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
diff --git a/InterstitialSample/InterstitialSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/InterstitialSample/InterstitialSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/InterstitialSample/InterstitialSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/InterstitialSample/InterstitialSample.xcworkspace/contents.xcworkspacedata b/InterstitialSample/InterstitialSample.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..747b6df
--- /dev/null
+++ b/InterstitialSample/InterstitialSample.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/InterstitialSample/InterstitialSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/InterstitialSample/InterstitialSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/InterstitialSample/InterstitialSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/InterstitialSample/InterstitialSample/AppDelegate.m b/InterstitialSample/InterstitialSample/AppDelegate.m
index 8a2ffc5..135054b 100644
--- a/InterstitialSample/InterstitialSample/AppDelegate.m
+++ b/InterstitialSample/InterstitialSample/AppDelegate.m
@@ -5,7 +5,7 @@
// Copyright © 2016 InMobi. All rights reserved.
//
-@import InMobiSDK.IMSdk;
+@import InMobiSDK;
/**
* This is a sample Account ID. Please do not use this ID in production.
@@ -13,6 +13,7 @@
#ifndef INMOBI_ACCOUNT_ID
#define INMOBI_ACCOUNT_ID @"4028cb8b2c3a0b45012c406824e800ba"
+#define US_PRIVACY_STRING @""
#endif
#import "AppDelegate.h"
@@ -32,7 +33,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
* For EU Region use the following init api to pass user consent for data collection, for GDPR Complaince.
*/
NSMutableDictionary *consentdict=[[NSMutableDictionary alloc]init];
- [consentdict setObject:@"true" forKey:IM_GDPR_CONSENT_AVAILABLE];
+ [consentdict setObject:@"true" forKey:IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE];
void (^completionBlock)(NSError*) = ^( NSError* _Nullable error) {
if (error) {
NSLog(@"SDK Initialization Error - %@", error.description);
@@ -46,7 +47,11 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
/*
* Enable logging for better debuggability. Please turn off the logs before submitting your App to the AppStore
*/
- [IMSdk setLogLevel:kIMSDKLogLevelDebug];
+ [IMSdk setLogLevel:IMSDKLogLevelDebug];
+
+ // Use the US Privacy Laws APIs to comply with privacy regulations
+ [IMPrivacyCompliance setDoNotSell:YES];
+ [IMPrivacyCompliance setUSPrivacyString:US_PRIVACY_STRING];
return YES;
}
diff --git a/InterstitialSample/InterstitialSample/ViewController.m b/InterstitialSample/InterstitialSample/ViewController.m
index 5fb104b..4f3c823 100644
--- a/InterstitialSample/InterstitialSample/ViewController.m
+++ b/InterstitialSample/InterstitialSample/ViewController.m
@@ -5,11 +5,10 @@
// Copyright © 2016 InMobi. All rights reserved.
//
-@import InMobiSDK.IMInterstitial;
-@import InMobiSDK.IMInterstitialDelegate;
+@import InMobiSDK;
#ifndef INMOBI_INTERSTITIAL_PLACEMENT
-#define INMOBI_INTERSTITIAL_PLACEMENT 1446377525790
+#define INMOBI_INTERSTITIAL_PLACEMENT 1672200162238
#endif
#import "ViewController.h"
@@ -39,76 +38,76 @@ - (void)didReceiveMemoryWarning {
* Please use interstitialDidFinishLoading: to receive a callback when assets are also available.
*/
-(void)interstitialDidReceiveAd:(IMInterstitial *)interstitial {
- NSLog(@"InMobi Interstitial received an ad");
+ NSLog(@"*****InMobi Interstitial received an ad");
}
/**
* Notifies the delegate that the interstitial has finished loading and can be shown instantly.
*/
-(void)interstitialDidFinishLoading:(IMInterstitial*)interstitial {
- NSLog(@"InMobi Interstitial finished loading");
+ NSLog(@"*****InMobi Interstitial finished loading");
if (interstitial.isReady) {
- [interstitial showFromViewController:self];
+ [interstitial showFrom:self];
}
}
/**
* Notifies the delegate that the interstitial has failed to load with some error.
*/
-(void)interstitial:(IMInterstitial*)interstitial didFailToLoadWithError:(IMRequestStatus*)error {
- NSLog(@"InMobi Interstitial failed to load with error : %@", error);
+ NSLog(@"*****InMobi Interstitial failed to load with error : %@", error);
}
/**
* Notifies the delegate that the interstitial would be presented.
*/
-(void)interstitialWillPresent:(IMInterstitial*)interstitial {
- NSLog(@"InMobi Interstitial will be presented");
+ NSLog(@"*****InMobi Interstitial will be presented");
}
/**
* Notifies the delegate that the interstitial has been presented.
*/
-(void)interstitialDidPresent:(IMInterstitial *)interstitial {
- NSLog(@"InMobi Interstitial has been presented");
+ NSLog(@"*****InMobi Interstitial has been presented");
}
/**
* Notifies the delegate that the interstitial has failed to present with some error.
*/
-(void)interstitial:(IMInterstitial*)interstitial didFailToPresentWithError:(IMRequestStatus*)error {
- NSLog(@"InMobi Interstitial has failed to present with error : %@", error);
+ NSLog(@"*****InMobi Interstitial has failed to present with error : %@", error);
}
/**
* Notifies the delegate that the interstitial will be dismissed.
*/
-(void)interstitialWillDismiss:(IMInterstitial*)interstitial {
- NSLog(@"InMobi Interstitial will be dismissed");
+ NSLog(@"*****InMobi Interstitial will be dismissed");
}
/**
* Notifies the delegate that the interstitial has been dismissed.
*/
-(void)interstitialDidDismiss:(IMInterstitial*)interstitial {
- NSLog(@"InMobi Interstitial has been dismissed");
+ NSLog(@"*****InMobi Interstitial has been dismissed");
}
/**
* Notifies the delegate that the interstitial has been interacted with.
*/
-(void)interstitial:(IMInterstitial*)interstitial didInteractWithParams:(NSDictionary*)params {
- NSLog(@"InMobi Interstitial did interact with params : %@", params);
+ NSLog(@"*****InMobi Interstitial did interact with params : %@", params);
}
/**
* Notifies the delegate that the user has performed the action to be incentivised with.
*/
-(void)interstitial:(IMInterstitial*)interstitial rewardActionCompletedWithRewards:(NSDictionary*)rewards {
- NSLog(@"InMobi Interstitial completed rewarded action. Rewards : %@", rewards);
+ NSLog(@"*****InMobi Interstitial completed rewarded action. Rewards : %@", rewards);
}
/**
* Notifies the delegate that the user will leave application context.
*/
-(void)userWillLeaveApplicationFromInterstitial:(IMInterstitial*)interstitial {
- NSLog(@"User will leave the application from InMobi Interstitial");
+ NSLog(@"*****User will leave the application from InMobi Interstitial");
}
/**
* Notifies the delegate that the interstitial ad Impressed.
*/
-(void)interstitialAdImpressed:(IMInterstitial *)interstitial {
- NSLog(@"InMobi Interstitial ad Impressed");
+ NSLog(@"*****InMobi Interstitial ad Impressed");
}
@end
diff --git a/InterstitialSample/InterstitialSwiftSample/AppDelegate.swift b/InterstitialSample/InterstitialSwiftSample/AppDelegate.swift
index d6dc60e..08a6f3d 100644
--- a/InterstitialSample/InterstitialSwiftSample/AppDelegate.swift
+++ b/InterstitialSample/InterstitialSwiftSample/AppDelegate.swift
@@ -5,7 +5,7 @@
// Copyright © 2016 InMobi. All rights reserved.
//
-import InMobiSDK.IMSdk
+import InMobiSDK
let INMOBI_ACCOUNT_ID: String = "4028cb8b2c3a0b45012c406824e800ba"
import UIKit
@@ -23,12 +23,22 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
*
*For EU Region use the following init api to pass user consent for data collection, for GDPR Complaince.
*/
- let conscentDict: NSDictionary = [IM_GDPR_CONSENT_AVAILABLE : "true"]
- IMSdk.initWithAccountID(INMOBI_ACCOUNT_ID, consentDictionary:conscentDict as? [AnyHashable : Any])
+ let conscentDict = [IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE : "true"]
+ IMSdk.initWithAccountID(INMOBI_ACCOUNT_ID, consentDictionary: conscentDict, andCompletionHandler: { (error) in
+ if let err = error {
+ print("\(err.localizedDescription)")
+ }
+ })
/*
* Enable logging for better debuggability. Please turn off the logs before submitting your App to the AppStore
*/
IMSdk.setLogLevel(IMSDKLogLevel.debug)
+
+ // Use the US Privacy Laws APIs to comply with privacy regulations
+ let US_PRIVACY_STRING = ""
+ IMPrivacyCompliance.setDoNotSell(true)
+ IMPrivacyCompliance.setUSPrivacyString(US_PRIVACY_STRING)
+
return true
}
diff --git a/InterstitialSample/InterstitialSwiftSample/ViewController.swift b/InterstitialSample/InterstitialSwiftSample/ViewController.swift
index e376f2c..759d93d 100644
--- a/InterstitialSample/InterstitialSwiftSample/ViewController.swift
+++ b/InterstitialSample/InterstitialSwiftSample/ViewController.swift
@@ -5,10 +5,9 @@
// Copyright © 2016 InMobi. All rights reserved.
//
-import InMobiSDK.IMInterstitial
-import InMobiSDK.IMInterstitialDelegate
+import InMobiSDK
-let INMOBI_INTERSTITIAL_PLACEMENT: Int64 = 1446377525790
+let INMOBI_INTERSTITIAL_PLACEMENT: Int64 = 1672200162238
import UIKit
@@ -28,15 +27,15 @@ class ViewController: UIViewController, IMInterstitialDelegate {
// Dispose of any resources that can be recreated.
}
- func interstitialDidReceiveAd(_ interstitial: IMInterstitial!) {
- NSLog("InMobi Interstitial received and ad");
+ func interstitialDidReceiveAd(_ interstitial: IMInterstitial) {
+ print("InMobi Interstitial received and ad");
}
/**
* Notifies the delegate that the interstitial has finished loading and can be shown instantly.
*/
- func interstitialDidFinishLoading(_ interstitial: IMInterstitial!) {
- NSLog("InMobi Interstitial finished loading an ad");
+ func interstitialDidFinishLoading(_ interstitial: IMInterstitial) {
+ print("InMobi Interstitial finished loading an ad");
if interstitial.isReady() {
interstitial.show(from: self)
@@ -46,71 +45,71 @@ class ViewController: UIViewController, IMInterstitialDelegate {
/**
* Notifies the delegate that the interstitial has failed to load with some error.
*/
- func interstitial(_ interstitial: IMInterstitial!, didFailToLoadWithError error: IMRequestStatus!) {
- NSLog("InMobi Interstitial failed to load an ad with error : %@", error);
+ func interstitial(_ interstitial: IMInterstitial, didFailToLoadWithError error: IMRequestStatus) {
+ print("InMobi Interstitial failed to load an ad with error \(error.localizedDescription)");
}
/**
* Notifies the delegate that the interstitial would be presented.
*/
- func interstitialWillPresent(_ interstitial: IMInterstitial!) {
- NSLog("InMobi Interstitial will be presented");
+ func interstitialWillPresent(_ interstitial: IMInterstitial) {
+ print("InMobi Interstitial will be presented");
}
/**
* Notifies the delegate that the interstitial has been presented.
*/
- func interstitialDidPresent(_ interstitial: IMInterstitial!) {
- NSLog("InMobi Interstitial has been presented");
+ func interstitialDidPresent(_ interstitial: IMInterstitial) {
+ print("InMobi Interstitial has been presented");
}
/**
* Notifies the delegate that the interstitial has failed to present with some error.
*/
- func interstitial(_ interstitial: IMInterstitial!, didFailToPresentWithError error: IMRequestStatus!) {
- NSLog("InMobi Interstitial failed to present with error : %@", error);
+ func interstitial(_ interstitial: IMInterstitial, didFailToPresentWithError error: IMRequestStatus) {
+ print("InMobi Interstitial failed to present with error : \(error.localizedDescription)");
}
/**
* Notifies the delegate that the interstitial will be dismissed.
*/
- func interstitialWillDismiss(_ interstitial: IMInterstitial!) {
- NSLog("InMobi Interstitial will be dismissed");
+ func interstitialWillDismiss(_ interstitial: IMInterstitial) {
+ print("InMobi Interstitial will be dismissed");
}
/**
* Notifies the delegate that the interstitial has been dismissed.
*/
- func interstitialDidDismiss(_ interstitial: IMInterstitial!) {
- NSLog("InMobi Interstitial has been dismissed");
+ func interstitialDidDismiss(_ interstitial: IMInterstitial) {
+ print("InMobi Interstitial has been dismissed");
}
/**
* Notifies the delegate that the interstitial has been interacted with.
*/
- func interstitial(_ interstitial: IMInterstitial!, didInteractWithParams params: [AnyHashable : Any]!) {
- NSLog("InMobi Interstitial did interact with params : %@", params);
+ func interstitial(_ interstitial: IMInterstitial, didInteractWithParams params: [String : Any]?) {
+ print("InMobi Interstitial did interact with params : \(params as AnyObject)");
}
/**
* Notifies the delegate that the user has performed the action to be incentivised with.
*/
- func interstitial(_ interstitial: IMInterstitial!, rewardActionCompletedWithRewards rewards: [AnyHashable : Any]!) {
- NSLog("InMobi Interstitial completed rewarded action : %@", rewards);
+ func interstitial(_ interstitial: IMInterstitial, rewardActionCompletedWithRewards rewards: [String : Any]) {
+ print("InMobi Interstitial completed rewarded action : \(rewards as AnyObject)");
}
/**
* Notifies the delegate that the user will leave application context.
*/
- func userWillLeaveApplication(from interstitial: IMInterstitial!) {
- NSLog("User will leave application from InMobi Interstitial");
+ func userWillLeaveApplicationFromInterstitial(_ interstitial: IMInterstitial) {
+ print("User will leave application from InMobi Interstitial");
}
/**
* Notifies the delegate that the interstitial ad Impressed.
*/
- func interstitialAdImpressed(_ interstitial: IMInterstitial!) {
- NSLog("InMobi Interstitial ad Impressed");
+ func interstitialAdImpressed(_ interstitial: IMInterstitial) {
+ print("InMobi Interstitial ad Impressed");
}
diff --git a/InterstitialSample/Podfile b/InterstitialSample/Podfile
index 12e030e..b7b73df 100644
--- a/InterstitialSample/Podfile
+++ b/InterstitialSample/Podfile
@@ -1,5 +1,5 @@
# Uncomment the next line to define a global platform for your project
-# platform :ios, '9.0'
+# platform :ios, 11.0'
target 'InterstitialSample' do
# Comment the next line if you don't want to use dynamic frameworks
diff --git a/NativeSample/NativeSample.xcodeproj/project.pbxproj b/NativeSample/NativeSample.xcodeproj/project.pbxproj
index 391c237..804baf7 100644
--- a/NativeSample/NativeSample.xcodeproj/project.pbxproj
+++ b/NativeSample/NativeSample.xcodeproj/project.pbxproj
@@ -482,6 +482,7 @@
DEVELOPMENT_TEAM = WZMMZ9FP6W;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "$(SRCROOT)/NativeSample/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -501,6 +502,7 @@
DEVELOPMENT_TEAM = WZMMZ9FP6W;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "$(SRCROOT)/NativeSample/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -521,6 +523,7 @@
DEVELOPMENT_TEAM = WZMMZ9FP6W;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "$(SRCROOT)/NativeSampleSwift/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -544,6 +547,7 @@
DEVELOPMENT_TEAM = WZMMZ9FP6W;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "$(SRCROOT)/NativeSampleSwift/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
diff --git a/NativeSample/NativeSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/NativeSample/NativeSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/NativeSample/NativeSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/NativeSample/NativeSample.xcworkspace/contents.xcworkspacedata b/NativeSample/NativeSample.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..4ad82f4
--- /dev/null
+++ b/NativeSample/NativeSample.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/NativeSample/NativeSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/NativeSample/NativeSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/NativeSample/NativeSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/NativeSample/NativeSample/AppDelegate.m b/NativeSample/NativeSample/AppDelegate.m
index bbc1c51..45ae2b9 100644
--- a/NativeSample/NativeSample/AppDelegate.m
+++ b/NativeSample/NativeSample/AppDelegate.m
@@ -7,10 +7,10 @@
//
#import "AppDelegate.h"
-@import InMobiSDK.IMSdk;
-
+@import InMobiSDK;
#define INMOBI_ACCOUNT_ID @"4028cb8b2c3a0b45012c406824e800ba"
+#define US_PRIVACY_STRING @""
@interface AppDelegate ()
@@ -27,7 +27,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
* For EU Region use the following init api to pass user consent for data collection, for GDPR Complaince.
*/
NSMutableDictionary *consentdict=[[NSMutableDictionary alloc]init];
- [consentdict setObject:@"true" forKey:IM_GDPR_CONSENT_AVAILABLE];
+ [consentdict setObject:@"true" forKey:IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE];
void (^completionBlock)(NSError*) = ^( NSError* _Nullable error) {
if (error) {
NSLog(@"SDK Initialization Error - %@", error.description);
@@ -41,7 +41,12 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
/*
* Enable logging for better debuggability. Please turn off the logs before submitting your App to the AppStore
*/
- [IMSdk setLogLevel:kIMSDKLogLevelDebug];
+ [IMSdk setLogLevel:IMSDKLogLevelDebug];
+
+ // Use the US Privacy Laws APIs to comply with privacy regulations
+ [IMPrivacyCompliance setDoNotSell:YES];
+ [IMPrivacyCompliance setUSPrivacyString:US_PRIVACY_STRING];
+
return YES;
}
diff --git a/NativeSample/NativeSample/ViewController.m b/NativeSample/NativeSample/ViewController.m
index 01b3728..ee68aa4 100644
--- a/NativeSample/NativeSample/ViewController.m
+++ b/NativeSample/NativeSample/ViewController.m
@@ -7,11 +7,11 @@
//
#import "ViewController.h"
-@import InMobiSDK.IMNative;
-@import InMobiSDK.IMNativeDelegate;
+@import InMobiSDK;
+
#ifndef INMOBI_ACCOUNT_ID
-#define INMOBI_NATIVE_PLACEMENT 1501663239052
+#define INMOBI_NATIVE_PLACEMENT 1681413960173
#endif
@interface ViewController ()
diff --git a/NativeSample/NativeSampleSwift/AppDelegate.swift b/NativeSample/NativeSampleSwift/AppDelegate.swift
index bada078..3d80c94 100644
--- a/NativeSample/NativeSampleSwift/AppDelegate.swift
+++ b/NativeSample/NativeSampleSwift/AppDelegate.swift
@@ -7,7 +7,7 @@
//
import UIKit
-import InMobiSDK.IMSdk
+import InMobiSDK
let INMOBI_ACCOUNT_ID: String = "4028cb8b2c3a0b45012c406824e800ba"
@UIApplicationMain
@@ -23,12 +23,22 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
*
* For EU Region use the following init api to pass user consent for data collection, for GDPR Complaince.
*/
- let conscentDict: NSDictionary = [IM_GDPR_CONSENT_AVAILABLE : "true"]
- IMSdk.initWithAccountID(INMOBI_ACCOUNT_ID, consentDictionary:conscentDict as? [AnyHashable : Any])
+ let conscentDict = [IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE : "true"]
+ IMSdk.initWithAccountID(INMOBI_ACCOUNT_ID, consentDictionary: conscentDict, andCompletionHandler: { (error) in
+ if let err = error {
+ print("\(err.localizedDescription)")
+ }
+ })
/*
* Enable logging for better debuggability. Please turn off the logs before submitting your App to the AppStore
*/
IMSdk.setLogLevel(IMSDKLogLevel.debug);
+
+ // Use the US Privacy Laws APIs to comply with privacy regulations
+ let US_PRIVACY_STRING = ""
+ IMPrivacyCompliance.setDoNotSell(true)
+ IMPrivacyCompliance.setUSPrivacyString(US_PRIVACY_STRING)
+
return true
}
diff --git a/NativeSample/NativeSampleSwift/ViewController.swift b/NativeSample/NativeSampleSwift/ViewController.swift
index fda816c..23d4eb9 100644
--- a/NativeSample/NativeSampleSwift/ViewController.swift
+++ b/NativeSample/NativeSampleSwift/ViewController.swift
@@ -7,10 +7,9 @@
//
import UIKit
-import InMobiSDK.IMNative
-import InMobiSDK.IMNativeDelegate
+import InMobiSDK
-let INMOBI_NATIVE_PLACEMENT: Int64 = 1501663239052
+let INMOBI_NATIVE_PLACEMENT: Int64 = 1681413960173
class ViewController: UIViewController,IMNativeDelegate {
@@ -33,63 +32,65 @@ class ViewController: UIViewController,IMNativeDelegate {
// Dispose of any resources that can be recreated.
}
- func nativeDidFinishLoading(_ native: IMNative!) {
- NSLog("InMobi Native Did finished loading");
- self.contentView.addSubview(native.primaryView(ofWidth: self.contentView.frame.size.width));
+ func nativeDidFinishLoading(_ native: IMNative) {
+ print("InMobi Native Did finished loading");
+ if let aView = native.primaryView(ofWidth: self.contentView.frame.size.width) {
+ self.contentView.addSubview(aView)
+ }
self.AdTitle.text = native.adTitle;
self.AdIcon.image = native.adIcon;
// Additonal information needs to be supplied here
}
- func nativeWillPresentScreen(_ native: IMNative!) {
- NSLog("InMobi Native Will Present Screen");
+ func nativeWillPresentScreen(_ native: IMNative) {
+ print("InMobi Native Will Present Screen");
}
- func nativeWillDismissScreen(_ native: IMNative!) {
- NSLog("InMobi Native Will Dismiss Screen");
+ func nativeWillDismissScreen(_ native: IMNative) {
+ print("InMobi Native Will Dismiss Screen");
}
- func nativeDidDismissScreen(_ native: IMNative!) {
- NSLog("InMobi Native Did Dismiss Screen");
+ func nativeDidDismissScreen(_ native: IMNative) {
+ print("InMobi Native Did Dismiss Screen");
}
- func nativeAdImpressed(_ native: IMNative!) {
- NSLog("InMobi Native Has Tracked an impression");
+ func nativeAdImpressed(_ native: IMNative) {
+ print("InMobi Native Has Tracked an impression");
}
- func nativeDidPresentScreen(_ native: IMNative!) {
- NSLog("InMobi Native Did Present Screen");
+ func nativeDidPresentScreen(_ native: IMNative) {
+ print("InMobi Native Did Present Screen");
}
- func userWillLeaveApplication(from native: IMNative!) {
- NSLog("User Will Leave Application");
+ func userWillLeaveApplicationFromNative(_ native: IMNative) {
+ print("User Will Leave Application");
}
- func nativeDidFinishPlayingMedia(_ native: IMNative!) {
- NSLog("InMobi Native Did Finish Playing Media");
+ func nativeDidFinishPlayingMedia(_ native: IMNative) {
+ print("InMobi Native Did Finish Playing Media");
}
- func native(_ native: IMNative!, didFailToLoadWithError error: IMRequestStatus!) {
- NSLog("InMobi Native failed to load with error : %@", error);
+ func native(_ native: IMNative, didFailToLoadWithError error: IMRequestStatus) {
+ print("InMobi Native failed to load with error : \(error.localizedDescription)");
}
public func native(_ native: IMNative!, rewardActionCompletedWithRewards rewards: [AnyHashable : Any]!){
- NSLog("Reward Action Completed With Rewards : %@", rewards);
+ print("Reward Action Completed With Rewards : \(rewards as AnyObject)");
}
- public func native(_ native: IMNative!, didInteractWithParams params: [AnyHashable : Any]!){
- NSLog("InMobi Did Interact With Params :%@",params);
-
+ func native(_ native: IMNative, didInteractWithParams params: [String : Any]?) {
+ print("InMobi Did Interact With Params : \(params as AnyObject)");
}
- public func userDidSkipPlayingMedia(from native: IMNative!) {
- NSLog("User Did Skip Playing Media ");
+
+ public func userDidSkipPlayingMediaFromNative(_ native: IMNative) {
+ print("User Did Skip Playing Media ");
}
- func native(_ native: IMNative!, adAudioStateChanged audioStateMuted: Bool) {
+ func native(_ native: IMNative, adAudioStateChanged audioStateMuted: Bool) {
if (audioStateMuted) {
- NSLog("Inline video-ad audio state changed to mute");
+ print("Inline video-ad audio state changed to mute");
} else {
- NSLog("Inline video-ad audio state changed to unmute");
+ print("Inline video-ad audio state changed to unmute");
}
//This is called when inline video audio state changes.
}
diff --git a/NativeSample/Podfile b/NativeSample/Podfile
index de834f0..f60845e 100644
--- a/NativeSample/Podfile
+++ b/NativeSample/Podfile
@@ -1,5 +1,5 @@
# Uncomment the next line to define a global platform for your project
-# platform :ios, '9.0'
+# platform :ios, '11.0'
target 'NativeSample' do
# Comment the next line if you don't want to use dynamic frameworks
diff --git a/README.md b/README.md
index 7984d76..32bcf74 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@ Publicly available sample apps of InMobi providing simple integration steps. InM
The following environment is required to run the Sample apps
- Xcode 13.0 and above
+ Xcode 14.1 and above
InMobi SDK 10.x.x
- iOS 9.0 and above
+ iOS 11.0 and above
Important: Make sure you have the latest version of pod installed after that you need to simply do
@@ -24,7 +24,7 @@ Three sample apps are provided as per Ad Formats
The latest InMobi iOS SDK is available in the InMobi folder along with its change logs.
-To run the sample apps, open any of the Ad Format's .xcodeproj file with Xcode 9.0. For example, to run a Banner's sample, open the BannerSample.xcodeproj in the BannerSample folder and run via Xcode.
+To run the sample apps, open any of the Ad Format's .xcodeproj file with Xcode 14.1. For example, to run a Banner's sample, open the BannerSample.xcodeproj in the BannerSample folder and run via Xcode.
## License
@@ -32,6 +32,119 @@ These sample apps are provided under MIT license. For more information, please s
## Change logs
+Build 10.5.8 [07/Sep/2023]
+-------------
+- Support of User Ad Report
+- Support for movable Audio Icons
+- Bug Fixes
+ - APIs Added
+ New Class Added : IMMovableView
+ @objc public var isMovable
+ New Class Added : IMAudio
+ @objc public weak var delegate: IMAudioDelegate?
+ @objc public var placementId: Int64
+ @objc public var keywords: String?
+ @objc public var extras: [String: Any]?
+ @objc public var transitionAnimation: AnimationTransition
+ @objc public var contentUrl: String?
+ @objc public var creativeId: String?
+ @objc public init(frame: CGRect, placementId: Int64, delegate: IMAudioDelegate?)
+ @objc public func getAdMetaInfo() -> [String: Any]?
+ @objc public func load()
+ @objc public func show()
+ @objc public func cancel()
+
+Build 10.5.6 [28/June/2023]
+-------------
+- Support for U.S. data privacy laws
+ - APIs Added
+ New Class Added : IMPrivacyCompliance
+ @objc public static func setDoNotSell(_ doNotSell: Bool)
+ @objc public static func setUSPrivacyString(_ privacyString: String)
+- Support for Custom Product Pages
+
+Build 10.5.5 [25/May/2023]
+-------------
+- Adopt Swift Framework for SDK
+
+- Updated minimum supported version of Xcode to Xcode 14.1
+- Added SKAN 4.0 Support
+- Bug Fixes
+
+- APIs Added
+ New Class Added : IMBannerAudioHandler
+ func onView(_ view: UIView, addBannerAudioDelegate delegate: IMBannerAudioDelegate)
+
+ New Protocol Added : IMBannerAudioDelegate
+ func banner(_ banner: IMBanner, audioStatusChanged status: IMBannerAudioStatus)
+
+ New Enum Added : IMBannerAudioStatus
+
+- Existing API change
+ IMBanner:
+ New variable added
+ - audioDelegate: IMBannerAudioDelegate
+ - isAudioAd: Bool
+
+ IMInterstital:
+ -(void)showFrom:(UIViewController*)viewController
+
+ Added IMCommonConstants File for accessing Constants:
+ - Usage
+ IMCommonConstants.IM_GDPR_CONSENT_AVAILABLE
+ IMCommonConstants.IM_GDPR_CONSENT_IAB
+ IMCommonConstants.IM_SUBJECT_TO_GDPR
+ IMCommonConstants.IM_PARTNER_GDPR_CONSENT_AVAILABLE
+ IMCommonConstants.IM_PARTNER_GDPR_APPLIES
+ Changes in Enum:
+ - IMSDKLogLevel
+ Usage : IMSDKLogLevelNone, IMSDKLogLevelError, IMSDKLogLevelDebug
+ - IMSDKGender
+ Usage : IMSDKGenderMale, IMSDKGenderFemale
+ - IMSDKEducation
+ Usage : IMSDKEducationHighSchoolOrLess, IMSDKEducationCollageOrGraduate, IMSDKEducationPostGraduateOrAbove
+ - IMSDKAgeGroup
+ Usage : IMSDKAgeGroupBelow18, IMSDKAgeGroupBetween18And24, IMSDKAgeGroupBetween25And29, IMSDKAgeGroupBetween30And34, IMSDKAgeGroupBetween35And44, IMSDKAgeGroupBetween45And54, IMSDKAgeGroupBetween55And65, IMSDKAgeGroupAbove65
+ - IMInterstitialAnimationType
+ Usage : IMInterstitialAnimationTypeCoverVertical, IMInterstitialAnimationTypeFlipHorizontal, IMInterstitialAnimationTypeAsNone
+
+- APIs Removed
+ IMBanner
+ -(void)getSignals
+ IMInterstitial
+ -(void)getSignals
+ IMBannerDelegate
+ -(void)banner:(IMBanner*)banner gotSignals:(NSData*)signals
+ -(void)banner:(IMBanner *)banner failedToGetSignalsWithError:(IMRequestStatus*)status
+ IMInterstitialDelegate
+ -(void)interstitial:(IMInterstitial*)interstitial gotSignals:(NSData*)signals
+ -(void)interstitial:(IMInterstitial*)interstitial failedToGetSignalsWithError:(IMRequestStatus*)status
+
+- For more documentation visit : https://support.inmobi.com/monetize/sdk-documentation/download-sdk
+
+Build 10.1.4 [06/May/2023]
+-------------
+- Updated minimum supported version of Xcode to Xcode 14.1
+- Added SKAN 4.0 Support
+- Bug Fixes
+
+Build 10.1.3 [24/Feb/2023]
+-------------
+- Updated minimum supported version of Xcode to Xcode 14.0
+- Removed support for bitcode which is deprecated in Xcode 14
+- Removed support for iOS 9 & iOS 10
+- Bug Fixes
+
+Build 10.1.2 [18/Nov/2022]
+-------------
+- Audio Ads Support
+- Bug Fixes
+
+Build 10.1.1 [31/Oct/2022]
+-------------
+- Improved contextual targeting support
+- Bug Fixes
+
Build 10.1.0 [08/Sep/2022]
-------------
- Added Support for Variable Size SKStore