diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.Android.dll b/Assets/GoogleMobileAds/GoogleMobileAds.Android.dll
new file mode 100755
index 0000000..8692740
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.Android.dll differ
diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.Common.dll b/Assets/GoogleMobileAds/GoogleMobileAds.Common.dll
new file mode 100755
index 0000000..a5c4a7c
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.Common.dll differ
diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.Core.dll b/Assets/GoogleMobileAds/GoogleMobileAds.Core.dll
new file mode 100755
index 0000000..21ab28d
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.Core.dll differ
diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.Ump.Android.dll b/Assets/GoogleMobileAds/GoogleMobileAds.Ump.Android.dll
new file mode 100755
index 0000000..3783a7b
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.Ump.Android.dll differ
diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.Ump.Unity.dll b/Assets/GoogleMobileAds/GoogleMobileAds.Ump.Unity.dll
new file mode 100755
index 0000000..39564fa
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.Ump.Unity.dll differ
diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.Ump.dll b/Assets/GoogleMobileAds/GoogleMobileAds.Ump.dll
new file mode 100755
index 0000000..66315e6
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.Ump.dll differ
diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.Unity.dll b/Assets/GoogleMobileAds/GoogleMobileAds.Unity.dll
new file mode 100755
index 0000000..e331827
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.Unity.dll differ
diff --git a/Assets/GoogleMobileAds/GoogleMobileAds.dll b/Assets/GoogleMobileAds/GoogleMobileAds.dll
new file mode 100755
index 0000000..9901664
Binary files /dev/null and b/Assets/GoogleMobileAds/GoogleMobileAds.dll differ
diff --git a/Assets/GoogleMobileAds/link.xml b/Assets/GoogleMobileAds/link.xml
new file mode 100755
index 0000000..7db049d
--- /dev/null
+++ b/Assets/GoogleMobileAds/link.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Assets/GoogleMobileAdsNative/Editor/GoogleMobileAdsNativeDependencies.xml b/Assets/GoogleMobileAdsNative/Editor/GoogleMobileAdsNativeDependencies.xml
new file mode 100755
index 0000000..90dccc0
--- /dev/null
+++ b/Assets/GoogleMobileAdsNative/Editor/GoogleMobileAdsNativeDependencies.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.Android.dll b/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.Android.dll
new file mode 100755
index 0000000..e58f0a9
Binary files /dev/null and b/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.Android.dll differ
diff --git a/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.Common.dll b/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.Common.dll
new file mode 100755
index 0000000..4eff893
Binary files /dev/null and b/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.Common.dll differ
diff --git a/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.dll b/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.dll
new file mode 100755
index 0000000..ce93dea
Binary files /dev/null and b/Assets/GoogleMobileAdsNative/GoogleMobileAdsNative.dll differ
diff --git a/Assets/GoogleMobileAdsNative/link.xml b/Assets/GoogleMobileAdsNative/link.xml
new file mode 100755
index 0000000..3940afc
--- /dev/null
+++ b/Assets/GoogleMobileAdsNative/link.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Assets/Plugins/Android/TapsellMediationAdmobAdapterPlugin.androidlib/AndroidManifest.xml b/Assets/Plugins/Android/TapsellMediationAdmobAdapterPlugin.androidlib/AndroidManifest.xml
new file mode 100755
index 0000000..6f0a631
--- /dev/null
+++ b/Assets/Plugins/Android/TapsellMediationAdmobAdapterPlugin.androidlib/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/TapsellMediationAdmobAdapterPlugin/AndroidManifest.xml b/Assets/Plugins/Android/TapsellMediationAdmobAdapterPlugin/AndroidManifest.xml
new file mode 100644
index 0000000..6f0a631
--- /dev/null
+++ b/Assets/Plugins/Android/TapsellMediationAdmobAdapterPlugin/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/TapsellMediationApplovinAdapterPlugin.androidlib/AndroidManifest.xml b/Assets/Plugins/Android/TapsellMediationApplovinAdapterPlugin.androidlib/AndroidManifest.xml
new file mode 100755
index 0000000..323ba7e
--- /dev/null
+++ b/Assets/Plugins/Android/TapsellMediationApplovinAdapterPlugin.androidlib/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/TapsellMediationApplovinAdapterPlugin/AndroidManifest.xml b/Assets/Plugins/Android/TapsellMediationApplovinAdapterPlugin/AndroidManifest.xml
new file mode 100644
index 0000000..323ba7e
--- /dev/null
+++ b/Assets/Plugins/Android/TapsellMediationApplovinAdapterPlugin/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/TapsellMediationPlugin.androidlib/AndroidManifest.xml b/Assets/Plugins/Android/TapsellMediationPlugin.androidlib/AndroidManifest.xml
index dc0bb13..2675ed1 100755
--- a/Assets/Plugins/Android/TapsellMediationPlugin.androidlib/AndroidManifest.xml
+++ b/Assets/Plugins/Android/TapsellMediationPlugin.androidlib/AndroidManifest.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/TapsellMediationPlugin/AndroidManifest.xml b/Assets/Plugins/Android/TapsellMediationPlugin/AndroidManifest.xml
new file mode 100644
index 0000000..dc0bb13
--- /dev/null
+++ b/Assets/Plugins/Android/TapsellMediationPlugin/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Plugins/Android/googlemobileads-native-unity.aar b/Assets/Plugins/Android/googlemobileads-native-unity.aar
new file mode 100755
index 0000000..c9a5782
Binary files /dev/null and b/Assets/Plugins/Android/googlemobileads-native-unity.aar differ
diff --git a/Assets/Plugins/Android/googlemobileads-unity.aar b/Assets/Plugins/Android/googlemobileads-unity.aar
new file mode 100755
index 0000000..e2005d8
Binary files /dev/null and b/Assets/Plugins/Android/googlemobileads-unity.aar differ
diff --git a/Assets/Plugins/Android/mainTemplate.gradle b/Assets/Plugins/Android/mainTemplate.gradle
index 3231f50..1180ed4 100755
--- a/Assets/Plugins/Android/mainTemplate.gradle
+++ b/Assets/Plugins/Android/mainTemplate.gradle
@@ -4,8 +4,14 @@ apply plugin: 'com.android.library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
- implementation 'ir.tapsell.mediation.adapter:legacy-unity:1.0.1-beta04' // Assets/Tapsell/Mediation/Adapter/Legacy/Editor/LegacyAdapterDependencies.xml:3
- implementation 'ir.tapsell.mediation:tapsell-unity:1.0.1-beta04' // Assets/Tapsell/Mediation/Editor/MediationDependencies.xml:3
+ implementation 'com.google.code.gson:gson:2.8.5' // Assets/GoogleMobileAdsNative/Editor/GoogleMobileAdsNativeDependencies.xml:3
+ implementation 'ir.tapsell.mediation.adapter:admob-unity:1.0.1-beta07' // Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobAdapterDependencies.xml:7
+ implementation 'ir.tapsell.mediation.adapter:applovin-unity:1.0.1-beta07' // Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinAdapterDependencies.xml:7
+ implementation 'ir.tapsell.mediation.adapter:fyber-unity:1.0.1-beta07' // Assets/Tapsell/Mediation/Adapter/Fyber/Editor/FyberAdapterDependencies.xml:7
+ implementation 'ir.tapsell.mediation.adapter:ironsource-unity:1.0.1-beta07' // Assets/Tapsell/Mediation/Adapter/IronSource/Editor/IronSourceAdapterDependencies.xml:3
+ implementation 'ir.tapsell.mediation.adapter:legacy-unity:1.0.1-beta07' // Assets/Tapsell/Mediation/Adapter/Legacy/Editor/LegacyAdapterDependencies.xml:3
+ implementation 'ir.tapsell.mediation.adapter:mintegral-unity:1.0.1-beta07' // Assets/Tapsell/Mediation/Adapter/Mintegral/Editor/MintegralAdapterDependencies.xml:8
+ implementation 'ir.tapsell.mediation:tapsell-unity:1.0.1-beta07' // Assets/Tapsell/Mediation/Editor/MediationDependencies.xml:3
// Android Resolver Dependencies End
**DEPS**}
diff --git a/Assets/Plugins/Android/settingsTemplate.gradle b/Assets/Plugins/Android/settingsTemplate.gradle
index 0cc1dea..06e558f 100755
--- a/Assets/Plugins/Android/settingsTemplate.gradle
+++ b/Assets/Plugins/Android/settingsTemplate.gradle
@@ -18,6 +18,12 @@ dependencyResolutionManagement {
mavenCentral()
// Android Resolver Repos Start
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
+ maven {
+ url "https://android-sdk.is.com" // Assets/Tapsell/Mediation/Adapter/IronSource/Editor/IronSourceAdapterDependencies.xml:6, Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobAdapterDependencies.xml:7, Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinAdapterDependencies.xml:7, Assets/Tapsell/Mediation/Adapter/Fyber/Editor/FyberAdapterDependencies.xml:7, Assets/Tapsell/Mediation/Adapter/Mintegral/Editor/MintegralAdapterDependencies.xml:8
+ }
+ maven {
+ url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" // Assets/Tapsell/Mediation/Adapter/Mintegral/Editor/MintegralAdapterDependencies.xml:8
+ }
mavenLocal()
// Android Resolver Repos End
flatDir {
diff --git a/Assets/Plugins/Google.MiniJson.dll b/Assets/Plugins/Google.MiniJson.dll
new file mode 100755
index 0000000..4ddf730
Binary files /dev/null and b/Assets/Plugins/Google.MiniJson.dll differ
diff --git a/Assets/Sample/Scenes/MainScene.unity b/Assets/Sample/Scenes/MainScene.unity
index 2b9da90..448e485 100644
--- a/Assets/Sample/Scenes/MainScene.unity
+++ b/Assets/Sample/Scenes/MainScene.unity
@@ -331,6 +331,7 @@ GameObject:
- component: {fileID: 519420032}
- component: {fileID: 519420031}
- component: {fileID: 519420029}
+ - component: {fileID: 519420033}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
@@ -413,6 +414,18 @@ Transform:
- {fileID: 444580470}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &519420033
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 519420028}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 837fb6d38bbd404d82cccfb5eee40333, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &604960663
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/Sample/Scripts/BannerScene.cs b/Assets/Sample/Scripts/BannerScene.cs
index 040dccd..0e30402 100644
--- a/Assets/Sample/Scripts/BannerScene.cs
+++ b/Assets/Sample/Scripts/BannerScene.cs
@@ -1,10 +1,11 @@
-using Tapsell.Mediation.Request;
+using Sample.Scripts;
+using Tapsell.Mediation.Request;
using Tapsell.Mediation.Show.Banner;
using UnityEngine;
public class BannerScene : MonoBehaviour
{
- private const string ZoneID = "bbf65b62-293b-4a34-a39d-8b3acab15771";
+ private const string ZoneID = TapsellMediationKeys.BANNER;
private static string _adId;
private static BannerPosition _position = BannerPosition.Top;
private static BannerSize _size = BannerSize.Banner32050;
diff --git a/Assets/Sample/Scripts/InterstitialScene.cs b/Assets/Sample/Scripts/InterstitialScene.cs
index c007814..23c3a99 100644
--- a/Assets/Sample/Scripts/InterstitialScene.cs
+++ b/Assets/Sample/Scripts/InterstitialScene.cs
@@ -1,8 +1,9 @@
-using UnityEngine;
+using Sample.Scripts;
+using UnityEngine;
public class InterstitialScene : MonoBehaviour
{
- private const string ZoneID = "313f90de-f6f0-4e37-a3b3-d9bacceba92f";
+ private const string ZoneID = TapsellMediationKeys.INTERSTITIAL;
private static string _adId = "";
public void Request()
diff --git a/Assets/Sample/Scripts/MainScene.cs b/Assets/Sample/Scripts/MainScene.cs
new file mode 100644
index 0000000..e4c04be
--- /dev/null
+++ b/Assets/Sample/Scripts/MainScene.cs
@@ -0,0 +1,17 @@
+using System;
+using UnityEngine;
+
+public class MainScene : MonoBehaviour
+{
+ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
+ private static void OnRuntimeInitialize()
+ {
+ // send result of user consent dialog to Tapsell.
+ SetUserConsent();
+ }
+
+ private static void SetUserConsent()
+ {
+ Tapsell.Mediation.Tapsell.SetUserConsent(true);
+ }
+}
\ No newline at end of file
diff --git a/Assets/Sample/Scripts/NativeScene.cs b/Assets/Sample/Scripts/NativeScene.cs
index f557ea1..0c9aef8 100644
--- a/Assets/Sample/Scripts/NativeScene.cs
+++ b/Assets/Sample/Scripts/NativeScene.cs
@@ -1,11 +1,11 @@
-using Tapsell.Mediation.Show.Native;
+using Sample.Scripts;
+using Tapsell.Mediation.Show.Native;
using UnityEngine;
public class NativeScene : MonoBehaviour
{
- private const string ZoneID = "a1822306-55be-4a30-aadd-368dba61a64e";
+ private const string ZoneID = TapsellMediationKeys.NATIVE;
private static string _adId;
-
private static int _viewType = 0;
public void Request()
diff --git a/Assets/Sample/Scripts/RewardedScene.cs b/Assets/Sample/Scripts/RewardedScene.cs
index 06e4f68..826fb56 100644
--- a/Assets/Sample/Scripts/RewardedScene.cs
+++ b/Assets/Sample/Scripts/RewardedScene.cs
@@ -1,8 +1,9 @@
-using UnityEngine;
+using Sample.Scripts;
+using UnityEngine;
public class RewardedScene : MonoBehaviour
{
- private const string ZoneID = "cce935f9-15a0-4cfa-98a6-3f3e3981bca0";
+ private const string ZoneID = TapsellMediationKeys.REWARDED;
private static string _adId;
public void Request()
diff --git a/Assets/Sample/Scripts/SceneManager.cs b/Assets/Sample/Scripts/SceneManager.cs
index f40590f..a73a0ec 100644
--- a/Assets/Sample/Scripts/SceneManager.cs
+++ b/Assets/Sample/Scripts/SceneManager.cs
@@ -3,11 +3,6 @@
public class SceneManager : MonoBehaviour
{
- private void Start()
- {
- // send result of user consent dialog to Tapsell.
- Tapsell.Mediation.Tapsell.SetUserConsent(true);
- }
public void ChangeScene(string sceneName)
{
diff --git a/Assets/Sample/Scripts/TapsellMediationKeys.cs b/Assets/Sample/Scripts/TapsellMediationKeys.cs
new file mode 100644
index 0000000..792791a
--- /dev/null
+++ b/Assets/Sample/Scripts/TapsellMediationKeys.cs
@@ -0,0 +1,70 @@
+using System;
+namespace Sample.Scripts
+{
+
+ public static class TapsellMediationKeys {
+ public const string REWARDED = "1d710cc7-5e96-46ac-a3e9-8463300333e6";
+ public const string INTERSTITIAL = "b3972749-f62a-475a-9ff2-cfc9e2a40f87";
+ public const string NATIVE = "d217e3e6-0070-4120-925d-5d39d0298893";
+ public const string BANNER = "e3d5999c-5990-4e31-8ce9-642ce040a7f4";
+ }
+
+ public static class LegacyKeys {
+ public const string REWARDED = "63b92f04-3d0f-4805-84a4-abeccf4edc18";
+ public const string INTERSTITIAL = "0c4e2849-feea-4688-8280-0b0ae2ee0728";
+ public const string NATIVE = "b1b92bca-8a54-4b82-9f53-90ea2b1a912c";
+ public const string BANNER = "4bf4e11d-0967-41e6-91f6-a128d9462f2a";
+ }
+
+ public static class AdmobKeys {
+ public const string REWARDED = "d8f4ff72-e2e9-4e67-9eb8-f6d75787ef09";
+ public const string INTERSTITIAL = "48b73764-8025-4c9d-9507-ce7a2c7f32ef";
+ public const string NATIVE = "15cacb1b-6598-4fe9-b2da-8b26b4c1bbc5";
+ public const string BANNER = "f965455e-a37a-4732-a0b4-05fc39cae16e";
+ }
+
+ public static class ApplovinKeys {
+ public const string REWARDED = "1abf9ca9-4f93-4ead-a238-b2d0d3032a7a";
+ public const string INTERSTITIAL = "8c33dc60-5911-4145-90b0-d8cce9594fed";
+ public const string NATIVE = "2db08af5-54e3-458e-9399-1d365a7516c9";
+ public const string BANNER = "1df4bf1e-4fef-4704-b776-7881bdad5303";
+ }
+
+ public static class MintegralKeys {
+ public const string REWARDED = "b4c24eba-b715-47aa-8e6e-641d19936765";
+ public const string INTERSTITIAL = "b2ef073b-f9a1-4555-8450-ce30cf3cee98";
+ public const string NATIVE = "1a744a71-5abe-4d4a-8323-3832c89495eb";
+ public const string BANNER = "6c0b2878-c743-4668-b224-00b07ed66550";
+ }
+
+ public static class IronSourceKeys {
+ public const string REWARDED = "59ea106a-10c2-4711-9b50-38c73200f56a";
+ public const string INTERSTITIAL = "e87e094b-1e51-468c-ba0c-b2752dc04d72";
+ public const string BANNER = "33063aae-07c0-4571-aeac-842c0c7f6478";
+ }
+
+ public static class LiftoffKeys {
+ public const string REWARDED = "0f447ea1-6b11-4e39-b942-712e2d696d78";
+ public const string INTERSTITIAL = "2316460a-fbcc-4e29-8a8e-f10ef5358b3b";
+ public const string BANNER = "c066375e-da10-45a8-be3b-6edf5668a0e4";
+ }
+
+ public static class ChartBoostKeys {
+ public const string REWARDED = "3dde311c-daf5-4a6b-8ce7-08a4103cfb7f";
+ public const string INTERSTITIAL = "0d3e6f6d-8a11-4c32-a076-4415c03132a9";
+ public const string BANNER = "0d3e6f6d-8a11-4c32-a076-4415c03132a9";
+ }
+
+ public static class WortiseKeys {
+ public const string REWARDED = "4fcf71a4-afd1-412d-9b19-46dd85644f9d";
+ public const string INTERSTITIAL = "4d268df4-7e8a-43d8-a014-02b4aeff1e72";
+ public const string NATIVE = "88eab80b-113b-4856-8dc2-4aa571c4d7c3";
+ public const string BANNER = "ddd6c321-1f1f-4396-8524-a4f760063b2f";
+ }
+
+ public static class FyberKeys {
+ public const string REWARDED = "1756532";
+ public const string INTERSTITIAL = "1756532";
+ public const string BANNER = "1756531";
+ }
+}
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Admob/AdmobAndroidCaller.cs b/Assets/Tapsell/Mediation/Adapter/Admob/AdmobAndroidCaller.cs
new file mode 100644
index 0000000..115007c
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Admob/AdmobAndroidCaller.cs
@@ -0,0 +1,18 @@
+#if UNITY_ANDROID
+
+using UnityEngine;
+
+namespace Tapsell.Mediation.Adapter.Admob
+{
+ internal static class AdmobAndroidCaller
+ {
+ private static readonly AndroidJavaClass AndroidClass = new AndroidJavaClass("ir.tapsell.mediation.adapter.admob.unity.Admob");
+
+ internal static void Call(string methodName, params object[] args)
+ {
+ AndroidClass.CallStatic(methodName, args);
+ }
+ }
+}
+
+#endif
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Admob/AdmobAndroidMessageListener.cs b/Assets/Tapsell/Mediation/Adapter/Admob/AdmobAndroidMessageListener.cs
new file mode 100644
index 0000000..ee713d9
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Admob/AdmobAndroidMessageListener.cs
@@ -0,0 +1,25 @@
+using Tapsell.Mediation.Messaging;
+using Tapsell.Mediation.Show.Native;
+using UnityEngine;
+
+namespace Tapsell.Mediation.Adapter.Admob
+{
+ internal class AdmobAndroidMessageListener : TapsellAndroidMessageListener
+ {
+ public void OnAdmobNativeAdRequest(string response)
+ {
+ NativeAdapter.Get()
+ .RequestNativeAd(JsonUtility.FromJson(response));
+ }
+
+ public void OnAdmobNativeAdShow(string requestId)
+ {
+ NativeAdapter.Get().ShowNativeAd(requestId, NativeAdViewHolder.Get().GetNativeAdView(requestId));
+ }
+
+ public void OnAdmobNativeAdDestroy(string requestId)
+ {
+ NativeAdapter.Get().DestroyNativeAd(requestId);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Admob/AdmobInitializer.cs b/Assets/Tapsell/Mediation/Adapter/Admob/AdmobInitializer.cs
new file mode 100644
index 0000000..06c0497
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Admob/AdmobInitializer.cs
@@ -0,0 +1,14 @@
+using Tapsell.Mediation.Messaging;
+using UnityEngine;
+
+namespace Tapsell.Mediation.Adapter.Admob
+{
+ internal static class AdmobInitializer
+ {
+ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
+ private static void OnRuntimeInitialize()
+ {
+ AndroidMessageReceiver.RegisterReceiver();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobAdapterDependencies.xml
new file mode 100644
index 0000000..3da0e0b
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobAdapterDependencies.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ https://android-sdk.is.com
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobManifestProcessor.cs b/Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobManifestProcessor.cs
new file mode 100755
index 0000000..73dd6b6
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Admob/Editor/AdmobManifestProcessor.cs
@@ -0,0 +1,43 @@
+#if UNITY_ANDROID
+
+using Tapsell.Mediation.Editor;
+using Tapsell.Mediation.Editor.Utils;
+
+namespace Tapsell.Mediation.Adapter.Admob.Editor
+{
+ internal class AdmobManifestProcessor : ManifestProcessor
+ {
+ private protected override string PluginName()
+ {
+ return "TapsellMediationAdmobAdapter";
+ }
+
+ private protected override string ManifestRelativePath()
+ {
+#if UNITY_2021_2_OR_NEWER
+ return "Plugins/Android/TapsellMediationAdmobAdapterPlugin/AndroidManifest.xml";
+#else
+ return "Plugins/Android/AndroidManifest.xml";
+#endif
+ }
+
+ private protected override string MetadataApplicationKey()
+ {
+ return "com.google.android.gms.ads.APPLICATION_ID";
+ }
+
+ private protected override string MetadataApplicationValue()
+ {
+ return TapsellMediationSettings.LoadInstance().AdmobAdapterSignature;
+ }
+
+ private protected override bool ShouldValidateMetadataApplicationValue()
+ {
+ return false;
+ }
+
+ public override int callbackOrder => 1;
+ }
+}
+
+#endif
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Admob/NativeAdapter.cs b/Assets/Tapsell/Mediation/Adapter/Admob/NativeAdapter.cs
new file mode 100644
index 0000000..5f2c158
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Admob/NativeAdapter.cs
@@ -0,0 +1,182 @@
+using System.Collections.Generic;
+using GoogleMobileAds.Api;
+using Tapsell.Mediation.Show.Native;
+using Tapsell.Mediation.Utils;
+using TMPro;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Tapsell.Mediation.Adapter.Admob
+{
+ internal class NativeAdapter
+ {
+ private static NativeAdapter _instance;
+
+ private readonly Dictionary _ads = new Dictionary();
+
+ // Since Admob impression callback is not always called, we call the listener in multiple triggers.
+ // This List is used to prevent multiple calls.
+ private readonly List _impressionCalled = new List();
+
+ // Since Admob click callback is not always called, we call the listener in both open and click triggers.
+ // For each filled ad there can be only one click source activated.
+ private readonly Dictionary _clickCallSources = new Dictionary();
+
+ private static class AndroidAPIs
+ {
+ public const string LoadSuccess = "nativeRequestSucceeded";
+ public const string LoadFailure = "nativeRequestFailed";
+
+ public const string ShowFailure = "onNativeAdImpressionFailure";
+ public const string Click = "onNativeAdClick";
+ public const string Impression = "onNativeAdImpression";
+ // not currently provided by Admob in Unity
+ public const string Revenue = "onNativeAdPaidEvent";
+ }
+
+ internal static NativeAdapter Get()
+ {
+ if (_instance != null) return _instance;
+
+ _instance = new NativeAdapter();
+ return _instance;
+ }
+
+ internal void RequestNativeAd(NativeRequestInfo info)
+ {
+ var adLoader = new AdLoader.Builder(info.zoneId)
+ .ForNativeAd()
+ .Build();
+
+ adLoader.OnNativeAdLoaded += (_, args) => OnAdLoadSuccess(info.requestId, args.nativeAd);
+ adLoader.OnAdFailedToLoad += (_, args) => OnAdLoadFailure(info.requestId, args);
+
+ adLoader.OnNativeAdClicked += (_, args) => OnAdClick(info.requestId);
+ adLoader.OnNativeAdImpression += (_, args) => OnAdImpression(info.requestId);
+ adLoader.OnNativeAdOpening += (_, args) => OnAdOpened(info.requestId);
+
+ adLoader.LoadAd(new AdRequest());
+ }
+
+ internal void ShowNativeAd(string requestId, NativeAdView view)
+ {
+ // If any object is successfully registered to Admob, ad impression is triggered manually
+ var anyObjectRegistered = false;
+
+ var ad = _ads[requestId];
+ if (ad == null)
+ {
+ OnAdImpressionFailure(requestId, "Internal Error: No ad was not found for the provided id.");
+ return;
+ }
+
+ var iconTexture = ad.GetIconTexture();
+ if (iconTexture != null && view.IconImage != null)
+ {
+ ViewHelper.SetImage(iconTexture, view.IconImage);
+ if (ad.RegisterIconImageGameObject(view.IconImage)) anyObjectRegistered = true;
+ }
+
+ var adChoicesTexture = ad.GetAdChoicesLogoTexture();
+ if (adChoicesTexture != null && view.AdChoicesImage != null)
+ {
+ ViewHelper.SetImage(adChoicesTexture, view.AdChoicesImage);
+ if (ad.RegisterAdChoicesLogoGameObject(view.AdChoicesImage)) anyObjectRegistered = true;
+ }
+
+ if (ad.GetImageTextures().Count > 0 && view.BannerImage != null)
+ {
+ var bannerTexture = ad.GetImageTextures()[0];
+ ViewHelper.SetImage(bannerTexture, view.BannerImage);
+ if (ad.RegisterImageGameObjects(new List { view.BannerImage }) >= 1) anyObjectRegistered = true;
+ }
+
+ var title = ad.GetHeadlineText();
+ if (title != null && view.TitleText != null)
+ {
+ ViewHelper.SetText(title, view.TitleText);
+ if (ad.RegisterHeadlineTextGameObject(view.TitleText)) anyObjectRegistered = true;
+ }
+
+ var description = ad.GetBodyText();
+ if (description != null && view.DescriptionText != null)
+ {
+ ViewHelper.SetText(description, view.DescriptionText);
+ if (ad.RegisterBodyTextGameObject(view.DescriptionText)) anyObjectRegistered = true;
+ }
+
+ var advertiser = ad.GetAdvertiserText();
+ if (advertiser != null && view.AdvertiserText != null)
+ {
+ ViewHelper.SetText(advertiser, view.AdvertiserText);
+ if (ad.RegisterAdvertiserTextGameObject(view.AdvertiserText)) anyObjectRegistered = true;
+ }
+
+ var ctaText = ad.GetCallToActionText();
+ if (ctaText != null && view.CtaButton != null)
+ {
+ ViewHelper.SetButtonText(ctaText, view.CtaButton);
+ if (ad.RegisterCallToActionGameObject(view.CtaButton)) anyObjectRegistered = true;
+ }
+
+ if (anyObjectRegistered) OnAdImpression(requestId);
+ }
+
+ internal void DestroyNativeAd(string requestId)
+ {
+ _ads[requestId].Destroy();
+ }
+
+ private void OnAdLoadSuccess(string requestId, NativeAd ad)
+ {
+ _ads[requestId] = ad;
+ AdmobAndroidCaller.Call(AndroidAPIs.LoadSuccess, requestId);
+ }
+
+ private void OnAdLoadFailure(string requestId, AdFailedToLoadEventArgs args)
+ {
+ AdmobAndroidCaller.Call(AndroidAPIs.LoadFailure, requestId, args.LoadAdError.ToString());
+ }
+
+ private void OnAdImpression(string requestId)
+ {
+ if (_impressionCalled.Contains(requestId)) return;
+ AdmobAndroidCaller.Call(AndroidAPIs.Impression, requestId);
+ _impressionCalled.Add(requestId);
+ }
+
+ private void OnAdOpened(string requestId)
+ {
+ OnAdClick(requestId, ClickCallbackSource.Open);
+ }
+
+ private void OnAdImpressionFailure(string requestId, string message)
+ {
+ AdmobAndroidCaller.Call(AndroidAPIs.ShowFailure, requestId, message);
+ }
+
+ private void OnAdClick(string requestId, ClickCallbackSource source = ClickCallbackSource.Click)
+ {
+ if (ShouldCallClickListener(requestId, source))
+ AdmobAndroidCaller.Call(AndroidAPIs.Click, requestId);
+ }
+
+ private bool ShouldCallClickListener(string requestId,
+ ClickCallbackSource source = ClickCallbackSource.Click)
+ {
+ if (!_clickCallSources.ContainsKey(requestId))
+ {
+ _clickCallSources[requestId] = source;
+ return true;
+ }
+
+ return _clickCallSources[requestId] == source;
+ }
+ }
+
+ enum ClickCallbackSource
+ {
+ Click,
+ Open
+ }
+}
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Admob/NativeRequestInfo.cs b/Assets/Tapsell/Mediation/Adapter/Admob/NativeRequestInfo.cs
new file mode 100644
index 0000000..630c642
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Admob/NativeRequestInfo.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace Tapsell.Mediation.Adapter.Admob
+{
+ [Serializable]
+ public class NativeRequestInfo
+ {
+ public string requestId;
+ public string zoneId;
+
+ public NativeRequestInfo(string requestId, string zoneId)
+ {
+ this.requestId = requestId;
+ this.zoneId = zoneId;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinAdapterDependencies.xml
new file mode 100644
index 0000000..449a2ea
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinAdapterDependencies.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ https://android-sdk.is.com
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinManifestProcessor.cs b/Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinManifestProcessor.cs
new file mode 100755
index 0000000..163551d
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Applovin/Editor/ApplovinManifestProcessor.cs
@@ -0,0 +1,44 @@
+#if UNITY_ANDROID
+
+using Tapsell.Mediation.Editor;
+using Tapsell.Mediation.Editor.Utils;
+
+namespace Tapsell.Mediation.Adapter.Applovin.Editor
+{
+ internal class ApplovinManifestProcessor : ManifestProcessor
+ {
+ private protected override string PluginName()
+ {
+ return "TapsellMediationApplovinAdapter";
+ }
+
+ private protected override string ManifestRelativePath()
+ {
+#if UNITY_2021_2_OR_NEWER
+ return "Plugins/Android/TapsellMediationApplovinAdapterPlugin/AndroidManifest.xml";
+#else
+ return "Plugins/Android/AndroidManifest.xml";
+#endif
+
+ }
+
+ private protected override string MetadataApplicationKey()
+ {
+ return "applovin.sdk.key";
+ }
+
+ private protected override string MetadataApplicationValue()
+ {
+ return TapsellMediationSettings.LoadInstance().ApplovinAdapterSignature;
+ }
+
+ private protected override bool ShouldValidateMetadataApplicationValue()
+ {
+ return false;
+ }
+
+ public override int callbackOrder => 1;
+ }
+}
+
+#endif
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Chartboost/Editor/ChartboostAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Chartboost/Editor/ChartboostAdapterDependencies.xml
new file mode 100644
index 0000000..15aefce
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Chartboost/Editor/ChartboostAdapterDependencies.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Fyber/Editor/FyberAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Fyber/Editor/FyberAdapterDependencies.xml
new file mode 100644
index 0000000..ccc6d6b
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Fyber/Editor/FyberAdapterDependencies.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ https://android-sdk.is.com
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/IronSource/Editor/IronSourceAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/IronSource/Editor/IronSourceAdapterDependencies.xml
new file mode 100644
index 0000000..9452323
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/IronSource/Editor/IronSourceAdapterDependencies.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ https://android-sdk.is.com
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Legacy/Editor/LegacyAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Legacy/Editor/LegacyAdapterDependencies.xml
index 813f6b7..48b2e5f 100644
--- a/Assets/Tapsell/Mediation/Adapter/Legacy/Editor/LegacyAdapterDependencies.xml
+++ b/Assets/Tapsell/Mediation/Adapter/Legacy/Editor/LegacyAdapterDependencies.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Legacy/LegacyAndroidCaller.cs b/Assets/Tapsell/Mediation/Adapter/Legacy/LegacyAndroidCaller.cs
index 79fe474..0af5225 100644
--- a/Assets/Tapsell/Mediation/Adapter/Legacy/LegacyAndroidCaller.cs
+++ b/Assets/Tapsell/Mediation/Adapter/Legacy/LegacyAndroidCaller.cs
@@ -6,7 +6,7 @@ namespace Tapsell.Mediation.Adapter.Legacy
{
internal static class LegacyAndroidCaller
{
- private static readonly AndroidJavaClass AndroidClass = new("ir.tapsell.mediation.adapter.legacy.unity.Legacy");
+ private static readonly AndroidJavaClass AndroidClass = new AndroidJavaClass("ir.tapsell.mediation.adapter.legacy.unity.Legacy");
internal static void Call(string methodName, params object[] args)
{
diff --git a/Assets/Tapsell/Mediation/Adapter/Liftoff/Editor/LiftoffAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Liftoff/Editor/LiftoffAdapterDependencies.xml
new file mode 100644
index 0000000..5799a1e
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Liftoff/Editor/LiftoffAdapterDependencies.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Mintegral/Editor/MintegralAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Mintegral/Editor/MintegralAdapterDependencies.xml
new file mode 100644
index 0000000..24e4b8f
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Mintegral/Editor/MintegralAdapterDependencies.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea
+ https://android-sdk.is.com
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/UnityAds/Editor/UnityAdsAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/UnityAds/Editor/UnityAdsAdapterDependencies.xml
new file mode 100644
index 0000000..8a29c76
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/UnityAds/Editor/UnityAdsAdapterDependencies.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Adapter/Wortise/Editor/WortiseAdapterDependencies.xml b/Assets/Tapsell/Mediation/Adapter/Wortise/Editor/WortiseAdapterDependencies.xml
new file mode 100644
index 0000000..c6c56bc
--- /dev/null
+++ b/Assets/Tapsell/Mediation/Adapter/Wortise/Editor/WortiseAdapterDependencies.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Editor/GradleBuildPostProcessor.cs b/Assets/Tapsell/Mediation/Editor/GradleBuildPostProcessor.cs
index 04b1d08..1ddd4f9 100644
--- a/Assets/Tapsell/Mediation/Editor/GradleBuildPostProcessor.cs
+++ b/Assets/Tapsell/Mediation/Editor/GradleBuildPostProcessor.cs
@@ -44,7 +44,7 @@ private static string AddPackageIfNotPresent(string currentValue, string newPack
var trimmedValue = currentValue.Trim();
if (trimmedValue.Length == 0) return newPackage;
- if (trimmedValue.Split(",").Any(package => package.Trim().Equals(newPackage)))
+ if (trimmedValue.Split(',').Any(package => package.Trim().Equals(newPackage)))
{
return currentValue;
}
diff --git a/Assets/Tapsell/Mediation/Editor/MediationDependencies.xml b/Assets/Tapsell/Mediation/Editor/MediationDependencies.xml
index 7c2916a..c41b221 100644
--- a/Assets/Tapsell/Mediation/Editor/MediationDependencies.xml
+++ b/Assets/Tapsell/Mediation/Editor/MediationDependencies.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Editor/MediationManifestProcessor.cs b/Assets/Tapsell/Mediation/Editor/MediationManifestProcessor.cs
index c2665cf..01cfbac 100755
--- a/Assets/Tapsell/Mediation/Editor/MediationManifestProcessor.cs
+++ b/Assets/Tapsell/Mediation/Editor/MediationManifestProcessor.cs
@@ -13,7 +13,11 @@ private protected override string PluginName()
private protected override string ManifestRelativePath()
{
- return "Plugins/Android/TapsellMediationPlugin.androidlib/AndroidManifest.xml";
+#if UNITY_2021_2_OR_NEWER
+ return "Plugins/Android/TapsellMediationPlugin/AndroidManifest.xml";
+#else
+ return "Plugins/Android/AndroidManifest.xml";
+#endif
}
private protected override string MetadataApplicationKey()
diff --git a/Assets/Tapsell/Mediation/Editor/Utils/PropertiesHelper.cs b/Assets/Tapsell/Mediation/Editor/Utils/PropertiesHelper.cs
index 7356bdc..4a4914a 100644
--- a/Assets/Tapsell/Mediation/Editor/Utils/PropertiesHelper.cs
+++ b/Assets/Tapsell/Mediation/Editor/Utils/PropertiesHelper.cs
@@ -3,7 +3,6 @@
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
-using UnityEngine;
namespace Tapsell.Mediation.Editor.Utils
{
@@ -99,11 +98,9 @@ public static IDictionary Load(TextReader reader)
public static void Write(IDictionary properties, TextWriter writer)
{
- foreach(var (key, value) in properties)
+ foreach(KeyValuePair pair in properties)
{
- // print the key and value
- // Debug.LogError("key: " + key + ", value: " + value);
- writer.Write(key + "=" + value + "\n");
+ writer.Write(pair.Key + "=" + pair.Value + "\n");
}
}
@@ -198,7 +195,18 @@ private static string RemoveLeadingWhiteSpaces(string str)
private static string RemoveLastChar(string str)
{
+#if UNITY_2021_2_OR_NEWER
return str[..^1];
+#else
+ if (str.Length > 0)
+ {
+ return str.Substring(0, str.Length - 1);
+ }
+ else
+ {
+ return str;
+ }
+#endif
}
private static KeyValuePair? ParseLine(string line)
@@ -409,12 +417,12 @@ private static string ExtractValue(string line, int index)
private static bool IsWhiteSpace(char c)
{
- return c is ' ' or '\t' or '\f';
+ return c == ' ' || c == '\t' || c == '\f';
}
private static bool IsSeparator(char c)
{
- return c is '=' or ':';
+ return c == '=' || c == ':';
}
///
@@ -428,19 +436,19 @@ private static bool IsSeparator(char c)
private static int? HexToInt(char c)
{
// 0-9
- if (c is >= '0' and <= '9')
+ if (c >= '0' && c <= '9')
{
return c - '0';
}
// A-F
- if (c is >= 'A' and <= 'F')
+ if (c >= 'A' && c <= 'F')
{
return c - 'A' + 10;
}
// a-f
- if (c is >= 'a' and <= 'f')
+ if (c >= 'a' && c <= 'f')
{
return c - 'a' + 10;
}
diff --git a/Assets/Tapsell/Mediation/MediatorAndroidCaller.cs b/Assets/Tapsell/Mediation/MediatorAndroidCaller.cs
index 2bfe066..b2c6f27 100644
--- a/Assets/Tapsell/Mediation/MediatorAndroidCaller.cs
+++ b/Assets/Tapsell/Mediation/MediatorAndroidCaller.cs
@@ -6,7 +6,7 @@ namespace Tapsell.Mediation
{
internal static class MediatorAndroidCaller
{
- private static readonly AndroidJavaClass AndroidClass = new("ir.tapsell.mediation.Tapsell");
+ private static readonly AndroidJavaClass AndroidClass = new AndroidJavaClass("ir.tapsell.mediation.Tapsell");
internal static void Call(string methodName, params object[] args)
{
diff --git a/Assets/Tapsell/Mediation/Request/BannerSize.cs b/Assets/Tapsell/Mediation/Request/BannerSize.cs
index cda032a..1900410 100644
--- a/Assets/Tapsell/Mediation/Request/BannerSize.cs
+++ b/Assets/Tapsell/Mediation/Request/BannerSize.cs
@@ -1,12 +1,14 @@
namespace Tapsell.Mediation.Request
{
public enum BannerSize {
+ Banner30050,
Banner32050,
Banner320100,
Banner250250,
Banner300250,
Banner46860,
Banner72890,
- Banner160600
+ Banner160600,
+ BannerAdaptive
}
}
\ No newline at end of file
diff --git a/Assets/Tapsell/Mediation/Request/RequestCourier.cs b/Assets/Tapsell/Mediation/Request/RequestCourier.cs
index db1e520..f9c4787 100644
--- a/Assets/Tapsell/Mediation/Request/RequestCourier.cs
+++ b/Assets/Tapsell/Mediation/Request/RequestCourier.cs
@@ -6,7 +6,7 @@ namespace Tapsell.Mediation.Request
internal class RequestCourier
{
private static RequestCourier _instance;
- private readonly Dictionary _listeners = new();
+ private readonly Dictionary _listeners = new Dictionary();
private static class NativeRequestAPIs
{
diff --git a/Assets/Tapsell/Mediation/Show/Native/NativeAdViewHolder.cs b/Assets/Tapsell/Mediation/Show/Native/NativeAdViewHolder.cs
index e98d7de..769e562 100644
--- a/Assets/Tapsell/Mediation/Show/Native/NativeAdViewHolder.cs
+++ b/Assets/Tapsell/Mediation/Show/Native/NativeAdViewHolder.cs
@@ -9,7 +9,7 @@ internal class NativeAdViewHolder
{
private static NativeAdViewHolder _instance;
- private readonly Dictionary _adViews = new();
+ private readonly Dictionary _adViews = new Dictionary();
private NativeAdViewHolder() {}
diff --git a/Assets/Tapsell/Mediation/Show/ShowCourier.cs b/Assets/Tapsell/Mediation/Show/ShowCourier.cs
index 115ca0f..b28981b 100644
--- a/Assets/Tapsell/Mediation/Show/ShowCourier.cs
+++ b/Assets/Tapsell/Mediation/Show/ShowCourier.cs
@@ -7,7 +7,7 @@ namespace Tapsell.Mediation.Show
internal class ShowCourier
{
private static ShowCourier _instance;
- private readonly Dictionary _listeners = new();
+ private readonly Dictionary _listeners = new Dictionary();
private static class NativeShowAPIs
{
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 0fc0d7a..c10274a 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -4,6 +4,7 @@
"com.unity.feature.2d": "2.0.0",
"com.unity.ide.rider": "3.0.24",
"com.unity.ide.visualstudio": "2.0.18",
+ "com.unity.mobile.android-logcat": "1.3.2",
"com.unity.test-framework": "1.3.7",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.8.2",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 54a53cb..3389c7e 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -166,6 +166,13 @@
"dependencies": {},
"url": "https://packages.unity.com"
},
+ "com.unity.mobile.android-logcat": {
+ "version": "1.3.2",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
"com.unity.test-framework": {
"version": "1.3.7",
"depth": 0,
diff --git a/ProjectSettings/AndroidResolverDependencies.xml b/ProjectSettings/AndroidResolverDependencies.xml
index cdfa0e0..966bd11 100644
--- a/ProjectSettings/AndroidResolverDependencies.xml
+++ b/ProjectSettings/AndroidResolverDependencies.xml
@@ -1,7 +1,13 @@
- ir.tapsell.mediation.adapter:legacy-unity:1.0.1-beta04
- ir.tapsell.mediation:tapsell-unity:1.0.1-beta04
+ com.google.code.gson:gson:2.8.5
+ ir.tapsell.mediation.adapter:admob-unity:1.0.1-beta07
+ ir.tapsell.mediation.adapter:applovin-unity:1.0.1-beta07
+ ir.tapsell.mediation.adapter:fyber-unity:1.0.1-beta07
+ ir.tapsell.mediation.adapter:ironsource-unity:1.0.1-beta07
+ ir.tapsell.mediation.adapter:legacy-unity:1.0.1-beta07
+ ir.tapsell.mediation.adapter:mintegral-unity:1.0.1-beta07
+ ir.tapsell.mediation:tapsell-unity:1.0.1-beta07