iOS
MTGSDK Integration for iOS
Overview
This document provides instructions on how to integrate the Mintegral SDK for iOS developers. The Mintegral SDK provides eight different advertisement formats: Banner, Native, Native Video,Automatic Rending Native, Rewarded Video, Interstitial, Interstitial Video, Interactive and Splash.
Requirements
Xcode 11.0 or higher (SDK V_6.3.3+)
Xcode 12.5 or higher (SDK V_6.9.0)
Xcode 12.0 or higher (SDK V_6.9.1+)
Obtain the SDK
There are two ways to add Mintegral iOS-SDK to your Xcode project: using Cocoapods or manual integration.
About the SDK file size: The common base framework will increase by about 2.2M. Integrate all ad types, the maximum increase is about 0.3M, a total of 2.5M.
Get SDK version
Search "MTGSDK.h" on MTGSDK.h file
iOS 14 Publisher Guide
The intention of this guide is to help publishers streamline changes coming with Apple’s release of iOS 14.
Checklist
Update to MTG iOS SDK 6.6.0 with iOS 14 and SKAdNetwork support
Incorporate MTGSDK’s SKAdNetwork IDs into your apps’ Info.plist
SKAdNetwork IDs
SKAdNetwork is Apple's attribution solution for iOS 14, which can complete advertising attribution while protecting user privacy. After using SKAdNetwork, even if IDFA is not available, the attribution results of app installation can be correctly obtained. See Apple’s SKAdNetwork to learn more.
Update your plist with SKAdNetwork identifiers
Refer to Apple’s documentation on configuring the Info.plist properly for ad campaigns to be served. Refer also to the Xcode documentation for help on editing property lists.
Follow these steps to configure your app with SKAdNetworkIDs :
Inside the Xcode Project navigator, open Info.plist file.
Click the add button (+) next to a key in a property list inside the Info.plist file in order to create a new property key.
Enter SKAdNetworkItems and select Array in the type column.
Add a dictionary item, then add a single String item inside the dictionary.
For each String item, add SKAdNetworkIdentifier as the key and the ad network identifier as the value.
Mintegral hosts the MTG SKAdNetwork ID and the list of our buyers' SKAdNetwork IDs in both JSON and XML formats on our website. Note that our lists are updated periodically:
List of SKAdNetwork IDs in JSON
List of SKAdNetwork IDs in XML
App Tracking Transparency
The AppTrackingTransparency(ATT) framework presents an app-tracking authorization request to the user and provides the tracking authorization status. Starting from iOS 14, IDFA will be unavailable until your app calls the ATT framework to present the app-tracking authorization request to the end user. If your app does not present this request, the IDFA will automatically be zeroed out which may lead to a significant loss in ad revenue.Read more on Apple’s ATT. We recommended that you call it when the app launch, so that we can more personalized and relevant advertisements can be presented to the users.
To display the ATT authorization request for accessing the IDFA, update your Info.plist to add the NSUserTrackingUsageDescription key with a custom message describing your usage. Sample:
To present the authorization request, call below code before load ads. requestTrackingAuthorizationWithCompletionHandler:
Apple's app privacy questionnaire
According to Apple’s privacy details on the App Store requirements, starting December 8, 2020, app developers need to define which data is collected by their apps and SDKs integrated in their apps.
To help you answer the questionnaire about the information collected by MTGSDK, please refer to the following table. Here is all the information MTGSDK collected, the descriptions that are not mentioned are not collected.
Tips: The list only describes MTGSDK’s SDK and data collection. The list does not describe a developer’s overall app data collection and use, or that of any other SDK.
Types of data
Info
Used for tracking?
Data use
Identifiers-DeviceID
the identifier for advertiser (e.g. IDFA)
YES
Third-Party Advertising
Identifiers-DeviceID
IDFV
YES
Third-Party Advertising
Diagnostics-Performance Data
system file size
No
Third-Party Advertising
Diagnostics-Performance Data
RAM
No
Third-Party Advertising
Diagnostics-Performance Data
cpu
No
Third-Party Advertising
Usage Date - Advertising Data
Advertising Data
YES
Third-Party Advertising
Other Data
device model
No
Third-Party Advertising
Other Data
operating system (e.g.iOS) and the OS version of the device
No
Third-Party Advertising
Other Data
device type (e.g. smartphone, tablet, etc.)
No
Third-Party Advertising
Other Data
device properties related to screen size
No
Third-Party Advertising
Other Data
orientation
No
Third-Party Advertising
Other Data
battery
No
Third-Party Advertising
Other Data
app version
No
Third-Party Advertising
Other Data
country
No
Third-Party Advertising
Other Data
time zone and locale settings (country and preferred language)
No
Third-Party Advertising
Other Data
network connection type
No
Third-Party Advertising
Other Data
IP address
No
Third-Party Advertising
Other Data
network provider
No
Third-Party Advertising
Other Data
SDK version
No
Third-Party Advertising
Other Data
timestamp
No
Third-Party Advertising
Other Data
network status such as WiFi
No
Third-Party Advertising
Other Data
the ad type (e.g. whether the ad is a text, image, or video based ad)
No
Third-Party Advertising
Other Data
the date and time of your request and referral URL
No
Third-Party Advertising
Other Data
User-agent
No
Third-Party Advertising
Other Data
package name
No
Third-Party Advertising
Other Data
carrier name
No
Third-Party Advertising
SDK Initialization
Parameter configuration before initialization on manual integration
1.Import basic static libraries on manual integration
CoreGraphics.framework Foundation.framework UIKit.framework libsqlite3.tbd (It's libsqlite3.dylib below Xcode7) libz.tbd (It'slibz.dylib below Xcode7) AdSupport.framework StoreKit.framework QuartzCore.framework CoreTelephony.framework MobileCoreServices.framework AVFoundation.framework WebKit.framework
2.Add linker parameter for XCode Find Other Linker Flags in build settings and add flag: -ObjC (case sensitive).
Initialization
Initialize The SDK as soon as your app starts.Call for the MTGSDK initialization method in AppDelegate through the API below and import it to the App ID and App Key from Mintegral dashboard. When initializing, MTGSDK will retrieve configuration information from the server. It is recommended to use the API in the main thread.
Sample Code:
Banner
Banner ads are rectangular image or text ads that occupy a spot within an app's layout. They stay on screen while users are interacting with the app, and can refresh automatically after a certain period of time.
Banner sample:

