Skip to content

Commit fbb268a

Browse files
committed
Release 3.5.4
1 parent ae6364a commit fbb268a

File tree

6 files changed

+11
-48
lines changed

6 files changed

+11
-48
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# CAS.AI Unity Plugin Change Log
22

3-
43
# [3.5.4] - 2024-02-20
54
- Discover the latest features in native 3.5.4 SDKs for [Android](https://github.com/cleveradssolutions/CAS-Android/releases) and [iOS](https://github.com/cleveradssolutions/CAS-iOS/releases).
5+
## Bug Fixes
6+
- Fixed invoke of `InterstitialAdObject.OnAdShown` event.
67
- [Android] Added workaround to migrate Kotlin 1.8.0 since it no longer supports JVM targets 1.6 and 1.7.
78

89
# [3.5.2] - 2024-01-10

Runtime/AdObject/InterstitialAdObject.cs

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public void Present()
5656
OnAdFailedToShow.Invoke(AdError.ManagerIsDisabled.GetMessage());
5757
return;
5858
}
59+
OnAdShown.Invoke();
5960
manager.ShowAd(AdType.Interstitial);
6061
}
6162

Runtime/Internal/Android/CASJavaBridge.cs

+1-30
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,6 @@ internal static class CASJavaBridge
1818
internal const string consentFlowClass = pluginPackage + ".CASConsentFlow";
1919
#endregion
2020

21-
internal static void RepeatCall(string method, AndroidJavaObject target, Dictionary<string, string> args, bool staticCall)
22-
{
23-
if (args == null || args.Count == 0)
24-
return;
25-
26-
var tempArgs = new String[] { "String", "String" };
27-
var methodID = AndroidJNIHelper.GetMethodID(target.GetRawClass(),
28-
"addExtras", tempArgs, staticCall);
29-
30-
foreach (var item in args)
31-
{
32-
tempArgs[0] = item.Key;
33-
tempArgs[1] = item.Value;
34-
var nativeArgs = AndroidJNIHelper.CreateJNIArgArray(tempArgs);
35-
try
36-
{
37-
if (staticCall)
38-
AndroidJNI.CallStaticVoidMethod(target.GetRawClass(), methodID, nativeArgs);
39-
else
40-
AndroidJNI.CallVoidMethod(target.GetRawObject(), methodID, nativeArgs);
41-
}
42-
finally
43-
{
44-
AndroidJNIHelper.DeleteJNIArgArray(tempArgs, nativeArgs);
45-
}
46-
}
47-
}
48-
49-
5021
internal static void ImpressionEvent(CASEventWithMeta onEvent, AdType adType, AndroidJavaObject impression)
5122
{
5223
if (onEvent != null)
@@ -167,7 +138,7 @@ public void onFailed(int error)
167138

168139
public void onOpening(AndroidJavaObject impression)
169140
{
170-
CASFactory.UnityLog("Callback Presented " + adTypeName);
141+
CASFactory.UnityLog("Callback Show " + adTypeName);
171142
CASFactory.ExecuteEvent(OnAdShown);
172143
CASJavaBridge.ImpressionEvent(OnAdOpening, adType, impression);
173144
}

Runtime/Internal/Android/CASManagerClient.cs

+4-16
Original file line numberDiff line numberDiff line change
@@ -160,20 +160,6 @@ public event Action OnAppReturnAdClosed
160160
#region Initialization
161161
internal CASManagerClient() { }
162162

163-
#if false // Manager store in Static memory and disposed only on application destroed
164-
~CASMediationManager()
165-
{
166-
try
167-
{
168-
_managerBridge.Call( "freeManager" );
169-
}
170-
catch (Exception e)
171-
{
172-
Debug.LogException( e );
173-
}
174-
}
175-
#endif
176-
177163
internal IInternalManager Init(CASInitSettings initData)
178164
{
179165
managerID = initData.targetId;
@@ -199,8 +185,10 @@ internal IInternalManager Init(CASInitSettings initData)
199185
builder.Call("withConsentFlow", new CASConsentFlowClient(initData.consentFlow).obj);
200186
}
201187

202-
CASJavaBridge.RepeatCall("addExtras", builder, initData.extras, false);
203-
188+
foreach (var extra in initData.extras)
189+
{
190+
builder.Call("addExtras", extra.Key, extra.Value);
191+
}
204192

205193
builder.Call("setCallbacks", _initProxy, _interstitialProxy, _rewardedProxy);
206194

Runtime/Internal/CASFactory.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ internal static class CASFactory
3434

3535
#if UNITY_EDITOR && UNITY_2019_3_OR_NEWER
3636
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
37-
static void DomainReloading()
37+
private static void OnDomainReload()
3838
{
3939
// Read more aboud Domain Reloading in Unity Editor
4040
// https://docs.unity3d.com/2023.3/Documentation/Manual/DomainReloading.html
@@ -122,6 +122,7 @@ internal static IAdsSettings CreateSettigns(CASInitSettings initSettings)
122122
settings.interstitialInterval = initSettings.defaultInterstitialInterval;
123123
settings.taggedAudience = initSettings.defaultAudienceTagged;
124124
settings.allowInterstitialAdsWhenVideoCostAreLower = initSettings.defaultInterstitialWhenNoRewardedAd;
125+
settings.trackLocationEnabled = initSettings.defaultLocationCollectionEnabled;
125126
}
126127
return settings;
127128
}

Runtime/Internal/CASInitSettings.cs

+1
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ public IManagerBuilder WithTestAdMode(bool test)
153153
public LoadingManagerMode defaultLoadingMode { get { return loadingMode; } }
154154
public bool defaultDebugModeEnabled { get { return debugMode; } }
155155
public bool defaultIOSTrackLocationEnabled { get { return trackLocationEnabled; } }
156+
public bool defaultLocationCollectionEnabled { get { return trackLocationEnabled; } }
156157
public bool defaultInterstitialWhenNoRewardedAd { get { return interWhenNoRewardedAd; } }
157158

158159
public int managersCount { get { return managerIds == null ? 0 : managerIds.Length; } }

0 commit comments

Comments
 (0)