1.1.8 个性化推荐

This commit is contained in:
Mr.zhou 2024-08-30 16:26:56 +08:00
parent 96c404f9d7
commit f87291a46b
740 changed files with 40296 additions and 4768 deletions

View File

@ -35,4 +35,6 @@ pod 'Google-Mobile-Ads-SDK', '11.4.0'
pod 'GoogleMobileAdsMediationAppLovin' pod 'GoogleMobileAdsMediationAppLovin'
pod 'GoogleMobileAdsMediationVungle' pod 'GoogleMobileAdsMediationVungle'
pod 'GoogleMobileAdsMediationPangle' pod 'GoogleMobileAdsMediationPangle'
pod 'GoogleMobileAdsMediationIronSource'
pod 'GoogleMobileAdsMediationMintegral'
end end

View File

@ -41,6 +41,12 @@ PODS:
- GoogleMobileAdsMediationAppLovin (12.6.0.0): - GoogleMobileAdsMediationAppLovin (12.6.0.0):
- AppLovinSDK (= 12.6.0) - AppLovinSDK (= 12.6.0)
- Google-Mobile-Ads-SDK (~> 11.0) - Google-Mobile-Ads-SDK (~> 11.0)
- GoogleMobileAdsMediationIronSource (8.2.0.0.0):
- Google-Mobile-Ads-SDK (~> 11.0)
- IronSourceSDK (= 8.2.0.0)
- GoogleMobileAdsMediationMintegral (7.6.8.0):
- Google-Mobile-Ads-SDK (~> 11.0)
- MintegralAdSDK/All (= 7.6.8)
- GoogleMobileAdsMediationPangle (6.1.0.5.0): - GoogleMobileAdsMediationPangle (6.1.0.5.0):
- Ads-Global (= 6.1.0.5) - Ads-Global (= 6.1.0.5)
- Google-Mobile-Ads-SDK (~> 11.0) - Google-Mobile-Ads-SDK (~> 11.0)
@ -49,10 +55,36 @@ PODS:
- VungleAds (= 7.4.0) - VungleAds (= 7.4.0)
- GoogleUserMessagingPlatform (2.4.0) - GoogleUserMessagingPlatform (2.4.0)
- IQKeyboardManagerSwift (6.5.16) - IQKeyboardManagerSwift (6.5.16)
- IronSourceSDK (8.2.0.0)
- JXPagingView/Paging (2.1.3) - JXPagingView/Paging (2.1.3)
- JXSegmentedView (1.3.3) - JXSegmentedView (1.3.3)
- Kingfisher (7.11.0) - Kingfisher (7.11.0)
- MarqueeLabel (4.5.0) - MarqueeLabel (4.5.0)
- MintegralAdSDK/All (7.6.8):
- MintegralAdSDK/BannerAd
- MintegralAdSDK/BidNativeAd
- MintegralAdSDK/InterstitialVideoAd
- MintegralAdSDK/NativeAd
- MintegralAdSDK/NativeAdvancedAd
- MintegralAdSDK/NewInterstitialAd
- MintegralAdSDK/RewardVideoAd
- MintegralAdSDK/SplashAd
- MintegralAdSDK/BannerAd (7.6.8):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/BidNativeAd (7.6.8):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/InterstitialVideoAd (7.6.8):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/NativeAd (7.6.8)
- MintegralAdSDK/NativeAdvancedAd (7.6.8):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/NewInterstitialAd (7.6.8):
- MintegralAdSDK/InterstitialVideoAd
- MintegralAdSDK/NativeAd
- MintegralAdSDK/RewardVideoAd (7.6.8):
- MintegralAdSDK/NativeAd
- MintegralAdSDK/SplashAd (7.6.8):
- MintegralAdSDK/NativeAd
- MJRefresh (3.7.9) - MJRefresh (3.7.9)
- SnapKit (5.7.1) - SnapKit (5.7.1)
- SVProgressHUD (2.3.1): - SVProgressHUD (2.3.1):
@ -67,6 +99,8 @@ DEPENDENCIES:
- DownloadButton - DownloadButton
- Google-Mobile-Ads-SDK (= 11.4.0) - Google-Mobile-Ads-SDK (= 11.4.0)
- GoogleMobileAdsMediationAppLovin - GoogleMobileAdsMediationAppLovin
- GoogleMobileAdsMediationIronSource
- GoogleMobileAdsMediationMintegral
- GoogleMobileAdsMediationPangle - GoogleMobileAdsMediationPangle
- GoogleMobileAdsMediationVungle - GoogleMobileAdsMediationVungle
- GoogleUserMessagingPlatform (= 2.4.0) - GoogleUserMessagingPlatform (= 2.4.0)
@ -90,14 +124,18 @@ SPEC REPOS:
- DownloadButton - DownloadButton
- Google-Mobile-Ads-SDK - Google-Mobile-Ads-SDK
- GoogleMobileAdsMediationAppLovin - GoogleMobileAdsMediationAppLovin
- GoogleMobileAdsMediationIronSource
- GoogleMobileAdsMediationMintegral
- GoogleMobileAdsMediationPangle - GoogleMobileAdsMediationPangle
- GoogleMobileAdsMediationVungle - GoogleMobileAdsMediationVungle
- GoogleUserMessagingPlatform - GoogleUserMessagingPlatform
- IQKeyboardManagerSwift - IQKeyboardManagerSwift
- IronSourceSDK
- JXPagingView - JXPagingView
- JXSegmentedView - JXSegmentedView
- Kingfisher - Kingfisher
- MarqueeLabel - MarqueeLabel
- MintegralAdSDK
- MJRefresh - MJRefresh
- SnapKit - SnapKit
- SVProgressHUD - SVProgressHUD
@ -113,14 +151,18 @@ SPEC CHECKSUMS:
DownloadButton: 49a21a89e0d7d1b42d9134f79aaa40e727cd57c3 DownloadButton: 49a21a89e0d7d1b42d9134f79aaa40e727cd57c3
Google-Mobile-Ads-SDK: d097dca17b9344135dcf592e79df0c7fbd89947b Google-Mobile-Ads-SDK: d097dca17b9344135dcf592e79df0c7fbd89947b
GoogleMobileAdsMediationAppLovin: bdd093b9b0469da3206aa7fc049ce92f2b672822 GoogleMobileAdsMediationAppLovin: bdd093b9b0469da3206aa7fc049ce92f2b672822
GoogleMobileAdsMediationIronSource: 259afd9bc8293ab1563439188a7cc1552a27f91c
GoogleMobileAdsMediationMintegral: 83382df88ca5560318d03d5faa82c3ef33cf00c8
GoogleMobileAdsMediationPangle: 7cdcaeb4e0cceb3b2546724a9c5c295096047b46 GoogleMobileAdsMediationPangle: 7cdcaeb4e0cceb3b2546724a9c5c295096047b46
GoogleMobileAdsMediationVungle: 67cc04b4b01b5a159344de32729ab608e9338089 GoogleMobileAdsMediationVungle: 67cc04b4b01b5a159344de32729ab608e9338089
GoogleUserMessagingPlatform: f131fa7978d2ba88d7426702b057c2cc318e6595 GoogleUserMessagingPlatform: f131fa7978d2ba88d7426702b057c2cc318e6595
IQKeyboardManagerSwift: 12d89768845bb77b55cc092ecc2b1f9370f06b76 IQKeyboardManagerSwift: 12d89768845bb77b55cc092ecc2b1f9370f06b76
IronSourceSDK: 8e630747c09d8b1eb66ce2e195a10edd9a75f8b9
JXPagingView: afdd2e9af09c90160dd232b970d603cc6e7ddd0e JXPagingView: afdd2e9af09c90160dd232b970d603cc6e7ddd0e
JXSegmentedView: 651b60fcf705258ba9395edd53876dbd2853fb68 JXSegmentedView: 651b60fcf705258ba9395edd53876dbd2853fb68
Kingfisher: b9c985d864d43515f404f1ef4a8ce7d802ace3ac Kingfisher: b9c985d864d43515f404f1ef4a8ce7d802ace3ac
MarqueeLabel: 4b46d196abd253448e830cbd976f9eacc3af0849 MarqueeLabel: 4b46d196abd253448e830cbd976f9eacc3af0849
MintegralAdSDK: 8b0223ac12dcbebb0c4162708a4bf6cf854a9673
MJRefresh: ff9e531227924c84ce459338414550a05d2aea78 MJRefresh: ff9e531227924c84ce459338414550a05d2aea78
SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
SVProgressHUD: 4837c74bdfe2e51e8821c397825996a8d7de6e22 SVProgressHUD: 4837c74bdfe2e51e8821c397825996a8d7de6e22
@ -128,6 +170,6 @@ SPEC CHECKSUMS:
Tiercel: c0a73f876a72800333b15f4e7e48791f4ad21e90 Tiercel: c0a73f876a72800333b15f4e7e48791f4ad21e90
VungleAds: 4823f53e691ba140ff21e3a3a6897af789832a36 VungleAds: 4823f53e691ba140ff21e3a3a6897af789832a36
PODFILE CHECKSUM: 0df1fdbe3bdaa3f90639c4ca80b2c624579f09a8 PODFILE CHECKSUM: 6b0051839104814ab26eed21f9448682e50b7c68
COCOAPODS: 1.15.2 COCOAPODS: 1.15.2

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>IronSourceAdapter.framework/IronSourceAdapter</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>IronSourceAdapter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>IronSourceAdapter.framework/IronSourceAdapter</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>IronSourceAdapter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

View File

@ -0,0 +1,21 @@
// Copyright 2017 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef IronSourceAdapter_h
#define IronSourceAdapter_h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif /* IronSourceAdapter_h */

View File