Import the head file
Create MTGBannerAdView
The code below lists the standard banner sizes in MTGBannerSizeType. We recommend using 320*50, the filling rate of this size will be more guaranteed, and adjusting the size may affect income to a certain extent.
Load Ads
Destroy the MTGBannerAdView
Refreshing Ads
The MTGBannerAdView will automatically refresh your ad unit at a time interval when you set the autoRefreshTime.
Show the Close Button
Get Request ID
If you find a problem during the ad display, you can use this method to get the Request ID and feed it back to MTG. It needs to be called after load success
Sample Code
Native
Native advertisement is currently one of the most popular advertisement types. The Mintegral SDK will report back creative material information to your app. You will then be able to assemble and adjust the creative elements as needed to ensure the creative material is compatible to your product style and in turn create the best user experience.They are ad assets that are presented to users via UI components that are native to the platform. When an ad loads, your app receives an ad object that contains its assets, and your app is then responsible to assemble and format them, according to your app’s visual design.
Note: This ad format is only available to certain developers, please contact your AM or write to developer@mintegral.com if needed.
Native Ads sample:

Import the header file
Create MTGNativeAdManager
Sample code:
Preload Ads(Recommendation)
We provide preloading for Native (NativeVideo). You can use the following code to preload in the initialization process to improve your ad loading efficiency. The sample code is as follows:
Load Ads
When the Mintegral SDK calls this method, it will first read the advertisement from the cache. If there is an advertisement in the cache, it will return directly, which will improve the display efficiency. If there is no cache, it will send an advertisement request to the server to obtain the advertisement. The request method is as follows:
Design Ads
You can design the ad based on the callback of onAdLoaded and we provide MTGMediaView to display the image (video) ad. Call the following method to display the ad.The best size of MTGMediaView is 16:9.
Get Request ID
If you find a problem during the ad display, you can use this method to get the Request ID and feed it back to MTG. It needs to be called after load success
Adchoice
We provider MTGAdChoicesView to design the AdChoice.There are two properties of the MTGAdChoicesView. Tip:We strongly suggest that developers can show this MTGAdChoicesView(icon) in the right location in your app, if not, it will affect your ad revenue.
Register click-event for views
Introduction of MTGMediaView APIs
Sample code
Auto Rending Native
The Automatic Rending Native launched is simpler than ordinary Native ads. Developers only need to provide a wide and high area, and MTG will automatically display the ad templates and materials that match it. While reducing developer docking costs, more efficiently use the MTG algorithm to output advertising ideas, thereby improving developer income levels.
NativeAdvanced Ad sample:

