Hive AdKit is an advertisement module which fixes errors occurred in processing AD(X) Unity package and supports user convenience. Read this page one by one for using Hive AdKit as well as support SDK.
- Minimum Supported SDK Version
- Hive SDK v4.14.4.0
- Hive SDK v4.14.4.0 KS
Hive AdKit supports Unity and Cocos2D-X engine.
Download
Release Date | Download |
---|---|
2023-08-10 | HiveAdKit_v1.4.3_for_Unity_ADX.zip |
Release Notes
V1.4.3 (2023-08-10)
- Updated to use ADX-Unity 2.3.5.
- Changed to use ADXLibrary-Android 2.3.10.
- Changed to use ADXLibrary-iOS 2.3.7.
- Fixed an issue that the eCPM received via OnPaidEvent was less than the actual value.
V1.4.2 (2023-06-20)
- Updated to use ADX-Unity 2.3.4.
- Changed to use ADXLibrary-Android 2.3.8.
- Changed to use ADXLibrary-iOS 2.3.5.
- Changed to receive OnPaidEvent. With the OnPaidEvent, you can get the expected eCPM during ad exposure. You can get the estimated ad revenue per impression Rewarded Video, and Interstitial.
V1.4.1 (Mar 20, 2023)
-
Updated to use ADX-Unity 2.3.2.
- Changed to use ADXLibrary-Android 2.3.3.
- Changed to use ADXLibrary-iOS 2.3.2.
V1.4.0 (Feb 20, 2023)
- iOS – You need to build on Xcode 14 or later.
-
Updated to version ADX-Unity 2.3.0.
- Changed to use ADXLibrary-Android version 2.3.0.
- Changed to use ADXLibrary-iOS version 2.3.0.
- AdMob-Unity 7.4.0 (See Google Mobile Ads Unity Plugin Change Log.)
- SKAdNetwork ID has been renewed.
- EDM4U 1.2.175 version is provided.
V1.3.3 (Aug 22, 2022)
- Updated ADX-Unity to 2.2.6
- Supports to use ADXLibrary-iOS 2.2.6
- Supports to use ADXLibrary-Android 2.2.6
- Fixed crash may occur when generating under-a-sec-running ads continuously
- EDM4U 1.2.171 is now available
V1.3.2 (May 25, 2022)
- Updated ADX-Unity to 2.1.7
- Supports to use ADXLibrary-iOS 2.1.8
V1.3.1 (May 19, 2022)
- Updated ADX-Unity to 2.1.6
- Supports to use ADXLibrary-Android 2.1.6
V1.3.0 (May 17, 2022)
- Available to include the individual additional information when sending logs
- Updated ADX-Unity to 2.1.5
- Supports to use ADXLibrary-Android 2.1.5
- Supports to use ADXLibrary-iOS 2.1.7
- AdMob-Unity 6.1.2
- Removed MoPub
- Removed MoPubSDK from Github (Not found the link)
- Renewed SKAdNetwork ID
How to Use
iOS (Unity 2019.4 and higher)
When you build an iOS project on Unity 2019.4 and higher, Unity generates the UnityFramework target that behaves with DynamicFramework.
- Setting EDM4U (Based on 1.2.171)
Make sure that set up to build static_framwork in iOS Resolver Settings (menu: Assets > External Dependency Manager > iOS Resolver > Settings) of Unity editor.
- Check the settings of Podfile by using an editor.
- Perform a procedure of Xcode settings.
Features
- Rewarded type
- AD(X) does not provide an API for advertisement exposure but informs to follow the AdMob guide.
- Sending log is determined depending on the called RewardVideo API if Hive AdKit API and Hive SDK are in use. Log data is sent to Hive Analytics server, and the minimum version which supports this feature is as follows.
- Hive SDK v4.11.0
- Interstital type
- Adaptive banner type
For details how to use Hive AdKit, read the following guide.
Initializing Hive AdKit
Required step before initializing, loading and showing all types of advertisement (AD)
1 2 3 4 5 6 7 8 9 |
/* * Sets the use and collection state of AD(X) user privacy * 0 : Agreement state is inexistent * 1 : Location where agreement is non-essential * 2 : User agreed to use and collect the privacy * 3 : User disagreed to use and collect the privacy */ int consentState = 1; HIVEAdKit.InitializeWithSetConsentState(appId, consentState); |
Advanced Settings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// GameData Example [Serializable] public class SendInfo { public int level; public int gold; } SendInfo addtionalInfo = new SendInfo(); addtionalInfo.level = 1; addtionalInfo.gold = 100; // Send as a JSON Obejct format HIVEAdKit.SetAdditionalInfo(JsonUtility.ToJson(addtionalInfo)); |
Rewarded 타입 광고
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// Initialize Rewarded AD // Initialize Rewarded AD EventHandlers eventHandlers = new EventHandlers.Builder() .OnAdLoaded(OnAdLoadedCB) .OnAdOpening(OnAdOpeningCB) .OnAdClosed(OnAdClosedCB) .OnAdFailedToLoad(OnAdFailedToLoadCB) .OnAdFailedToShow(OnAdFailedToShowCB) .OnAdReward(OnAdRewardCB) .OnPaidEvent(OnPaidEventCB) .Build(); // Generate an instance RewardVideoAd = HIVEAdKit.RewardVideo.Initialize(rewardVideoUnitId, eventHandlers); // Load Rewarded AD // Send AD loading information to Hive Analytics if( HIVEAdKit.RewardVideo.IsInitialzed(RewardVideoAd) ) { HIVEAdKit.RewardVideo.LoadAd(RewardVideoAd, "Unity-AdaptiveBanner-Show-AdditionalInfo"); } // Show RewardVideo type // Send AD loading information to Hive Analytics if( HIVEAdKit.RewardVideo.IsLoaded(RewardVideoAd) ) { HIVEAdKit.RewardVideo.Show(RewardVideoAd, "Unity-AdaptiveBanner-Show-AdditionalInfo"); } |
Interstitial type
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
EventHandlers eventHandlers = new EventHandlers.Builder() .OnAdLoaded(OnAdLoadedCB) .OnAdOpening(OnAdOpeningCB) .OnAdClosed(OnAdClosedCB) .OnAdFailedToLoad(OnAdFailedToLoadCB) .OnAdClick(OnAdClickCB) .OnPaidEvent(OnPaidEventCB) .Build(); // Generate an instance InterstitialAd = HIVEAdKit.Interstitial.Initialize(InterstitialAdUnitId, eventHandlers); // Load // Send AD loading information to Hive Analytics if( HIVEAdKit.Interstitial.IsInitialzed(InterstitialAd) ) { HIVEAdKit.Interstitial.Load(InterstitialAd, "Unity-AdaptiveBanner-Show-AdditionalInfo"); } // Show // Send AD loading information to Hive Analytics if( HIVEAdKit.Interstitial.IsLoaded(InterstitialAd) ) { HIVEAdKit.Interstitial.Show(InterstitialAd, "Unity-AdaptiveBanner-Show-AdditionalInfo"); } |
Adaptive Banner type
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
EventHandlers eventHandlers = new EventHandlers.Builder() .OnAdLoaded(OnBannerAdLoadedCB) .OnAdOpening(OnAdOpeningCB) .OnAdClosed(OnAdClosedCB) .OnAdFailedToLoad(OnAdFailedToLoadCB) .OnAdClick(OnAdClickCB) .Build(); HIVEAdKit.AdaptiveBanner.AdPosition bannerPosition = HIVEAdKit.AdaptiveBanner.AdPosition.Top; HIVEAdKit.AdaptiveBanner.AdSize adaptiveSize = HIVEAdKit.AdaptiveBanner.AdSize.AD_SIZE_320x50; // Generate an instance AdaptiveBannerAd = HIVEAdKit.AdaptiveBanner.Initialize(AdaptiveBannerAdUnitId, adaptiveSize, bannerPosition, eventHandlers); // Load and show // Send AD loading information to Hive Analytics HIVEAdKit.AdaptiveBanner.LoadAd(AdaptiveBannerAd, "Unity-AdaptiveBanner-Show-AdditionalInfo"); // Hide HIVEAdKit.AdaptiveBanner.Destroy(AdaptiveBannerAd); |
Supporting iOS 14
Following is SKAdNetwork list of AD(X) for supporting iOS 14 and later version. AdKitPostprocess is based on the update on January 29, 2021. Don’t forget to check the latest update.
- SKAdNetwork update
Supporting Android 11
A tag <queries> is added to the AndroidManifest.xml file of AD(X) library by supporting Android 11. If you check the error log as follows while building your project on Unity, refer to the guidelines to build with Unity-Android 11.
- Sample error log on Unity
1 |
AndroidManifest.xml: AAPT: error: unexpected element <queries> found in <manifest>. |
- Guidelines to build with Unity-Android 11
ADX Proguard Setting
The library AAR file includes the rule of Proguard, so that the setting carries out automatically.
Unity Integrate Notice
If the App ID on GoogleMobileAdsSettings is removed, go to Unity > Assets > Google Mobile Ads > Settings and select the Delay app measurement checkbox, then clear it again.
ADX Gradle Setting
On the Unity 2020 and later, add the following code in the gradle properties file(Assets/Plugins/Android/gradleTemplate.properties) not to occur a crash by a specific ad network when requesting ads.
1 2 |
android.enableDexingArtifactTransform=false |
Test Ads
It is important for advertiser not to be charged when test ad is clicked in development. If you click ads too much out of test mode, it is regarded as invalid action. Therefore, be aware not to be a target account to report. Refer to the Google Developers to use a test ad.
The Library Versions for Hive AdKit v1.4.3
- ADXLibrary
- ADXLibrary-Unity 2.3.5
- ADXLibrary-Android 2.3.10
- ADXLibrary-Android-rewarded-video 2.3.10
- ADXLibrary-Android-adx-library-standard 2.3.10
- ADXLibrary-Android-adx-library-base 2.3.10
- ADXLibrary-iOS 2.3.7
- ADXLibrary-iOS/Standard 2.3.7
- ADXLibrary-iOS/Rewarded 2.3.7
- ADXLibrary-iOS-FBAudienceNetwork 2.3.7
- ADXLibrary-iOS-UnityAds 2.3.7
- ADXLibrary-iOS-Pangle 2.3.7
- ADXLibrary-iOS-Fyber 2.3.7
- ADXLibrary-iOS-Mintegral 2.3.7
- AdMob-Unity 7.4.0
- AdMob-Android 21.3.0
- AdMob-iOS 9.14.0
- UnityAds-Android 4.5.0
- UnityAds-iOS 4.5.0
- Cauly-Android 3.5.20
- Cauly-iOS 3.1.21
- AdPieSDK-Android 1.12.2
- AdPieSDK-iOS 1.4.9
- AdFit-Android 3.12.9
- AppLovin-iOS 11.6.1
- AppLovin-Android 11.6.1
- Fyber-iOS 8.1.6
- Fyber-Android 8.2.1
- Pangle-iOS 5.1.1.0
- Pangle-Android 4.7.1.7
- Mintegral-iOS 7.2.8
- Mintegral-Android 16.3.11
- Tnk SDK-iOS 1.11
- Tnk SDK-Android 7.21.7