@ -0,0 +1,9 @@
framework module IronSourceAdapter {
umbrella header "IronSourceAdapter.h"
export *
module * { export * }
link framework "Foundation"
link framework "UIKit"
}

View File

@ -0,0 +1,21 @@
// Copyright 2017 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef IronSourceAdapter_h
#define IronSourceAdapter_h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif /* IronSourceAdapter_h */

View File

@ -0,0 +1,9 @@
framework module IronSourceAdapter {
umbrella header "IronSourceAdapter.h"
export *
module * { export * }
link framework "Foundation"
link framework "UIKit"
}

View File

@ -0,0 +1,8 @@
# ironSource Mediation Adapter for Google Mobile Ads SDK for iOS
This is an adapter to be used in conjunction with the Google Mobile Ads SDK.
For requirements, instructions, and other info, see the
[ironSource Adapter Integration Guide](https://developers.google.com/admob/ios/mediation/ironsource).
See the [changelog](https://developers.google.com/admob/ios/mediation/ironsource#ironsource-ios-mediation-adapter-changelog)
to view the version history.

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>MintegralAdapter.framework/MintegralAdapter</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>MintegralAdapter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>MintegralAdapter.framework/MintegralAdapter</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>MintegralAdapter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

View File

@ -0,0 +1,26 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
@interface GADMAdapterMintegralExtras : NSObject <GADAdNetworkExtras>
/// Controls whether presented ads will start in a muted state or not.
@property (nonatomic, assign) BOOL muteVideoAudio;
@end

View File

@ -0,0 +1,30 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
typedef NS_ENUM(NSInteger, GADMintegralErrorCode) {
/// Missing server parameters.
GADMintegralErrorInvalidServerParameters = 101,
/// The ad request was successful, but no ad was returned.
GADMintegralErrorAdNotAvailable = 102,
/// The Mintegral SDK failed to show an ad.
GADMintegralErrorAdFailedToShow = 103,
/// Invalid banner size for Mintegral ad.
GADMintegtalErrorBannerSizeInValid = 104
};
@interface GADMediationAdapterMintegral : NSObject <GADRTBAdapter>
@end

View File

@ -0,0 +1,19 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Foundation/Foundation.h>
#import <MintegralAdapter/GADMediationAdapterMintegral.h>
#import <MintegralAdapter/GADMAdapterMintegralExtras.h>
#import <UIKit/UIKit.h>

View File

@ -0,0 +1,11 @@
framework module MintegralAdapter {
umbrella header "MintegralAdapter.h"
export *
module * { export * }
link framework "Foundation"
link framework "UIKit"
// Add any public headers here.
}

View File

@ -0,0 +1,26 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
@interface GADMAdapterMintegralExtras : NSObject <GADAdNetworkExtras>
/// Controls whether presented ads will start in a muted state or not.
@property (nonatomic, assign) BOOL muteVideoAudio;
@end

View File

@ -0,0 +1,30 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
typedef NS_ENUM(NSInteger, GADMintegralErrorCode) {
/// Missing server parameters.
GADMintegralErrorInvalidServerParameters = 101,
/// The ad request was successful, but no ad was returned.
GADMintegralErrorAdNotAvailable = 102,
/// The Mintegral SDK failed to show an ad.
GADMintegralErrorAdFailedToShow = 103,
/// Invalid banner size for Mintegral ad.
GADMintegtalErrorBannerSizeInValid = 104
};
@interface GADMediationAdapterMintegral : NSObject <GADRTBAdapter>
@end

View File

@ -0,0 +1,19 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import <Foundation/Foundation.h>
#import <MintegralAdapter/GADMediationAdapterMintegral.h>
#import <MintegralAdapter/GADMAdapterMintegralExtras.h>
#import <UIKit/UIKit.h>

View File

@ -0,0 +1,11 @@
framework module MintegralAdapter {
umbrella header "MintegralAdapter.h"
export *
module * { export * }
link framework "Foundation"
link framework "UIKit"
// Add any public headers here.
}

View File

@ -0,0 +1,3 @@
# Mintegral Mediation Adapter for Google Mobile Ads SDK for iOS
This is an adapter to be used in conjunction with the Google Mobile Ads SDK.

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>IronSource.framework/IronSource</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>IronSource.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>IronSource.framework/IronSource</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>IronSource.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

View File

@ -0,0 +1,43 @@
//
// ISAAdFormat.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
Enum representing available ad formats.
*/
typedef NS_ENUM(NSUInteger, ISAAdFormatType) {
ISAAdFormatTypeInterstitial,
ISAAdFormatTypeRewarded,
ISAAdFormatTypeBanner
};
/**
Class representing an ad format.
*/
@interface ISAAdFormat : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The ad format type.
*/
@property(readonly, nonatomic) ISAAdFormatType adFormatType;
/**
Initializes with the given ad format type.
@param adFormatType the ad format type to represent.
*/
- (instancetype)initWithAdFormatType:(ISAAdFormatType)adFormatType;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,46 @@
//
// ISAAdSize.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
Class representing an ad size.
*/
@interface ISAAdSize : NSObject
@property(nonatomic, readonly) CGFloat width;
@property(nonatomic, readonly) CGFloat height;
@property(nonatomic, readonly, copy) NSString *sizeDescription;
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Creates an `ISAAdSize` for a banner ad.
*/
+ (ISAAdSize *)banner;
/**
Creates an `ISAAdSize` for a large ad.
*/
+ (ISAAdSize *)large;
/**
Creates an `ISAAdSize` for a medium rectangle ad.
*/
+ (ISAAdSize *)mediumRectangle;
/**
Creates an `ISAAdSize` for a leaderboard ad.
*/
+ (ISAAdSize *)leaderboard;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,32 @@
//
// ISABannerAdInfo.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
Class containing information on the associated banner ad.
*/
@interface ISABannerAdInfo : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The identifier of the network instance.
*/
@property(nonatomic, strong, readonly) NSString *instanceId;
/**
The unique identifier of the ad.
*/
@property(nonatomic, strong, readonly) NSString *adId;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,35 @@
//
// ISNBannerLoader.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import "ISABannerAdLoaderDelegate.h"
#import "ISABannerAdRequest.h"
NS_ASSUME_NONNULL_BEGIN
/**
Class responsible for loading banner ads.
*/
@interface ISABannerAdLoader : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Loads a banner ad.
The delegate will send a `bannerAdDidLoad:` or
`bannerAdDidFailToLoadWithError:` callback.
@param adRequest The request configuration for the ad to be loaded.
@param delegate The delegate to be notified of ad loading callbacks. The callbacks will be invoked
on the main thread. The delegate is held weakly.
*/
+ (void)loadAdWithAdRequest:(ISABannerAdRequest *)adRequest
delegate:(id<ISABannerAdLoaderDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,34 @@
//
// ISABannerAdLoaderDelegate.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import "ISABannerAdView.h"
NS_ASSUME_NONNULL_BEGIN
/**
Protocol handling loading callbacks for a requested banner ad.
The callbacks will be invoked on the main thread.
*/
@protocol ISABannerAdLoaderDelegate <NSObject>
/**
Called when a banner ad is successfully loaded.
@param bannerAdView The banner ad that is loaded.
*/
- (void)bannerAdDidLoad:(ISABannerAdView *)bannerAdView;
/**
Called when a banner ad fails to load.
@param error The error that occurred during loading.
*/
- (void)bannerAdDidFailToLoadWithError:(NSError *)error;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,49 @@
//
// ISNBannerAdRequest.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ISAAdSize.h"
NS_ASSUME_NONNULL_BEGIN
/**
Class representing a loading request for a banner ad.
Use `ISABannerAdRequestBuilder` in order to create an instance of this class.
*/
@interface ISABannerAdRequest : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The identifier for the network instance.
*/
@property(nonatomic, strong, readonly) NSString *instanceId;
/**
The ad markup.
*/
@property(nonatomic, strong, readonly) NSString *adm;
/**
The ad size.
*/
@property(nonatomic, strong, readonly) ISAAdSize *size;
/**
The view controller to show the ad on, if available.
*/
@property(nonatomic, weak, readonly, nullable) UIViewController *viewController;
/**
Extra parameters for the ad request.
*/
@property(nonatomic, strong, readonly, nullable) NSDictionary *extraParams;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,61 @@
//
// ISABannerAdRequestBuilder.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAAdSize.h"
#import "ISABannerAdRequest.h"
NS_ASSUME_NONNULL_BEGIN
/**
Builder class for `ISABannerAdRequest`.
*/
@interface ISABannerAdRequestBuilder : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Initializes the builder.
@param instanceId The identifier for the network instance.
@param adm The ad markup.
@param size The ad size.
*/
- (instancetype)initWithInstanceId:(NSString *)instanceId
adm:(NSString *)adm
size:(ISAAdSize *)size;
/**
Sets extra parameters for the ad request.
Optional.
@param extraParams The extra parameters dictionary.
@return The Builder instance.
*/
- (ISABannerAdRequestBuilder *)withExtraParams:(NSDictionary *)extraParams;
/**
Sets the view controller that will show the ad, if available.
@param viewController The view controller that will show the ad, if available.
@return The Builder instance.
*/
- (ISABannerAdRequestBuilder *)withViewController:(UIViewController *)viewController;
/**
Builds the `ISABannerAdRequest` instance.
@return The ad request instance.
*/
- (ISABannerAdRequest *)build;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,26 @@
//
// ISNBannerAdView.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "ISABannerAdInfo.h"
#import "ISABannerAdViewDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISABannerAdView : UIView
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
@property(nonatomic, weak, nullable) id<ISABannerAdViewDelegate> delegate;
@property(nonatomic, strong, readonly) ISABannerAdInfo* adInfo;
@property(nonatomic, weak, nullable) UIViewController* viewController;
NS_ASSUME_NONNULL_END
@end

View File

@ -0,0 +1,34 @@
//
// ISABannerAdViewDelegate.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
NS_ASSUME_NONNULL_BEGIN
@class ISABannerAdView;
/**
Protocol handling banner ad show events for `ISABannerAd`.
The callbacks will be invoked on the main thread.
*/
@protocol ISABannerAdViewDelegate <NSObject>
/**
Called when a banner ad is shown.
@param bannerAdView The banner ad that is shown.
*/
- (void)bannerAdViewDidShow:(ISABannerAdView *)bannerAdView;
/**
Called when a banner ad is clicked.
@param bannerAdView The banner ad that is clicked.
*/
- (void)bannerAdViewDidClick:(ISABannerAdView *)bannerAdView;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,45 @@
//
// ISAInitRequest.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAAdFormat.h"
NS_ASSUME_NONNULL_BEGIN
/**
Enum representing the different log levels in IronSourceAds.
*/
typedef NS_ENUM(NSInteger, ISALogLevel) { ISALogLevelNone, ISALogLevelError, ISALogLevelVerbose };
/**
Class representing an initialization request for IronSourceAds.
Use `ISAInitRequestBuilder` to create an instance of this class.
*/
@interface ISAInitRequest : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The application key.
*/
@property(readonly, nonatomic) NSString *appKey;
/**
Legacy ad formats for the initialization request.
*/
@property(readonly, nonatomic) NSArray<ISAAdFormat *> *legacyAdFormats;
/**
Log level to use in IronSourceAds.
Default value is `ISALogLevelNone`.
*/
@property(readonly, nonatomic) ISALogLevel logLevel;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,59 @@
//
// ISAInitRequestBuilder.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAAdFormat.h"
#import "ISAInitRequest.h"
NS_ASSUME_NONNULL_BEGIN
/**
Builder class for `ISAInitRequest`.
*/
@interface ISAInitRequestBuilder : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Initializes the builder.
@param appKey the application key.
*/
- (instancetype)initWithAppKey:(NSString *)appKey;
/**
Builds the `ISAInitRequest` instance.
@return The init request instance.
*/
- (ISAInitRequest *)build;
/**
Sets the legacy ad formats for the initialization request.
To enable non-bidding instances, pass the relevant legacy ad formats.
For bidding instances, this is non-mandatory.
@param legacyAdFormats The list of legacy ad formats.
@return The Builder instance.
*/
- (ISAInitRequestBuilder *)withLegacyAdFormats:(NSArray<ISAAdFormat *> *)legacyAdFormats;
/**
Sets the log level for the initialization request.
Default value is `ISALogLevelNone`.
@param logLevel The log level.
@return The Builder instance.
*/
- (ISAInitRequestBuilder *)withLogLevel:(ISALogLevel)logLevel;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,54 @@
//
// ISAInterstitialAd.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "ISAInterstitialAdDelegate.h"
#import "ISAInterstitialAdInfo.h"
NS_ASSUME_NONNULL_BEGIN
/**
Class responsible for handling the operations and callbacks of an interstitial ad.
*/
@interface ISAInterstitialAd : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The delegate for the ad callbacks.
Set this delegate in order to receive callbacks from the ad.
The callbacks will be invoked on the main thread.
*/
@property(nonatomic, weak, nullable) id<ISAInterstitialAdDelegate> delegate;
/**
Contains information associated with the ad.
*/
@property(nonatomic, strong, readonly) ISAInterstitialAdInfo *adInfo;
/**
Check if the ad is ready to show.
Showing an ad that is not ready will result in a show failure.
@return Whether the ad is ready to show.
*/
- (BOOL)isReadyToShow;
/**
Show the ad.
The delegate will send a `interstitialAdDidShow:` or
`interstitialAd:didFailToShowWithError:` callback.
@param viewController The view controller where the ad will be shown.
*/
- (void)showFromViewController:(UIViewController *)viewController;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,49 @@
//
// ISAInterstitialAdDelegate.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
NS_ASSUME_NONNULL_BEGIN
@class ISAInterstitialAd;
/**
Protocol handling interstitial ad show events for `ISAInterstitialAd`.
The callbacks will be invoked on the main thread.
*/
@protocol ISAInterstitialAdDelegate <NSObject>
/**
Called when an interstitial ad is shown.
@param interstitialAd The interstitial ad that is shown.
*/
- (void)interstitialAdDidShow:(ISAInterstitialAd *)interstitialAd;
/**
Called when an interstitial ad fails to show.
@param interstitialAd The interstitial ad that fails to show.
@param error The error that occurred.
*/
- (void)interstitialAd:(ISAInterstitialAd *)interstitialAd didFailToShowWithError:(NSError *)error;
/**
Called when an interstitial ad is clicked.
@param interstitialAd The interstitial ad that is clicked.
*/
- (void)interstitialAdDidClick:(ISAInterstitialAd *)interstitialAd;
/**
Called when an interstitial ad is dismissed.
@param interstitialAd The interstitial ad that is dismissed.
*/
- (void)interstitialAdDidDismiss:(ISAInterstitialAd *)interstitialAd;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,32 @@
//
// ISAInterstitialAdInfo.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
Class containing information on the associated interstitial ad.
*/
@interface ISAInterstitialAdInfo : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The identifier of the network instance.
*/
@property(nonatomic, strong, readonly) NSString *instanceId;
/**
The unique identifier of the ad.
*/
@property(nonatomic, strong, readonly) NSString *adId;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,36 @@
//
// ISNLoaderInterstitial.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAInterstitialAdLoaderDelegate.h"
#import "ISAInterstitialAdRequest.h"
NS_ASSUME_NONNULL_BEGIN
/**
Class responsible for loading interstitial ads.
*/
@interface ISAInterstitialAdLoader : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Loads an interstitial ad.
The delegate will send a `interstitialAdDidLoad:` or
`interstitialAdDidFailToLoadWithError:` callback.
@param adRequest The request configuration for the ad to be loaded.
@param delegate The delegate to be notified of ad loading callbacks. The callbacks will be invoked
on the main thread. The delegate is held weakly.
*/
+ (void)loadAdWithAdRequest:(ISAInterstitialAdRequest *)adRequest
delegate:(id<ISAInterstitialAdLoaderDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,34 @@
//
// ISAInterstitialAdLoaderDelegate.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import "ISAInterstitialAd.h"
NS_ASSUME_NONNULL_BEGIN
/**
Protocol handling loading callbacks for a requested interstitial ad.
The callbacks will be invoked on the main thread.
*/
@protocol ISAInterstitialAdLoaderDelegate <NSObject>
/**
Called when an interstitial ad is successfully loaded.
@param interstitialAd The interstitial ad that is loaded.
*/
- (void)interstitialAdDidLoad:(ISAInterstitialAd *)interstitialAd;
/**
Called when an interstitial ad fails to load.
@param error The error that occurred during loading.
*/
- (void)interstitialAdDidFailToLoadWithError:(NSError *)error;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,38 @@
//
// ISAInterstitialAdRequest.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
Class representing a loading request for an interstitial ad.
Use `ISAInterstitialAdRequestBuilder` in order to create an instance of this class.
*/
@interface ISAInterstitialAdRequest : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The identifier for the network instance.
*/
@property(readonly, nonatomic, strong) NSString *instanceId;
/**
The ad markup.
*/
@property(readonly, nonatomic, strong) NSString *adm;
/**
Extra parameters for the ad request.
*/
@property(readonly, nonatomic, strong, nullable) NSDictionary *extraParams;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,48 @@
//
// ISAInterstitialAdRequestBuilder.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAInterstitialAdRequest.h"
NS_ASSUME_NONNULL_BEGIN
/**
Builder class for `ISAInterstitialAdRequest`.
*/
@interface ISAInterstitialAdRequestBuilder : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Initializes the builder.
@param instanceId The identifier for the network instance.
@param adm The ad markup.
*/
- (instancetype)initWithInstanceId:(NSString *)instanceId adm:(NSString *)adm;
/**
Sets extra parameters for the ad request.
Optional.
@param extraParams The extra parameters dictionary.
@return The Builder instance.
*/
- (ISAInterstitialAdRequestBuilder *)withExtraParams:(NSDictionary *)extraParams;
/**
Builds the `ISAInterstitialAdRequest` instance.
@return The ad request instance.
*/
- (ISAInterstitialAdRequest *)build;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,54 @@
//
// ISARewardedAd.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "ISARewardedAdDelegate.h"
#import "ISARewardedAdInfo.h"
NS_ASSUME_NONNULL_BEGIN
/**
Class responsible for handling the operations and callbacks of a rewarded ad.
*/
@interface ISARewardedAd : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The delegate for the ad callbacks.
Set this delegate in order to receive callbacks from the ad.
The callbacks will be invoked on the main thread.
*/
@property(nonatomic, weak, nullable) id<ISARewardedAdDelegate> delegate;
/**
Contains information associated with the ad.
*/
@property(nonatomic, strong, readonly) ISARewardedAdInfo *adInfo;
/**
Check if the ad is ready to show.
Showing an ad that is not ready will result in a show failure.
@return Whether the ad is ready to show.
*/
- (BOOL)isReadyToShow;
/**
Show the ad.
The delegate will send a `rewardedAdDidShow:` or
`rewardedAd:didFailToShowWithError:` callback.
@param viewController The view controller where the ad will be shown.
*/
- (void)showFromViewController:(UIViewController *)viewController;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,56 @@
//
// ISARewardedAdDelegate.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
NS_ASSUME_NONNULL_BEGIN
@class ISARewardedAd;
/**
Protocol handling rewarded ad show events for `ISARewardedAd`.
The callbacks will be invoked on the main thread.
*/
@protocol ISARewardedAdDelegate <NSObject>
/**
Called when a rewarded ad is shown.
@param rewardedAd The rewarded ad that is shown.
*/
- (void)rewardedAdDidShow:(ISARewardedAd *)rewardedAd;
/**
Called when a rewarded ad fails to show.
@param rewardedAd The rewarded ad that fails to show.
@param error The error that occurred.
*/
- (void)rewardedAd:(ISARewardedAd *)rewardedAd didFailToShowWithError:(NSError *)error;
/**
Called when the user earns a reward.
@param rewardedAd The rewarded ad that the user earns a reward from.
*/
- (void)rewardedAdDidUserEarnReward:(ISARewardedAd *)rewardedAd;
/**
Called when a rewarded ad is clicked.
@param rewardedAd The rewarded ad that is clicked.
*/
- (void)rewardedAdDidClick:(ISARewardedAd *)rewardedAd;
/**
Called when a rewarded ad is dismissed.
@param rewardedAd The rewarded ad that is dismissed.
*/
- (void)rewardedAdDidDismiss:(ISARewardedAd *)rewardedAd;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,32 @@
//
// ISARewardedAdInfo.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
Class containing information on the associated rewarded ad.
*/
@interface ISARewardedAdInfo : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The identifier of the network instance.
*/
@property(nonatomic, strong, readonly) NSString *instanceId;
/**
The unique identifier of the ad.
*/
@property(nonatomic, strong, readonly) NSString *adId;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,36 @@
//
// ISNLoaderRewardedVideo.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISARewardedAdLoaderDelegate.h"
#import "ISARewardedAdRequest.h"
NS_ASSUME_NONNULL_BEGIN
/**
Class responsible for loading rewarded ads.
*/
@interface ISARewardedAdLoader : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Loads a rewarded ad.
The delegate will send a `rewardedAdDidLoad:` or
`rewardedAdDidFailToLoadWithError:` callback.
@param adRequest The request configuration for the ad to be loaded.
@param delegate The delegate to be notified of ad loading callbacks. The callbacks will be invoked
on the main thread. The delegate is held weakly.
*/
+ (void)loadAdWithAdRequest:(ISARewardedAdRequest *)adRequest
delegate:(id<ISARewardedAdLoaderDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,34 @@
//
// ISARewardedAdLoaderDelegate.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import "ISARewardedAd.h"
NS_ASSUME_NONNULL_BEGIN
/**
Protocol handling loading callbacks for a requested rewarded ad.
The callbacks will be invoked on the main thread.
*/
@protocol ISARewardedAdLoaderDelegate <NSObject>
/**
Called when a rewarded ad is successfully loaded.
@param rewardedAd The rewarded ad that is loaded.
*/
- (void)rewardedAdDidLoad:(ISARewardedAd *)rewardedAd;
/**
Called when a rewarded ad fails to load.
@param error The error that occurred during loading.
*/
- (void)rewardedAdDidFailToLoadWithError:(NSError *)error;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,38 @@
//
// ISARewardedAdRequest.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
Class representing a loading request for a rewarded ad.
Use `ISARewardedAdRequestBuilder` in order to create an instance of this class.
*/
@interface ISARewardedAdRequest : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
The identifier for the network instance.
*/
@property(readonly, nonatomic, strong) NSString *instanceId;
/**
The ad markup.
*/
@property(readonly, nonatomic, strong) NSString *adm;
/**
Extra parameters for the ad request.
*/
@property(readonly, nonatomic, strong, nullable) NSDictionary *extraParams;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,48 @@
//
// ISARewardedAdRequestBuilder.h
// IronSource
//
// Copyright © 2024 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISARewardedAdRequest.h"
NS_ASSUME_NONNULL_BEGIN
/**
Builder class for `ISARewardedAdRequest`.
*/
@interface ISARewardedAdRequestBuilder : NSObject
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;
/**
Initializes the builder.
@param instanceId The identifier for the network instance.
@param adm The ad markup.
*/
- (instancetype)initWithInstanceId:(NSString *)instanceId adm:(NSString *)adm;
/**
Sets extra parameters for the ad request.
Optional.
@param extraParams The extra parameters dictionary.
@return The Builder instance.
*/
- (ISARewardedAdRequestBuilder *)withExtraParams:(NSDictionary *)extraParams;
/**
Builds the `ISARewardedAdRequest` instance.
@return The ad request instance.
*/
- (ISARewardedAdRequest *)build;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,51 @@
//
// ISAdData.h
// IronSource
//
// Created by Yonti Makmel on 22/04/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAdapterConfig.h"
#import "ISBannerSize.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISAdData : NSObject
// The server data containing the adm
@property(nonatomic, strong, readonly, nullable) NSString *serverData;
// The server configuration
@property(nonatomic, strong, readonly) NSDictionary *configuration;
// The configuration holding userId, banner size, ad unit data from auction response and adapter
// config
@property(nonatomic, strong, readonly, nullable) NSDictionary *adUnitData;
+ (instancetype)adDataWithAdapterConfiguration:(ISAdapterConfig *)config
adUnit:(ISAdUnit *)adUnit
userId:(NSString *)userId;
+ (instancetype)adDataWithAdapterConfiguration:(ISAdapterConfig *)config
adUnit:(ISAdUnit *)adUnit
userId:(NSString *_Nullable)userId
bannerSize:(ISBannerSize *_Nullable)bannerSize;
- (instancetype)initWithServerData:(nullable NSString *)serverData
configuration:(NSDictionary *)configuration
adUnitData:(nullable NSDictionary *)adUnitData;
- (nullable NSString *)getString:(NSString *)key;
- (NSInteger)getInt:(NSString *)key;
- (BOOL)getBoolean:(NSString *)key;
- (nullable NSNumber *)getNumber:(NSString *)key;
- (nullable NSDictionary *)getAdUnitData;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,33 @@
//
// ISAdInfo.h
// IronSource
//
// Copyright © 2022 IronSource. All rights reserved.
//
#import "ISImpressionData.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISAdInfo : NSObject
@property(readonly, copy) NSString* auction_id;
@property(readonly, copy) NSString* ad_unit;
@property(readonly, copy) NSString* ad_network;
@property(readonly, copy) NSString* instance_name;
@property(readonly, copy) NSString* instance_id;
@property(readonly, copy) NSString* country;
@property(readonly, copy) NSNumber* revenue;
@property(readonly, copy) NSString* precision;
@property(readonly, copy) NSString* ab;
@property(readonly, copy) NSString* segment_name;
@property(readonly, copy) NSNumber* lifetime_revenue;
@property(readonly, copy) NSString* encrypted_cpm;
@property(readonly, copy) NSNumber* conversion_value;
- (instancetype)init;
- (instancetype)initWithImpressionData:(ISImpressionData* _Nonnull)impressionData;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,17 @@
//
// ISAdOptionsPosition.h
// IronSource
//
// Created by Hadar Pur on 06/07/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
// ISAdOptionsPosition
typedef NS_ENUM(NSInteger, ISAdOptionsPosition) {
ISAdOptionsPositionTopLeft,
ISAdOptionsPositionTopRight,
ISAdOptionsPositionBottomLeft,
ISAdOptionsPositionBottomRight
};
static NSString* const kAdOptionsPosKey = @"adOptionsPos";

View File

@ -0,0 +1,24 @@
//
// ISAdUnit.h
// IronSource
//
// Created by Yonti Makmel on 18/04/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface ISAdUnit : NSObject <NSCopying>
@property(strong, nonatomic) NSString *value;
+ (ISAdUnit *)IS_AD_UNIT_REWARDED_VIDEO;
+ (ISAdUnit *)IS_AD_UNIT_INTERSTITIAL;
+ (ISAdUnit *)IS_AD_UNIT_BANNER;
+ (ISAdUnit *)IS_AD_UNIT_NATIVE_AD;
- (instancetype)initWithValue:(NSString *)value;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,13 @@
//
// ISAdUnitAdapterProtocol.h
// IronSource
//
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISNetworkInitCallbackProtocol.h"
#import "ISReleaseMemoryAdapterProtocol.h"
@protocol ISAdUnitAdapterProtocol <ISReleaseMemoryAdapterProtocol, ISNetworkInitCallbackProtocol>
@end

View File

@ -0,0 +1,42 @@
//
// ISAdapterAdDelegate.h
// IronSource
//
// Created by Yonti Makmel on 28/04/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#ifndef ISAdapterAdDelegate_h
#define ISAdapterAdDelegate_h
#import "ISAdapterErrorType.h"
NS_ASSUME_NONNULL_BEGIN
@protocol ISAdapterAdDelegate <NSObject>
// Mandatory callbacks
- (void)adDidLoad;
/// @param errorType the load error type, including NO_FILL
/// @param errorCode the error code if available, general ones in AdapterErrors
/// @param errorMessage the error message if available
- (void)adDidFailToLoadWithErrorType:(ISAdapterErrorType)errorType
errorCode:(NSInteger)errorCode
errorMessage:(nullable NSString*)errorMessage;
- (void)adDidOpen;
/// @param errorCode the error code if available, general ones in AdapterErrors
/// @param errorMessage the error message if available
- (void)adDidFailToShowWithErrorCode:(NSInteger)errorCode
errorMessage:(nullable NSString*)errorMessage;
- (void)adDidClick;
@end
NS_ASSUME_NONNULL_END
#endif /* ISAdapterAdDelegate_h */

View File

@ -0,0 +1,35 @@
//
// ISAdapterAdFullscreenProtocol.h
// IronSource
//
// Copyright © 2023 IronSource. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ISAdData.h"
#import "ISAdapterAdInteractionDelegate.h"
@protocol ISAdapterAdFullscreenProtocol <NSObject>
/// load the ad
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
/// @param delegate the delegate to return mandatory callbacks based on the network - load success,
/// load failure, ad opened, ad closed, show failed optional callbacks - show success, clicked
- (void)loadAdWithAdData:(ISAdData *)adData delegate:(id<ISAdapterAdDelegate>)delegate;
/// show the ad
/// @param viewController current viewController for showing the ad
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
/// @param delegate the callback listener
- (void)showAdWithViewController:(UIViewController *)viewController
adData:(ISAdData *)adData
delegate:(id<ISAdapterAdInteractionDelegate>)delegate;
/// returning whether the ad is available or not
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
- (BOOL)isAdAvailableWithAdData:(ISAdData *)adData;
@end

View File

@ -0,0 +1,36 @@
//
// ISAdapterAdInteractionDelegate.h
// IronSource
//
// Created by Bar David on 21/10/2021.
// Copyright © 2021 IronSource. All rights reserved.
//
#ifndef ISAdapterAdInteractionDelegate_h
#define ISAdapterAdInteractionDelegate_h
#import "ISAdapterAdDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@protocol ISAdapterAdInteractionDelegate <ISAdapterAdDelegate>
// Mandatory callbacks
- (void)adDidClose;
// Optional callbacks
- (void)adDidShowSucceed;
- (void)adDidBecomeVisible;
- (void)adDidStart;
- (void)adDidEnd;
@end
NS_ASSUME_NONNULL_END
#endif /* ISAdapterAdInteractionDelegate_h */

View File

@ -0,0 +1,25 @@
//
// ISAdapterAdRewardedDelegate.h
// IronSource
//
// Created by Bar David on 21/10/2021.
// Copyright © 2021 IronSource. All rights reserved.
//
#ifndef ISAdapterAdRewardedDelegate_h
#define ISAdapterAdRewardedDelegate_h
#import "ISAdapterAdInteractionDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@protocol ISAdapterAdRewardedDelegate <ISAdapterAdInteractionDelegate>
// mandatory callbacks
- (void)adRewarded;
@end
NS_ASSUME_NONNULL_END
#endif /* ISAdapterAdRewardedDelegate_h */

View File

@ -0,0 +1,43 @@
//
// ISAdapterAdViewDelegate.h
// IronSource
//
// Created by Guy Lis on 27/03/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#ifndef ISAdapterAdViewDelegate_h
#define ISAdapterAdViewDelegate_h
#import <UIKit/UIKit.h>
#import "ISAdapterAdDelegate.h"
@protocol ISAdapterAdViewDelegate <ISAdapterAdDelegate>
// mandatory callbacks
/**
* @param view the view that was loaded
*/
- (void)adDidLoadWithView:(UIView *)view;
// optional callbacks (must be implemented in the adapter but can have empty implementation)
/**
* This method should be invoked before the user is taken out of the application after a click
*/
- (void)adWillLeaveApplication;
/**
* This method should be invoked after the ad view presents fullscreen content
*/
- (void)adWillPresentScreen;
/**
* This method should be invoked after the fullscreen content is dismissed
*/
- (void)adDidDismissScreen;
@end
#endif /* ISAdapterAdViewDelegate_h */

View File

@ -0,0 +1,12 @@
//
// ISAdapterAdaptiveProtocol.h
// IronSource
//
#import <Foundation/Foundation.h>
@protocol ISAdapterAdaptiveProtocol <NSObject>
- (CGFloat)getAdaptiveHeightWithWidth:(CGFloat)width;
@end

View File

@ -0,0 +1,41 @@
//
// ISAdapterBannerProtocol.h
// IronSource
//
// Created by Guy Lis on 27/03/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISAdData.h"
#import "ISBannerAdDelegate.h"
#import "ISBannerSize.h"
@protocol ISAdapterBannerProtocol <NSObject>
/**
* load the ad
*
* @param adData data containing the configuration passed from the server and other related
* parameters passed from the publisher like userId
* @param viewController the application view controller
* @param size the banner size the ad will be presented on
* @param delegate the callback listener to return
* mandatory callbacks based on the network - load success, load failure, ad opened
* optional callbacks - clicked, left application, presented, dismissed
*/
- (void)loadAdWithAdData:(nonnull ISAdData *)adData
viewController:(nonnull UIViewController *)viewController
size:(nonnull ISBannerSize *)size
delegate:(nonnull id<ISBannerAdDelegate>)delegate;
/**
* destroy the ad
*
* @param adData - data containing the configuration passed from the server and other related
* parameters passed from the publisher like userId
*/
- (void)destroyAdWithAdData:(nonnull ISAdData *)adData;
- (BOOL)isSupportAdaptiveBanner;
@end

View File

@ -0,0 +1,30 @@
//
// ISAdapterBaseInterface.h
// IronSource
//
// Created by Yonti Makmel on 27/04/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#import "ISAdData.h"
#import "ISNetworkInitializationDelegate.h"
#ifndef ISAdapterBaseProtocol_h
#define ISAdapterBaseProtocol_h
@protocol ISAdapterBaseProtocol <NSObject>
/// initializes the network
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
/// @param delegate the delegate to return whether the initialization was a success or failure
- (void)init:(ISAdData*)adData delegate:(id<ISNetworkInitializationDelegate>)delegate;
/// returns the network SDK version
- (NSString*)networkSDKVersion;
/// returns the adapter version
- (NSString*)adapterVersion;
@end
#endif /* ISAdapterBaseInterface_h */

View File

@ -0,0 +1,74 @@
//
// ISAdapterConfig.m
// IronSource
//
// Created by Gili Ariel on 8/1/15.
// Copyright (c) 2015 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAdUnit.h"
#define DEFAULT_CAPPING_PER_DAY 99
#define DEFAULT_CAPPING_PER_SESSION 99
#define DEFAULT_CAPPING_PER_ITERATION 99
@interface ISAdapterConfig : NSObject
@property(strong, nonatomic, readonly) NSDictionary *settings;
@property(strong, nonatomic, readonly) NSString *providerName; /* Name from waterfall */
@property(strong, nonatomic, readonly) NSString *reflectionName; /* Name of Adapter class to load */
@property(strong, nonatomic, readonly) NSString *name; /* name of adapter in mediation cycle' */
@property(strong, nonatomic, readonly) NSString *requestUrl;
@property(strong, nonatomic, readonly) NSString *subAdapterId;
@property(strong, nonatomic, readonly) NSString *instanceId;
@property(strong, nonatomic, readonly) NSNumber *maxAdsPerIteration;
@property(strong, nonatomic, readonly) NSNumber *maxAdsPerSession;
@property(strong, nonatomic, readonly) NSString *instanceType;
@property(assign, nonatomic, readonly) NSInteger maxAdsPerDay;
@property(assign, nonatomic, readonly) double loadTimeOutSec;
@property(assign, nonatomic, readonly) BOOL isMultiProviderInstance;
@property(strong, nonatomic, readonly)
NSString *adSourceNameForEvent; // name from adSourceName property on init
@property(assign, nonatomic, readonly) BOOL isBidder;
@property(assign, nonatomic, readonly) BOOL shouldEarlyInit;
@property(strong, nonatomic, readonly) ISAdUnit *adUnit;
@property(strong, nonatomic, readonly) NSDictionary *appSettings;
@property(strong, nonatomic, readonly) NSDictionary *interstitialSettings;
@property(strong, nonatomic, readonly) NSDictionary *rewardedVideoSettings;
// The banner settings contains the provider configs which may be changed with the banner
// configuration during the flow, so it's not defined as readonly.
@property(strong, nonatomic) NSDictionary *bannerSettings;
@property(strong, nonatomic, readonly) NSDictionary *nativeAdSettings;
@property(strong, nonatomic, readonly) NSString
*providerDefaultInstance; /* Name of Adapter class to load (fallback to reflectionName) */
@property(strong, nonatomic, readonly)
NSString *providerNetworkKey; /* Name to be used in the public API (e.g. setNetworkData) */
@property(strong, nonatomic, readonly)
NSString *customNetwork; /* name of the custom network is exists */
@property(assign, nonatomic, readonly)
BOOL isCustomNetwork; /* whether the configuration is for a custom network*/
- (instancetype)initWithProviderName:(NSString *)providerName;
- (void)setSettings:(NSDictionary *)settings;
- (void)setReflectionName:(NSString *)reflectionName;
- (void)setLoadTimeOut:(double)loadTimeOut;
- (void)setAdUnit:(ISAdUnit *)adUnit;
- (BOOL)isIronSource;
- (void)setAppSettings:(NSDictionary *)appSettings;
- (void)setInterstitialSettings:(NSDictionary *)interstitialSettings;
- (void)setRewardedVideoSettings:(NSDictionary *)rewardedVideoSettings;
- (void)setBannerSettings:(NSDictionary *)bannerSettings;
- (void)setNativeAdSettings:(NSDictionary *)nativeAdSettings;
- (void)setProviderDefaultInstance:(NSString *)providerDefaultInstance;
- (void)setIsOneFlow:(BOOL)isOneFlow;
- (NSString *)customNetworkAdapterNameForAdUnit:(ISAdUnit *)adUnit;
- (NSDictionary *)adUnitSettings;
- (NSString *)demandSourceName;
- (NSNumber *)isOneFlow;
- (BOOL)hasConsentCMP;
- (BOOL)getConsentCMP;
@end

View File

@ -0,0 +1,17 @@
//
// ISAdapterConsentProtocol.h
// IronSource
//
// Created by Yonti Makmel on 16/06/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#ifndef ISAdapterConsentProtocol_h
#define ISAdapterConsentProtocol_h
@protocol ISAdapterConsentProtocol <NSObject>
- (void)setConsent:(BOOL)consent;
@end
#endif /* ISAdapterConsentProtocol_h */

View File

@ -0,0 +1,17 @@
//
// ISAdapterDebugProtocol.h
// IronSource
//
// Created by Yonti Makmel on 16/06/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#ifndef ISAdapterDebugProtocol_h
#define ISAdapterDebugProtocol_h
@protocol ISAdapterDebugProtocol <NSObject>
- (void)setAdapterDebug:(BOOL)adapterDebug;
@end
#endif /* ISAdapterDebugProtocol_h */

View File

@ -0,0 +1,20 @@
//
// ISAdapterErrorType.h
// IronSource
//
// Created by Guy Lis on 11/08/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#ifndef ISAdapterErrorType_h
#define ISAdapterErrorType_h
typedef NS_ENUM(NSInteger, ISAdapterErrorType) {
ISAdapterErrorTypeNoFill,
ISAdapterErrorTypeAdExpired,
ISAdapterErrorTypeInternal
};
#endif /* ISAdapterErrorType_h */

View File

@ -0,0 +1,19 @@
//
// AdapterErrors.h
// IronSource
//
// Created by Guy Lis on 05/07/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#ifndef AdapterErrors_h
#define AdapterErrors_h
typedef NS_ENUM(NSInteger, ISAdapterErrors) {
ISAdapterErrorInternal = 1000, // internal error
ISAdapterErrorAdExpired = 1001, // expired ad error
ISAdapterErrorMissingParams = 1002 // missing parameters error
};
#endif /* AdapterErrors_h */

View File

@ -0,0 +1,18 @@
//
// ISAdapterMetaDataProtocol.h
// IronSource
//
// Created by Guy Lis on 06/07/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#ifndef ISAdapterMetaDataProtocol_h
#define ISAdapterMetaDataProtocol_h
@protocol ISAdapterMetaDataProtocol <NSObject>
- (void)setMetaDataWithKey:(NSString *)key andValues:(NSMutableArray *)values;
@end
#endif /* ISAdapterMetaDataProtocol_h */

View File

@ -0,0 +1,18 @@
//
// ISAdapterNativeAdData.h
// IronSource
//
// Created by Hadar Pur on 27/06/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISNativeAdDataProtocol.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISAdapterNativeAdData : NSObject <ISNativeAdDataProtocol>
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,16 @@
//
// ISAdapterNativeAdViewBinder.h
// IronSource
//
// Created by Hadar Pur on 19/06/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISAdapterNativeAdViewBinderProtocol.h"
#import "ISNativeAdViewHolder.h"
@interface ISAdapterNativeAdViewBinder : NSObject <ISAdapterNativeAdViewBinderProtocol>
@property(nonatomic, strong, nullable) ISNativeAdViewHolder *adViewHolder;
@end

View File

@ -0,0 +1,24 @@
//
// ISAdapterNativeAdViewBinderProtocol.h
// IronSource
//
// Created by Hadar Pur on 02/07/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ISNativeAdViewBinderProtocol.h"
NS_ASSUME_NONNULL_BEGIN
@protocol ISAdapterNativeAdViewBinderProtocol <ISNativeAdViewBinderProtocol>
@required
@property(nonatomic, strong, nullable) UIView *networkNativeAdView;
- (void)setNativeAdView:(UIView *_Nullable)nativeAdView;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,16 @@
//
// ISAdapterNetworkData.h
// IronSourceSDK
//
#import "ISAdUnit.h"
@protocol ISAdapterNetworkData <NSObject>
@required
- (NSDictionary *)networkDataByAdUnit:(ISAdUnit *)adUnit;
- (NSDictionary *)allData;
@end

View File

@ -0,0 +1,14 @@
//
// ISAdapterNetworkDataProtocol.h
// IronSourceSDK
//
#import "ISAdapterNetworkData.h"
@protocol ISAdapterNetworkDataProtocol <NSObject>
@required
- (void)setNetworkData:(id<ISAdapterNetworkData>)networkData;
@end

View File

@ -0,0 +1,17 @@
//
// ISAdapterSettingsProtocol.h
// IronSource
//
// Created by Yonti Makmel on 11/10/2021.
// Copyright © 2021 IronSource. All rights reserved.
//
#import "ISAdapterConfig.h"
#import "ISLoadWhileShowSupportState.h"
@protocol ISAdapterSettingsProtocol <NSObject>
- (ISLoadWhileShowSupportState)getLoadWhileShowSupportedStateWithAdapterConfig:
(ISAdapterConfig*)adapterConfig;
@end

View File

@ -0,0 +1,15 @@
//
// ISAppStoreErrorDelegate.h
// IronSourceSDK
//
// Created by Gal Salti on 27/09/2023.
//
#import "ISNAppStoreVCRootViewDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@protocol ISAppStoreErrorDelegate <NSObject, ISNAppStoreVCRootViewDelegate>
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,18 @@
//
// ISBannerAdDelegate.h
// IronSource
//
// Created by Guy Lis on 27/03/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISAdapterAdViewDelegate.h"
#ifndef ISBannerAdDelegate_h
#define ISBannerAdDelegate_h
@protocol ISBannerAdDelegate <ISAdapterAdViewDelegate>
@end
#endif /* ISBannerAdDelegate_h */

View File

@ -0,0 +1,38 @@
//
// ISBannerAdapterDelegate.h
// IronSource
//
// Created by Pnina Rapoport on 02/04/2017.
// Copyright © 2017 Supersonic. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@protocol ISBannerAdapterDelegate <NSObject>
@required
- (void)adapterBannerInitSuccess;
- (void)adapterBannerInitFailedWithError:(NSError *)error;
- (void)adapterBannerDidLoad:(UIView *)bannerView;
- (void)adapterBannerDidFailToLoadWithError:(NSError *)error;
- (void)adapterBannerDidClick;
#pragma mark - optional - when supported by network
- (void)adapterBannerWillPresentScreen;
- (void)adapterBannerDidDismissScreen;
- (void)adapterBannerWillLeaveApplication;
- (void)adapterBannerDidShow;
- (void)adapterBannerDidFailToShowWithError:(NSError *)error;
@end

View File

@ -0,0 +1,60 @@
//
// ISBannerAdapterProtocol.h
// IronSource
//
// Created by Pnina Rapoport on 02/04/2017.
// Copyright © 2017 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "ISAdUnitAdapterProtocol.h"
#import "ISBannerAdapterDelegate.h"
#import "ISBannerSize.h"
#import "ISBiddingDataDelegate.h"
@class ISAdapterConfig;
@protocol ISBannerAdapterProtocol <ISAdUnitAdapterProtocol>
@optional
#pragma mark - for bidders, non bidders and demand only
- (void)destroyBannerWithAdapterConfig:(ISAdapterConfig *)adapterConfig;
- (CGFloat)getAdaptiveHeightWithWidth:(CGFloat)width;
#pragma mark - for non bidders
- (void)initBannerWithUserId:(NSString *)userId
adapterConfig:(ISAdapterConfig *)adapterConfig
delegate:(id<ISBannerAdapterDelegate>)delegate;
- (void)loadBannerWithAdapterConfig:(ISAdapterConfig *)adapterConfig
adData:(NSDictionary *)adData
viewController:(UIViewController *)viewController
size:(ISBannerSize *)size
delegate:(id<ISBannerAdapterDelegate>)delegate;
#pragma mark - for bidders and demand only
- (NSDictionary *)getBannerBiddingDataWithAdapterConfig:(ISAdapterConfig *)adapterConfig
adData:(NSDictionary *)adData;
- (void)collectBannerBiddingDataWithAdapterConfig:(ISAdapterConfig *)adapterConfig
adData:(NSDictionary *)adData
delegate:(id<ISBiddingDataDelegate>)delegate;
- (void)initBannerForBiddingWithUserId:(NSString *)userId
adapterConfig:(ISAdapterConfig *)adapterConfig
delegate:(id<ISBannerAdapterDelegate>)delegate;
// used for banner, bidders + non-bidders(one-flow) for demand only
- (void)loadBannerForBiddingWithAdapterConfig:(ISAdapterConfig *)adapterConfig
adData:(NSDictionary *)adData
serverData:(NSString *)serverData
viewController:(UIViewController *)viewController
size:(ISBannerSize *)size
delegate:(id<ISBannerAdapterDelegate>)delegate;
@end

View File

@ -0,0 +1,54 @@
//
// ISBannerSize.h
// IronSource
//
// Created by Dor Alon on 12/09/2018.
// Copyright © 2018 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISContainerParams.h"
static NSString* const kSizeBanner = @"BANNER";
static NSString* const kSizeLarge = @"LARGE";
static NSString* const kSizeRectangle = @"RECTANGLE";
static NSString* const kSizeLeaderboard = @"LEADERBOARD";
static NSString* const kSizeSmart = @"SMART";
static NSString* const kSizeCustom = @"CUSTOM";
#define ISBannerSize_BANNER \
[[ISBannerSize alloc] initWithDescription:kSizeBanner width:320 height:50]
#define ISBannerSize_LARGE [[ISBannerSize alloc] initWithDescription:kSizeLarge width:320 height:90]
#define ISBannerSize_RECTANGLE \
[[ISBannerSize alloc] initWithDescription:kSizeRectangle width:300 height:250]
#define ISBannerSize_SMART [[ISBannerSize alloc] initWithDescription:kSizeSmart width:0 height:0]
@interface ISBannerSize : NSObject
#define ISBannerSize_LEADERBOARD \
[[ISBannerSize alloc] initWithDescription:kSizeLeaderboard width:728 height:90]
- (instancetype)initWithWidth:(NSInteger)width andHeight:(NSInteger)height;
- (instancetype)initWithDescription:(NSString*)description
width:(NSInteger)width
height:(NSInteger)height;
- (BOOL)isSmart;
/**
Calculates and returns the maximum height of an adaptive banner for a given width.
If there are no adaptive banner supporting networks, the return value will be -1.
@param width The specified width for which the maximum height is calculated.
@return The maximal height of an adaptive banner, or -1 if no supporting networks are found.
*/
+ (CGFloat)getMaximalAdaptiveHeightWithWidth:(CGFloat)width;
@property(readonly) NSString* sizeDescription;
@property(readonly) NSInteger width;
@property(readonly) NSInteger height;
@property(readwrite, getter=isAdaptive) BOOL adaptive;
@property(nonatomic, readwrite) ISContainerParams* containerParams;
@end

View File

@ -0,0 +1,16 @@
//
// ISBannerView.h
// IronSource
//
// Created by Gili Ariel on 06/04/2017.
// Copyright © 2017 Gili Ariel. All rights reserved.
//
#import <UIKit/UIKit.h>
static NSString* const kBannerWillMoveToSuperView = @"ISBANNER_WILL_MOVE_TO_SUPERVIEW";
@interface ISBannerView : UIView {
}
@end

View File

@ -0,0 +1,44 @@
//
// ISBaseAdAdapter.h
// IronSource
//
// Created by Yonti Makmel on 27/04/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ISAdData.h"
#import "ISAdUnit.h"
#import "ISAdapterAdDelegate.h"
#import "ISAdapterBaseProtocol.h"
#import "ISAdapterConfig.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISBaseAdAdapter : NSObject
@property(nonatomic) ISAdUnit *adUnit;
@property(nonatomic, readonly) ISAdapterConfig *adapterConfig;
@property(nonatomic, readonly, nullable) NSUUID *adUnitObjectId;
/// @param adUnit the ad unit represented by the adapter
/// @param adapterConfig the configuration relevant for the adapter instance
- (instancetype)initWithAdUnit:(ISAdUnit *)adUnit adapterConfig:(ISAdapterConfig *)adapterConfig;
/// @param adUnit the ad unit represented by the adapter
/// @param adapterConfig the configuration relevant for the adapter instance
/// @param adUnitObjectId the object id for the ad loaded
- (instancetype)initWithAdUnit:(ISAdUnit *)adUnit
adapterConfig:(ISAdapterConfig *)adapterConfig
adUnitObjectId:(nullable NSUUID *)adUnitObjectId;
/// the network sdk version
- (nullable id<ISAdapterBaseProtocol>)getNetworkAdapter;
/// When the adapter needs to release certain elements to avoid memory leaks before being destroyed
- (void)releaseMemory;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,18 @@
//
// ISBaseAdInteractionAdapter.h
// IronSource
//
// Created by Yonti Makmel on 11/10/2021.
// Copyright © 2021 IronSource. All rights reserved.
//
#import "ISAdapterAdFullscreenProtocol.h"
#import "ISBaseAdAdapter.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISBaseAdInteractionAdapter : ISBaseAdAdapter <ISAdapterAdFullscreenProtocol>
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,18 @@
//
// ISBaseAdUnitAdapter.h
// IronSource
//
// Copyright © 2023 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAdapterConfig.h"
#import "ISNetworkInitCallbackProtocol.h"
@interface ISBaseAdUnitAdapter : NSObject <ISNetworkInitCallbackProtocol>
- (NSString *)getStringValueFromAdapterConfig:(ISAdapterConfig *)adapterConfig
forKey:(NSString *)key;
- (NSString *)getMissingParamErrorStringWithKey:(NSString *)key;
@end

View File

@ -0,0 +1,52 @@
//
// ISBaseAdapter+Internal.h
// IronSource
//
// Created by Yotam Ohayon on 01/03/2016.
// Copyright © 2016 IronSource. All rights reserved.
//
#ifndef ISBaseAdapter_Internal_h
#define ISBaseAdapter_Internal_h
#import "ISBaseAdapter.h"
#import "ISBannerAdapterDelegate.h"
#import "ISInterstitialAdapterDelegate.h"
#import "ISNativeAdAdapterDelegate.h"
#import "ISRewardedVideoAdapterDelegate.h"
#import "ISConfigurations.h"
#import "ISMetaDataConstants.h"
#import "ISMetaDataUtils.h"
#import "ISConcurrentMutableDictionary.h"
#import "ISConcurrentMutableSet.h"
#import "ISError.h"
#import "ISLog.h"
#import "ISNetworkInitCallbackProtocol.h"
#import "ISBaseBannerAdapter.h"
#import "ISBaseInterstitialAdapter.h"
#import "ISBaseNativeAdAdapter.h"
#import "ISBaseRewardedVideoAdapter.h"
#import "ISAdapterNativeAdData.h"
#import "ISAdapterNativeAdViewBinder.h"
#import "ISNativeAdViewHolder.h"
#import "UIView+ISNativeView.h"
@interface ISBaseAdapter ()
#pragma mark - Validation
- (BOOL)isConfigValueValid:(NSString *)value;
- (NSError *)errorForMissingCredentialFieldWithName:(NSString *)fieldName;
#pragma mark - Private
- (UIViewController *)topMostController;
- (void)setMetaDataWithKey:(NSString *)key andValues:(NSMutableArray *)values;
@end
#endif /* ISBaseAdapter_Internal_h */

View File

@ -0,0 +1,59 @@
//
// ISBaseAdapter.h
// IronSource
//
// Copyright (c) 2015 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ISAdapterConfig.h"
#import "ISAdapterNetworkDataProtocol.h"
#import "ISBannerAdapterProtocol.h"
#import "ISConcurrentMutableDictionary.h"
#import "ISInterstitialAdapterProtocol.h"
#import "ISLoadWhileShowSupportState.h"
#import "ISNativeAdAdapterProtocol.h"
#import "ISRewardedVideoAdapterProtocol.h"
@interface ISBaseAdapter : NSObject <ISInterstitialAdapterProtocol,
ISRewardedVideoAdapterProtocol,
ISBannerAdapterProtocol,
ISAdapterNetworkDataProtocol,
ISNativeAdAdapterProtocol> {
@protected
ISLoadWhileShowSupportState LWSState;
}
@property(nonatomic, strong) NSString *adapterName;
@property(nonatomic, strong) NSString *providerNetworkKey;
@property(strong, nonatomic) NSString *pluginType;
@property(strong, nonatomic) NSString *userId;
@property(strong, nonatomic) ISConcurrentMutableDictionary *adUnitAdapters;
- (instancetype)initAdapter:(NSString *)name;
- (void)earlyInitWithAdapterConfig:(ISAdapterConfig *)adapterConfig;
- (NSString *)sdkVersion;
- (NSString *)version;
- (NSString *)dynamicUserId;
// to be used by adapters that implement each ad unit separately
- (ISLoadWhileShowSupportState)getLWSSupportState:(ISAdapterConfig *)adapterConfig;
- (void)setNetworkData:(id<ISAdapterNetworkData>)networkData;
- (void)setRewardedVideoAdapter:(id<ISRewardedVideoAdapterProtocol>)rewardedVideoAdapter;
- (void)setInterstitialAdapter:(id<ISInterstitialAdapterProtocol>)interstitialAdapter;
- (void)setBannerAdapter:(id<ISBannerAdapterProtocol>)bannerAdapter;
- (void)setNativeAdAdapter:(id<ISNativeAdAdapterProtocol>)nativeAdAdapter;
- (void)setConsent:(BOOL)consent;
- (id<ISRewardedVideoAdapterProtocol>)getRewardedVideoAdapter;
- (id<ISInterstitialAdapterProtocol>)getInterstitialAdapter;
- (id<ISBannerAdapterProtocol>)getBannerAdapter;
- (id<ISNativeAdAdapterProtocol>)getNativeAdAdapter;
- (CGFloat)getAdaptiveHeightWithWidth:(CGFloat)width;
@end

View File

@ -0,0 +1,46 @@
//
// ISBaseBanner.h
// IronSource
//
// Created by Guy Lis on 27/03/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISAdapterAdViewDelegate.h"
#import "ISAdapterBannerProtocol.h"
#import "ISBannerAdDelegate.h"
#import "ISBaseAdAdapter.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISBaseBanner : ISBaseAdAdapter <ISAdapterBannerProtocol>
/// @param providerConfig the configuration relevant for the adapter instance
- (instancetype)init:(ISAdapterConfig *)providerConfig;
/**
* load the ad
*
* @param adData data containing the configuration passed from the server and other related
* parameters passed from the publisher like userId
* @param viewController the application view controller
* @param size the banner size the ad will be presented on
* @param delegate the callback listener to return
* mandatory callbacks based on the network - load success, load failure, ad opened
* optional callbacks - clicked, left application, presented, dismissed
*/
- (void)loadAdWithAdData:(nonnull ISAdData *)adData
viewController:(nonnull UIViewController *)viewController
size:(nonnull ISBannerSize *)size
delegate:(nonnull id<ISBannerAdDelegate>)delegate;
/**
* destroy the ad
*
* @param adData - data containing the configuration passed from the server and other related
* parameters passed from the publisher like userId
*/
- (void)destroyAdWithAdData:(nonnull ISAdData *)adData;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,13 @@
//
// ISBaseBannerAdapter.h
// IronSource
//
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISBannerAdapterProtocol.h"
#import "ISBaseAdUnitAdapter.h"
@interface ISBaseBannerAdapter : ISBaseAdUnitAdapter <ISBannerAdapterProtocol>
@end

View File

@ -0,0 +1,41 @@
//
// ISBaseInterstitial.h
// IronSource
//
// Created by Bar David on 24/10/2021.
// Copyright © 2021 IronSource. All rights reserved.
//
#import "ISBaseAdInteractionAdapter.h"
NS_ASSUME_NONNULL_BEGIN
@protocol ISInterstitialAdDelegate <ISAdapterAdInteractionDelegate>
@end
@interface ISBaseInterstitial : ISBaseAdInteractionAdapter
/// @param providerConfig the configuration relevant for the adapter instance
- (instancetype)init:(ISAdapterConfig *)providerConfig;
/// load the ad
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
/// @param delegate the delegate to return mandatory callbacks based on the network - load success,
/// load failure
- (void)loadAdWithAdData:(ISAdData *)adData delegate:(id<ISInterstitialAdDelegate>)delegate;
/// show the ad
/// @param viewController current viewController for showing the ad
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
/// @param delegate the delegate to return mandatory callbacks based on the network - ad opened, ad
/// closed, show failed optional callbacks - show success, ad clicked
- (void)showAdWithViewController:(UIViewController *)viewController
adData:(ISAdData *)adData
delegate:(id<ISInterstitialAdDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,13 @@
//
// ISBaseInterstitialAdapter.h
// IronSource
//
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISBaseAdUnitAdapter.h"
#import "ISInterstitialAdapterProtocol.h"
@interface ISBaseInterstitialAdapter : ISBaseAdUnitAdapter <ISInterstitialAdapterProtocol>
@end

View File

@ -0,0 +1,22 @@
//
// ISBaseNativeAdAdapter.h
// IronSource
//
// Created by Hadar Pur on 06/07/2023.
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISBaseAdUnitAdapter.h"
#import "ISNativeAdAdapterProtocol.h"
#import "ISNativeAdProperties.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISBaseNativeAdAdapter : ISBaseAdUnitAdapter <ISNativeAdAdapterProtocol>
- (ISNativeAdProperties *)getNativeAdPropertiesWithAdapterConfig:
(nonnull ISAdapterConfig *)adapterConfig;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,27 @@
//
// ISBaseNetworkAdapter.h
// IronSource
//
// Created by Guy Lis on 05/07/2021.
// Copyright © 2021 ironSource. All rights reserved.
//
#import "ISAdapterBaseProtocol.h"
#import "ISAdapterConsentProtocol.h"
#import "ISAdapterDebugProtocol.h"
#import "ISAdapterMetaDataProtocol.h"
#import "ISAdapterNetworkDataProtocol.h"
#import "ISAdapterSettingsProtocol.h"
NS_ASSUME_NONNULL_BEGIN
@interface ISBaseNetworkAdapter : NSObject <ISAdapterBaseProtocol,
ISAdapterDebugProtocol,
ISAdapterConsentProtocol,
ISAdapterMetaDataProtocol,
ISAdapterNetworkDataProtocol,
ISAdapterSettingsProtocol>
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,42 @@
//
// ISBaseRewardedVideo.h
// IronSource
//
// Created by Bar David on 24/10/2021.
// Copyright © 2021 IronSource. All rights reserved.
//
#import "ISAdapterAdRewardedDelegate.h"
#import "ISBaseAdInteractionAdapter.h"
NS_ASSUME_NONNULL_BEGIN
@protocol ISRewardedVideoAdDelegate <ISAdapterAdRewardedDelegate>
@end
@interface ISBaseRewardedVideo : ISBaseAdInteractionAdapter
/// @param providerConfig the configuration relevant for the adapter instance
- (instancetype)init:(ISAdapterConfig *)providerConfig;
/// load the ad
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
/// @param delegate the delegate to return mandatory callbacks based on the network - load success,
/// load failure
- (void)loadAdWithAdData:(ISAdData *)adData delegate:(id<ISRewardedVideoAdDelegate>)delegate;
/// show the ad
/// @param viewController current viewController for showing the ad
/// @param adData data containing the configuration passed from the server and other related
/// parameters passed from the publisher like userId
/// @param delegate the delegate to return mandatory callbacks based on the network - ad opened, ad
/// closed, show failed optional callbacks - show success, ad clicked
- (void)showAdWithViewController:(UIViewController *)viewController
adData:(ISAdData *)adData
delegate:(id<ISRewardedVideoAdDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END

View File

@ -0,0 +1,13 @@
//
// ISBaseRewardedVideoAdapter.h
// IronSource
//
// Copyright © 2023 IronSource. All rights reserved.
//
#import "ISBaseAdUnitAdapter.h"
#import "ISRewardedVideoAdapterProtocol.h"
@interface ISBaseRewardedVideoAdapter : ISBaseAdUnitAdapter <ISRewardedVideoAdapterProtocol>
@end

View File

@ -0,0 +1,18 @@
//
// ISBiddingDataDelegate.h
// IronSource
//
// Created by Liron Matityahu on 26/12/2022.
// Copyright © 2022 IronSource. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol ISBiddingDataDelegate <NSObject>
@required
- (void)successWithBiddingData:(NSDictionary *)biddingData;
- (void)failureWithError:(NSString *)error;
@end

View File

@ -0,0 +1,41 @@
//
// ISConcurrentMutableDictionary.h
// Environment
//
// Copyright © 2021 ironSource. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface ISConcurrentMutableDictionary : NSObject
+ (instancetype)dictionary;
+ (instancetype)dictionaryWithDictionary:(id)dictionary;
- (instancetype)initCommon;
- (instancetype)init;
- (instancetype)initWithCapacity:(NSUInteger)numItems;
- (instancetype)initWithContentsOfFile:(NSString *)path;
- (instancetype)initWithContentsOfURL:(NSURL *)url;
- (instancetype)initWithCoder:(NSCoder *)aDecoder;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dictionary;
- (NSUInteger)count;
- (id)objectForKey:(id)key;
- (NSEnumerator *)keyEnumerator;
- (void)setObject:(id)object forKey:(id<NSCopying>)key;
- (void)setDictionary:(NSDictionary *)otherDictionary;
- (void)addEntriesFromDictionary:(NSDictionary *)otherDictionary;
- (void)removeObjectForKey:(id)key;
- (void)removeObjectsForKeys:(NSArray *)keyArray;
- (void)removeAllObjects;
- (NSArray *)allKeys;
- (NSArray *)allValues;
- (NSDictionary *)allData;
- (BOOL)hasObjectForKey:(id)key;
@end

View File

@ -0,0 +1,34 @@
//
// ISConcurrentMutableSet.h
// Environment
//
// Copyright © 2021 ironSource. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface ISConcurrentMutableSet : NSObject
+ (instancetype)set;
+ (instancetype)setWithSet:(id)set;
- (instancetype)initCommon;
- (instancetype)init;
- (instancetype)initWithCapacity:(NSUInteger)numItems;
- (instancetype)initWithCoder:(NSCoder *)aDecoder;
- (instancetype)initWithSet:(NSMutableSet *)set;
- (instancetype)initWithArray:(NSArray *)array;
- (NSUInteger)count;
- (void)addObject:(id)object;
- (void)removeObject:(id)object;
- (void)addObjectsFromArray:(NSArray *)array;
- (void)intersectSet:(NSSet *)otherSet;
- (void)minusSet:(NSSet *)otherSet;
- (void)removeAllObjects;
- (void)unionSet:(NSSet *)otherSet;
- (NSArray *)allObjects;
- (BOOL)hasObject:(id)object;
- (NSEnumerator *)objectEnumerator;
@end

View File

@ -0,0 +1,49 @@
//
// Copyright © 2017 IronSource. All rights reserved.
//
#ifndef IRONSOURCE_CONFIGURATION_H
#define IRONSOURCE_CONFIGURATION_H
#import <Foundation/Foundation.h>
#import "ISGender.h"
#import "ISSegment.h"
@interface ISConfigurations : NSObject
@property(nonatomic, strong) NSString *userId;
@property(nonatomic, strong) NSString *appKey;
@property(nonatomic, strong) NSString *segmentId;
@property(nonatomic, strong) NSDictionary *customSegmentParams;
@property(nonatomic, strong) ISSegment *segment;
@property(nonatomic, strong) NSDictionary *rewardedVideoCustomParameters;
@property(nonatomic, strong) NSString *version;
@property(nonatomic, strong) NSNumber *adapterTimeOutInSeconds;
@property(nonatomic, strong) NSNumber *maxNumOfAdaptersToLoadOnStart;
@property(nonatomic, assign) BOOL advancedLoading;
@property(nonatomic, strong) NSString *plugin;
@property(nonatomic, strong) NSString *pluginVersion;
@property(nonatomic, strong) NSString *pluginFrameworkVersion;
@property(nonatomic, strong) NSNumber *maxVideosPerIteration;
@property(nonatomic, assign) NSInteger userAge;
@property(nonatomic, assign) ISGender userGender;
@property(nonatomic, assign) BOOL trackReachability;
@property(nonatomic, strong) NSString *dynamicUserId;
@property(nonatomic, assign) BOOL adaptersDebug;
@property(nonatomic, strong) NSString *mediationType;
@property(nonatomic, strong) NSNumber *serr;
@property(nonatomic, strong) NSString *categorizeType;
@property(nonatomic, strong) NSDictionary *rvServerParams;
@property(nonatomic, assign) NSInteger consent;
@property(nonatomic, assign) BOOL didSetConsent;
@property(nonatomic, strong) NSDictionary *batchGenericParams;
@property(nonatomic, strong) NSDictionary *eventGenericParams;
@property(nonatomic, strong) NSDictionary *eventPixelParams;
+ (ISConfigurations *)getConfigurations;
typedef NS_ENUM(NSInteger, DebugLevel) { None, Error, Info, Verbose };
@end
#endif

Some files were not shown because too many files have changed in this diff Show More