Import the header file
Create MTGNativeAdvancedAd
NativeAdvance Setting
Setting Style
You can set below targets:title、subTitle、button、icon、container and mediaContent.

Mute setting
Auto play setting
Close button setting
Get Request ID
If you find a problem during the ad display, you can use this method to get the Request ID and feed it back to MTG. It needs to be called after load success
Load & Show ads
Load ads
Check if ads has been fully cached by calling
Show ads
Destroy ads
Set the MTGNativeAdvancedAdDelegate to Receive Ads Events
Sample code
Rewarded Video
Rewarded Video is one of the best performing advertisement formats on the Mintegral platform. Users can get rewards by watching a video advertisement. The creativity and attention-grabbing nature of the video content attracts users to download the advertised product.
Sample video in landscape view:

Import header file
To integrate rewarded videos, it is required to import the below header file:
Mute
NOTE:Must be called before loadAd
Setting alertView
NOTE:Must be called before loadAd
Setting Reward Plus
NOTE:Must be called before loadAd The API only means accepting the advertisement of Reward plus, and issuing rewards still depends on the reward currency parameters (MTGRewardAdInfo) of the onVideoAdDismissed callback in the SDK for reward distribution.
Get Request ID
If you find a problem during the ad display, you can use this method to get the Request ID and feed it back to MTG. It needs to be called after load success
Load Ads
When requesting an ad, you need to pass in the UnitID of the corresponding ad slot. To allow videos to be preloaded, we recommend making your load request call as early as possible after the SDK is started. This will reduce the time users waiting for an ad to display and improve user experiences.
Display Ads
Before displaying the advertisement, it is recommended to determine whether the ad has been successfully downloaded. If the video can play, the SDK will return the message that it is ready, and then pass the corresponding Unit ID and viewController to display the video advertisement. If the return fails, the video will be abandoned. Attention: userId(can only be numbers and charcters) is the Identifier for the server-side callback,if it is in client-callback mode,it can be left empty.
Set up the Reward Delegate
MTGRewardAdLoadDelegate
MTGRewardAdShowDelegate
Sample code
Set up "Server to Server" to return the Ad reward
Based on your needs, you can choose to set up callback through SDK or through server to server. If you set up callback through server to server, Mintegral will use the callback URL to return reward information after a video ad is played.
1.Set up the callback URL in the dashboard

When the user watches the video completely, Mintegral's server will request the callback URL to send the reward infomation to your server.
2.For the callback URL, only need to change the domain name.
3.When the Mintegral server recognizes that a user_id has earned a reward, it will inform the developer's server through the callback URL. Additional parameters of the callback URL are as follow:
Parameter
Description
user_id
User ID,set by developer
reward_amount
Amount of reward users should receive
reward_name
Reward name
unit_id
Unit ID
trans_id
Transmission ID, generated by Mintegral server, therefore is a unique ID
sign
Encryption identifier MD5(user_id_reward_amount_trans_id_security_key)
extra
An optional string custom data
4.Once the developer's server receives the postback, it will need to return 200 or 403 to the Mintegral server.
5.If no response is received from the developer's server 20 seconds after the Mintegral server initiates a postback, Mintegral will retry every 5 minutes for the next 24 hours.
Static Interstitial
The interstitial ad will display a large image ad on the screen, and the user can close the ad by clicking the close button.
Note: Mintegral has launched a new Interstitial Video ad type that offers better visuals and experience than regular Interstitial ads. This ad format is only available to certain developers, please contact your AM or write to developer@mintegral.com if needed.
Interstitial sample:

Import header file
Create the MTGInterstitialAdManager
When initializing, you need to pass in the ad's Placement Id and Unit Id. The "adCategory" controls the advertising app category and if there are no special requirements here, please set it as MTGInterstitial_AD_CATEGORY_ALL(or figure "0").
Load and display Ads
Get Request ID
If you find a problem during the ad display, you can use this method to get the Request ID and feed it back to MTG. It needs to be called after load success
Sample code
Interstitial Video
Interstitial Video ads are upgraded versions of state ads that show users a full-screen or half-screen video, increasing user interest through more engaging videos.
Sample video in portrait view:

Import the header file
Create the MTGInterstitialVideoAdManager
When initializing, you need to pass in the ad's Placement Id and Unit Id.
Load and show Ads
Mute
Make sure make this call before load
Setting Interstitial Video RewardMode
Make sure make this call before load
Get Request ID
If you find a problem during the ad display, you can use this method to get the Request ID and feed it back to MTG. It needs to be called after load success
Sample code
Interactive Ads
Interactive ad is a new ad format launched by Mintegral, in which users can instantly experience any app or game in the highest quality possible, before the download.This greatly improves the possibility of conversion. The current ads creatives are mainly interactive videos and HTML5 files.
Note: This ad format is only available to certain developers, please contact your AM or write to developer@mintegral.com if needed.
Interactive Ad UI sample

Import the header file
Create the MTGInterActiveManager
Initialize the MTGInterActiveManager and send in unit ID,then set up the MTGInterActiveManager delegate。
Setting alertView
NOTE:Must be called before loadAd
Get Request ID
If you find a problem during the ad display, you can use this method to get the Request ID and feed it back to MTG. It needs to be called after load success
Load Ads and display Ads
Sample code
Splash Ads
SplashAD is one of the most popular forms of advertising. This type is more suitable for placing e-commerce and brand advertisements, and traffic access is also very suitable for accessing application-type traffic. Users can click on the ad to jump to the ad landing page, or click on the "skip" button in the upper right corner to jump to the app content home page. It will load when your app is opened, and automatically close and enter your app's main interface after the display is complete.
Style: There are two styles of half-screen and full-screen ads. In the case of half-screen, it supports the definition of logo images, and also supports vertical and horizontal screens.
Splash Ad UI sample:

Import the header file
Initialize the MTGSplashAD
When initializing MTGSplashAD, you can set the countdown (if not set, the default is 5s), whether to allow the setting to be skipped (if not set, the default is to allow skipping), half screen and full screen settings (customizable Size), horizontal and vertical screen settings (if not set, the default is using the current orientation of the device)
Note:customViewSize should not greater than 25% of the device's size
Set delegate
Background image & color
There are two ways to load and show ads
(Recommend)Load ads first, and then show at the right time, which two steps are separated. Please call preload at an appropriate time. The interval between preload and show should not be too long during the life cycle of the app. It is recommended that it should not exceed 30 minutes. After calling preload, when you need to call show method, you can use isADReadyToShow to determine whether it can be displayed. If it is YEs, call show method. If it is No, you can call loadAndShowInKeyWindow. Load and show ads, which two steps are done by one method.
Load first, and then show at the right time
Note: 1. You can call the isADReadyToShow method before show ads to detect whether there are cached ads locally. 2. The customView parameter can pass the custom pictures. (The customView's size should be the same as the customSize set when initializing splashAD, and in case of inconsistency is based on the customView size, which was previously reserved for the logo.)
Load and show ads
timeout: If the SDK does not complete the ad loading (i.e. the load times out) within a specified time, it closes directly. The unit is ms. If passed 0, the value is 5000ms.
The cache is flushed every time preload is called. You can call preload, then showInKeyWindow: customView, or preload, then showloadShowShowInKeyWindows:customView:timeout:, Both calls take precedence over the cache after the call to preload.
MTGSplashAD callback
Sample code
Test ID
The Ads you get during the test is the official Ads of Mintegral, so it will be affected by the intelligent optimization of the algorithm. If the loading fails frequently during the test and returns EXCEPTION_RETURN_EMPTY, you can use the following test id for testing.
AppKey
7c22942b749fe6a6e361b675e96b3ee9
AppID
118692
Ad format
Sample ad unit ID
Placement ID
Banner
146898
138804
Native
146891
138797
Auto Rending Native
262716
204222
Rewarded Video
146892
138798
Static Interstitial
146896
138802
Interstitial Video
146894
138800
Interactive Ads
146897
138803
Splash
215246
177221
FAQs
1.Why call the preload? A:Preload:You can cache the ads data before display then use the cache data for the next impression. This helps to reduce ads' loading time, improve user experience and increase your revenue.
2.Why do the ads jump so slowly for the first time? A: The ads will go through several layers of 302 redirects before reaching the final URL. The NativeHandler is notified when the page jump is complete and developers can setup a loading dialogue at this time.
3.Why are no ads returned sometimes? A:Please check whether the AppId,AppKey,UnitId,and PlacementId are correct; and then check the offers status in the Mintegral dashboard.
4.Why there are two different languages in the offers? A:MTGSDK identifies the network IP. So the corresponding area language will be adopted. Also, since English is a universal language there will usually be two languages: English and the local language.
5.Why can't the ads be downloaded sometimes? A: Check your appstore network connection; check whether your Apple account is in alignment with the area you are connected to.
6.What is the amount of offers for a specific area? A:The number of offers for a specific area is equal to the total number of offers that is promoted in this area. So even if the ad requests exceed the total offer amount, the number won't increase.
7.How long will Native Ad image resources be cached A:They will be cached for 7 days.
The description of return-status
code of status
message
description
-1
EXCEPTION_RETURN_EMPTY
ads no fill
-10
EXCEPTION_SIGN_ERROR
AppID and appKey do not match correctly
-9
EXCEPTION_TIMEOUT
request timeout
-1201
EXCEPTION_UNIT_NOT_FOUND
Can not find the unitID in dashboard
-1202
EXCEPTION_UNIT_ID_EMPTY
unitID is empty
-1203
EXCEPTION_UNIT_NOT_FOUND_IN_APP
Can not find the unitID of the appID
-1205
EXCEPTION_UNIT_ADTYPE_ERROR
The adtype of the unitID is wrong
-1208
EXCEPTION_UNIT_BIDDING_TYPE_ERROR
The UnitID bidding type does not match the request API. The UnitID cannot be changed bidding type, need creat a new UnitID again
-1301
EXCEPTION_APP_ID_EMPTY
appID is empty
-1302
EXCEPTION_APP_NOT_FOUND
Can not find the appId
-1904
EXCEPTION_IV_RECALLNET_INVALIDATE
The network status at the time of the request is incorrect. Generally, because of the SDK initialization is not completed yet when the request has been sent .
-1915
EXCEPTION_FILTER_BY_PLACEMENTID_INCONSISTENT
PlacementID is wrong
-2102
EXCEPTION_SERVICE_REQUEST_OS_VERSION_REQUIRED
Unable to get os_version, usually caused by GDPR configuration returning false
-129300060
kMTGErrorCodeUnknownError
Unknown Error
-129300061
kMTGErrorCodeRewardVideoFailedToLoadVideoData
Invalid Ads
-129300068
kMTGErrorCodeRewardVideoFailedToLoadMd5Invalid
MD5 checked failed
-129300001
KMTGErrorCodeEmptyUnitId
unit id is empty
-129300002
KMTGErrorCodeEmptyBidToken
BidToken is empty
-12930001
kMTGErrorCodeNoAds
No Ads fill
-12930003
kMTGErrorCodeURLisEmpty
Url is Empty
-12930004
kMTGErrorCodeNoAdsAvailableToPlay
No available ads to play
-12930006
kMTGErrorCodeFailedToLoad
Load ads failed
-12930007
kMTGErrorCodeFailedToShow
Show ads failed
-12930009
kMTGErrorCodeDailyLimit
video play reach daily limit,please check unit setting on dashboard
-12930010
kMTGErrorCodeLoadAdsTimeOut
Load timeout
-12930011
kMTGErrorCodeMaterialLoadFailed
load resource failed
-12940001
kMTGErrorCodeNoSupportPopupWindow
not support PopupWindow with GDPR
Instruction for EU-GDPR version
On May 25th, 2018, the European Union’s General Data Protection Regulation (GDPR) went into effect. Developers need to update all Mintergal SDKs and integrate following the below description in the future. If not integrated with the below steps in mind, your ad serving will be affected. At the same time, we have updated the Mintegral Privacy Policy. for your reference.
API Introduction
1.This API allows the GDPR notification to pop up. If you would like this type of presentation, you will need to use the below code before SDK initialization.
Sample Code
2.To set up the on and off switch to allow SDK to retrieve users' information,you will need to adopt the below code before SDK initialization.
Sample Code
Attention
1.If you do not enable the SDK to gather users' information, it will affect overall ad serving and possibly result in no ad returns.
2.When integrating the SDK for apps used by EU users, it is recommended that developers obtain users' consent before initializing the SDK.
CCPA Preparation
On June 28, 2018, the State of California (“California“) issued the California Consumer Privacy Act 2018 (“CCPA”), which aims to strengthen consumer privacy and data security protection, which will be effective On January 1st, 2020. For California users, you can use the setDoNotTrackStatus API to limit data processing based on the user's selection. After the setup is completed, Mintegral will no longer show personalized recommended ads to the user based on the their device information, and will not sync the device information to other third-party partners. The API is available in SDK version 5.8.7 and above.
API Introduction
To set up the on and off switch to allow SDK to retrieve users' information,you will need to adopt the below code before SDK initialization.
Sample Code
Change Log
Version
Change Log
Publish Date
6.9.4
RewardVideo server callback supports passing in extra data
Jun 17,2021
6.9.3
Support the reward info in the campaign
Jun 04,2021
6.9.1
Removed the dependency on Xcode12.5,do not need to use Xcode12.5 or higher to build your project
May 07,2021
6.9.0
1. Support for SKAdNetwork conversion events using SKAdImpression; 2. Bug fixed.
Apr 27,2021
6.8.0
SDK Performance optimization
Apr 08,2021
6.7.9
Optimize the reporting of SKAdNetwork ID
Mar 30,2021
6.7.7
1.Optimize the banner display lag problem 2. Bug fixed
Mar 11,2021
6.7.6
1. Support for SKAdNetwork V_2.1 2. SDK Performance optimization
Jan 15,2021
6.7.5
Support SKOverlay: Using Apple's new SKOverlay to improve user's ad experience with a seamless presentation of the app store for app recommendation
Jan 05,2021
6.7.4
Fix a bug where NativeAd Impression callback did not fire
Dec 24,2020
6.7.3
1. Replace the obsolete API 2. Fix a bug where the RewardVideo unitid passes nil crash
Dec 20,2020
6.7.2
SDK Performance optimization
Dec 10,2020
6.7.1
Fixed NativeVideo bug
Dec 09,2020
6.7.0
1. Support for iOS 14 display zoomed mode 2. Bug fixed
Dec 01,2020
6.6.9
Based on the optimization suggestions put forward after the sonar service scan, code optimization
Nov 18,2020
6.6.8
Remove the remaining phone memory and device user name etc.
Nov 13,2020
6.6.6
SDK added to recognize 5G network status
Oct 30,2020
6.6.5
Bug fix
Oct 22,2020
6.6.3
Optimize the parameter restrictions in the show method of the Splash adformat
Sep 25,2020
6.6.2
1. Support for publishers to obtain requestId 2. Optimize SDK
Sep 23,2020
6.6.1
Add setting alternate domain name
Sep,18 2020
6.6.0
1. Optimize GDPR, delete GDPR pop-up window; 2. Optimize support for iOS14,remove skoverlay;3. Bug fixed
Sep,10 2020
6.5.0
iOS 14 compatible version and support SKAdNetwork
Sep,03 2020
6.4.1
1.Performance optimization 2.bug fixed
Aug 26,2020
6.4.0
1. RV add reward plus for reward optimization 2. NV support play complete callback 3. bid framework add reward plus 4. bug fix
Aug 13,2020
6.3.7
Fixed crash that occasionally caused by missing reward information on VideoAdDismissed callback in certain scenarios
Aug 04,2020
6.3.5
Fix the application sound cannot be restored after ads played
Jul 16,2020
6.3.4
Cancel auto refresh at Banner Header Bidding mode
Jul 08,2020
6.3.3
1. Upgrade GDPR 2. Update OMSDK (Thorough removed UIWebView from the SDK) 3. MTGSDK only supports XCode11 and after versions. 4. Bug fixed.
Jun 24,2020
6.3.2
1.Optimize SDK log reporting 2. Bug fixed
May 29,2020
6.3.1
Automatic Rending Native;2. Bug fixed
May 26,2020
6.2.0
Add Placement id
Apr 16,2020
6.1.3
Bug fixed
Apr 14,2020
6.1.2
Compatible BUAdSDK WKWebView bug
Mar 19,2020
6.1.1
Optimized Header Bidding buyeruid parameters
Mar 13,2020
6.1.0
Fixed request failure in a specific scenario from version 5.9.0 or later
Mar 09,2020
6.0.0
1. H5 template optimization; 2. Used Xcode 9.2 to build sdk 3. Added Splash Ad format
Mar 03,2020
5.9.0
1.Add Interstitial Video Rewardmode; 2.Interstitial Video、RewardVideo、Interactive supports setting AlterView
Feb 14,2020
5.8.8
1. Added the shutdown callback API in Banner; 2. Optimized the memory release of BannerAdView when the developer destroyed it in advance
Jan 09,2020
5.8.7
1. MTGSDK adds doNotTrackStatu API for CCPA; 2. Add idfv parameter to bid interface to report;
Dec 26,2019
5.8.6
1. Banner supports external DSP traffic; 2. Banner memory performance optimization (web timely release)
Dec 20, 2019
5.8.5
1.Performance improvement
Dec 12, 2019
5.8.4
1.Remove UIWebView; 2. Be compatible with ios13.1 storekit and xcode11.1
Nov 11, 2019
5.8.3
1.Support HB for Banner
Oct 17, 2019
5.8.2
1.Sdk improvement
Oct 12, 2019
5.8.1
1.InterstitialVideo Improvement
Oct 02, 2019
5.8.0
1.Added Open Measurement SDK; 2.Supported mraid expend on Banner ad format
Sep 26, 2019
5.7.1
1.Banner callbacks improvement
Sep 16, 2019
5.7.0
1.Added support for iOS 13; 2.Updated the minimum required iOS version to 8.0
Sep 06, 2019
5.6.1
1.HB internal optimization
Aug 30, 2019
5.6.0
1.Added Banner ad format
Aug 27, 2019
5.5.3
1.Fix header bidding exception
Jul 24, 2019
5.5.2
1.Support Marid
Jul 18, 2019
5.4.2
1.Optimized the SDK 2.Add Head-Bidding
Jun 13, 2019
5.3.3
1.Optimized the SDK 2.Remove Geolocation related code
May 08, 2019
5.3.2
1.Optimized the storekit 2.Added onVideoAdDidClosed of Rewardvideo and Interstitialvideo
Apr 10, 2019
5.3.1
Remove Geolocation related code
Apr 19, 2019
5.3.0
1.Optimized the storekit 2.Fixed some bugs
Apr 10, 2019
5.2.0
1.Optimized the logic of RV and IV advertising
Mar 22, 2019
5.1.0
1.Optimized the Nativevideo
Mar 12, 2019
5.0.0
1.Optimized SDK
Mar 06, 2019
4.9.4
1.Optimized SDK
Feb 26, 2019
4.9.3
1.Optimized SDK
Feb 22, 2019
4.9.2
1.Fixed bugs
Feb 20, 2019
4.9.1
1.Fixed bugs
Jan 13, 2019
4.9.0
1.Added AdchoiceView
Jan 10, 2019
4.8.0
1.Fixs bugs
Dec 09, 2018
4.7.0
1.Fixs bugs
Oct 23, 2018
4.5.0
1.Callback method of Video-type advertisement optimization
Sep 18, 2018
4.4.0
1.Fixed bugs
Sep 13, 2018
4.3.0
1.Redirect optimization
Jul 30, 2018
4.2.0
1.Added Interactive Ad status callback 2.Added isReady method for Interactive Ad format
Jul 20, 2018
4.1.0
1.Interactive Ad optimization 2.Reduced framework size
Jul 10, 2018
3.9.0
1.Added Interactive Ad format
Jun 8, 2018
3.8.0
1.In compliant with GDPR
May 7, 2018
3.6.0
1.Added Interstitial Video 2.Removed third party ad source for Rewarded Videos
Apr 28, 2018
3.5.0
1.Native Video optimization 2.Error callback optimization 3.App Wall reminders optimization
Apr 10, 2018
3.4.2
1.Preload optimization
Mar 28, 2018
3.4.0
1.Added Native Video template 2.Fixed AppWall status bar black screen issue 3.Rewarded Video optimization
Mar 13, 2018
3.3.5
1.Network request optimization
Feb 26, 2018
3.3.4
1.Fixed occasional crash issue when concurrently loading multiple ad units
Feb 11, 2018
3.3.3
1.Redirect optimization
Feb 9, 2018
3.3.2
1.xCode8 adaptation 2.Fixed firebase conflict
Feb 1, 2018
3.3.0
1.Rewarded Video orientation optimization 2.Native Video template optimization
Jan 29, 2018
3.2.1
1. Optimized the play mode performance of Rewarded Videos; 2. Added the feature of filling the entire MideaView when Native Video displays large images 3. Fixed crash issue that can be caused by image loading
Jan 22, 2018
3.2.0
1.Native Video optimization 2.Rewarded Video optimization
Jan 12, 2018
3.1.0
1.Rewarded Video can be set as mute by developers 2.Rewarded Video optimization
Dec 22, 2017
2.9.0
1. A setting was created that allows videos to be played even when it is not yet fully downloaded on to the user's phone. The percentage of download required for the video to start playing is set through the dashboard. 2. Mediaview now supports auto replay and when a new video is ready it will automatically play. 3. VideoSupport parameter is discarded for Native ads, either static or video ads is available and determined by backend server. 4. UI is optimized for MediaView feeds and full screen ad format. 5. MTGSDK now supports uploading user information.
Dec 1, 2017
2.8.0
1. MTGSDK adds autoSetAudioCategory property which can be set by developers. It is set as disabled by default. The function allows publishers to allow SDK to auto-set the audio mode. When enabled, the audio will be played through mix mode when phone is on silent mode and exclusive mode when phone is not on silent mode.
Nov 23, 2017
2.7.0
1.StoreKit optimization 2.Bug fix
Sep 11, 2017
2.6.0
1.Updated style of the Rewarded Video playback interface. 2.Publishers can now set Rewarded Video daily cap. 3.Publishers can now configure when to show the close button for Rewarded Video. 4.Publishers can now set the Rewarded Video's orientation. 5.Added viewController property to the MTGNativeAdManager. 6.Extended callback for MTGNativeAdManager,MTGOfferWallAdManager,MTGInterstitialAdManager,and added admanage parameter. 7.Added currentUnitId property to MTGNativeAdManager,MTGOfferWallAdManager,MTGInterstitialAdManager.
Aug 22, 2017
2.5.0
1. Fixed the occasional black screen issue with Native Videos.
Jul 14, 2017
2.4.0
1. New function: MTGSDK supports Native Videos.
Jul 3, 2017
2.3.0
1.Fixed bugs and functionalities optimized.
Jun 15, 2017
2.2.0
1.Fixed the white screen issue that occurs when you click twice to install the store kit while in horizontal view. Fixed bug where the page jumps out of the app when preloading store kit in horizontal view.(Both issues occured in iOS 9 and above and iPhone 6+ phones).
Jun 7, 2017
2.1.0
1.Fixed Rewarded Video showSuccess callback problem in iOS 9.2.1.
May 25, 2017
2.0.0
1.Performance and stabilization optimization.
May 12, 2017
Last updated
Was this helpful?