Skip to content

Commit e662978

Browse files
authored
Merge pull request #206 from adjust/v4260
Version 4.26.0
2 parents 7c95b7f + 9b7dffd commit e662978

35 files changed

+777
-97
lines changed

Assets/Adjust/Android/AdjustAndroid.cs

+34-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace com.adjust.sdk
88
#if UNITY_ANDROID
99
public class AdjustAndroid
1010
{
11-
private const string sdkPrefix = "unity4.24.1";
11+
private const string sdkPrefix = "unity4.26.0";
1212
private static bool launchDeferredDeeplink = true;
1313
private static AndroidJavaClass ajcAdjust = new AndroidJavaClass("com.adjust.sdk.Adjust");
1414
private static AndroidJavaObject ajoCurrentActivity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
@@ -458,6 +458,39 @@ public static void TrackPlayStoreSubscription(AdjustPlayStoreSubscription subscr
458458
ajcAdjust.CallStatic("trackPlayStoreSubscription", ajoSubscription);
459459
}
460460

461+
public static void TrackThirdPartySharing(AdjustThirdPartySharing thirdPartySharing)
462+
{
463+
AndroidJavaObject ajoIsEnabled;
464+
AndroidJavaObject ajoAdjustThirdPartySharing;
465+
if (thirdPartySharing.isEnabled != null)
466+
{
467+
ajoIsEnabled = new AndroidJavaObject("java.lang.Boolean", thirdPartySharing.isEnabled.Value);
468+
ajoAdjustThirdPartySharing = new AndroidJavaObject("com.adjust.sdk.AdjustThirdPartySharing", ajoIsEnabled);
469+
}
470+
else
471+
{
472+
ajoAdjustThirdPartySharing = new AndroidJavaObject("com.adjust.sdk.AdjustThirdPartySharing", null);
473+
}
474+
475+
if (thirdPartySharing.granularOptions != null)
476+
{
477+
foreach (KeyValuePair<string, List<string>> entry in thirdPartySharing.granularOptions)
478+
{
479+
for (int i = 0; i < entry.Value.Count;)
480+
{
481+
ajoAdjustThirdPartySharing.Call("addGranularOption", entry.Key, entry.Value[i++], entry.Value[i++]);
482+
}
483+
}
484+
}
485+
486+
ajcAdjust.CallStatic("trackThirdPartySharing", ajoAdjustThirdPartySharing);
487+
}
488+
489+
public static void TrackMeasurementConsent(bool measurementConsent)
490+
{
491+
ajcAdjust.CallStatic("trackMeasurementConsent", measurementConsent);
492+
}
493+
461494
// Android specific methods.
462495
public static void OnPause()
463496
{
Binary file not shown.

Assets/Adjust/Android/Test/adjust-test-library.aar.meta

+29
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.

Assets/Adjust/Android/Test/adjust-test-options.aar.meta

+29
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
-24.4 KB
Binary file not shown.

Assets/Adjust/Android/Test/adjust-test.jar.meta

-33
This file was deleted.
4.83 KB
Binary file not shown.

Assets/Adjust/Editor/AdjustEditor.cs

+5
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ private static void RunPostBuildScript(BuildTarget target, bool preBuild, string
153153
// The Adjust SDK will try to add following frameworks to your project:
154154
// - AdSupport.framework (needed for access to IDFA value)
155155
// - iAd.framework (needed in case you are running ASA campaigns)
156+
// - AdServices.framework (needed in case you are running ASA campaigns)
156157
// - CoreTelephony.framework (needed to get information about network type user is connected to)
157158
// - StoreKit.framework (needed for communication with SKAdNetwork framework)
158159
// - AppTrackingTransparency.framework (needed for information about user's consent to be tracked)
@@ -173,6 +174,10 @@ private static void RunPostBuildScript(BuildTarget target, bool preBuild, string
173174
xcodeProject.AddFrameworkToProject(xcodeTarget, "iAd.framework", true);
174175
UnityEngine.Debug.Log("[Adjust]: iAd.framework added successfully.");
175176

177+
UnityEngine.Debug.Log("[Adjust]: Adding AdServices.framework to Xcode project.");
178+
xcodeProject.AddFrameworkToProject(xcodeTarget, "AdServices.framework", true);
179+
UnityEngine.Debug.Log("[Adjust]: AdServices.framework added successfully.");
180+
176181
UnityEngine.Debug.Log("[Adjust]: Adding CoreTelephony.framework to Xcode project.");
177182
xcodeProject.AddFrameworkToProject(xcodeTarget, "CoreTelephony.framework", true);
178183
UnityEngine.Debug.Log("[Adjust]: CoreTelephony.framework added successfully.");

Assets/Adjust/Test.meta

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Adjust/Test/CommandExecutor.cs

+65-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ public void ExecuteCommand(Command command)
7070
case "trackAdRevenue": TrackAdRevenue(); break;
7171
case "disableThirdPartySharing": DisableThirdPartySharing(); break;
7272
case "trackSubscription": TrackSubscription(); break;
73+
case "thirdPartySharing": ThirdPartySharing(); break;
74+
case "measurementConsent": MeasurementConsent(); break;
7375
default: CommandNotFound(_command.ClassName, _command.MethodName); break;
7476
}
7577
}
@@ -111,11 +113,21 @@ private void TestOptions()
111113
{
112114
testOptions[AdjustUtils.KeyTestOptionsNoBackoffWait] = _command.GetFirstParameterValue("noBackoffWait");
113115
}
114-
testOptions [AdjustUtils.KeyTestOptionsiAdFrameworkEnabled] = "false"; // false - iAd will not be used in test app by default
116+
// iAd.framework will not be used in test app by default
117+
testOptions [AdjustUtils.KeyTestOptionsiAdFrameworkEnabled] = "false";
115118
if (_command.ContainsParameter("iAdFrameworkEnabled"))
116119
{
117120
testOptions[AdjustUtils.KeyTestOptionsiAdFrameworkEnabled] = _command.GetFirstParameterValue("iAdFrameworkEnabled");
118121
}
122+
// AdServices.framework will not be used in test app by default
123+
testOptions [AdjustUtils.KeyTestOptionsAdServicesFrameworkEnabled] = "false";
124+
if (_command.ContainsParameter("adServicesFrameworkEnabled"))
125+
{
126+
testOptions[AdjustUtils.KeyTestOptionsAdServicesFrameworkEnabled] = _command.GetFirstParameterValue("adServicesFrameworkEnabled");
127+
}
128+
#if UNITY_ANDROID
129+
bool useTestConnectionOptions = false;
130+
#endif
119131
if (_command.ContainsParameter("teardown"))
120132
{
121133
List<string> teardownOptions = _command.Parameters["teardown"];
@@ -125,7 +137,12 @@ private void TestOptions()
125137
{
126138
testOptions[AdjustUtils.KeyTestOptionsTeardown] = "true";
127139
testOptions[AdjustUtils.KeyTestOptionsExtraPath] = ExtraPath;
140+
#if UNITY_IOS
128141
testOptions[AdjustUtils.KeyTestOptionsUseTestConnectionOptions] = "true";
142+
#endif
143+
#if UNITY_ANDROID
144+
useTestConnectionOptions = true;
145+
#endif
129146
}
130147
if (teardownOption == "deleteState")
131148
{
@@ -144,7 +161,9 @@ private void TestOptions()
144161
{
145162
testOptions[AdjustUtils.KeyTestOptionsTeardown] = "true";
146163
testOptions[AdjustUtils.KeyTestOptionsExtraPath] = null;
164+
#if UNITY_IOS
147165
testOptions[AdjustUtils.KeyTestOptionsUseTestConnectionOptions] = "false";
166+
#endif
148167
}
149168
if (teardownOption == "test")
150169
{
@@ -159,6 +178,12 @@ private void TestOptions()
159178
}
160179

161180
Adjust.SetTestOptions(testOptions);
181+
#if UNITY_ANDROID
182+
if (useTestConnectionOptions)
183+
{
184+
TestConnectionOptions.SetTestConnectionOptions();
185+
}
186+
#endif
162187
}
163188

164189
private void Config()
@@ -306,6 +331,13 @@ private void Config()
306331
adjustConfig.allowiAdInfoReading = allowiAdInfoReading;
307332
}
308333

334+
if (_command.ContainsParameter("allowAdServicesInfoReading"))
335+
{
336+
var allowAdServicesInfoReadingS = _command.GetFirstParameterValue("allowAdServicesInfoReading");
337+
var allowAdServicesInfoReading = allowAdServicesInfoReadingS.ToLower() == "true";
338+
adjustConfig.allowAdServicesInfoReading = allowAdServicesInfoReading;
339+
}
340+
309341
if (_command.ContainsParameter("allowIdfaReading"))
310342
{
311343
var allowIdfaReadingS = _command.GetFirstParameterValue("allowIdfaReading");
@@ -783,6 +815,38 @@ private void TrackSubscription()
783815
#endif
784816
}
785817

818+
private void ThirdPartySharing()
819+
{
820+
string enabled = _command.GetFirstParameterValue("isEnabled");
821+
bool? isEnabled = null;
822+
if (enabled != null)
823+
{
824+
isEnabled = bool.Parse(enabled);
825+
}
826+
827+
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(isEnabled);
828+
829+
if (_command.ContainsParameter("granularOptions"))
830+
{
831+
var granularOptions = _command.Parameters["granularOptions"];
832+
for (var i = 0; i < granularOptions.Count; i += 3)
833+
{
834+
var partnerName = granularOptions[i];
835+
var key = granularOptions[i+1];
836+
var value = granularOptions[i+2];
837+
adjustThirdPartySharing.addGranularOption(partnerName, key, value);
838+
}
839+
}
840+
841+
Adjust.trackThirdPartySharing(adjustThirdPartySharing);
842+
}
843+
844+
private void MeasurementConsent()
845+
{
846+
var enabled = bool.Parse(_command.GetFirstParameterValue("isEnabled"));
847+
Adjust.trackMeasurementConsent(enabled);
848+
}
849+
786850
private void CommandNotFound(string className, string methodName)
787851
{
788852
TestApp.Log("Adjust Test: Method '" + methodName + "' not found for class '" + className + "'");

Assets/Adjust/Test/TestApp.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ public class TestApp : MonoBehaviour
1616
#elif UNITY_ANDROID
1717
private const string PORT = ":8443";
1818
private const string PROTOCOL = "https://";
19-
private const string IP = "192.168.86.33";
19+
private const string IP = "192.168.86.50";
2020
#elif UNITY_IOS
2121
private const string PORT = ":8080";
2222
private const string PROTOCOL = "http://";
23-
private const string IP = "192.168.86.33";
23+
private const string IP = "192.168.86.50";
2424
private TestLibraryiOS _testLibraryiOS;
2525
#endif
2626
private const string BASE_URL = PROTOCOL + IP + PORT;
@@ -44,7 +44,7 @@ private void StartTestSession()
4444
#endif
4545
// Set specific tests to run.
4646
// testLibrary.AddTest("current/eventBuffering/Test_EventBuffering_sensitive_packets");
47-
// testLibrary.AddTest("current/gdpr/Test_GdprForgetMe_after_install");
47+
// testLibrary.AddTest("Test_ThirdPartySharing_after_install");
4848
// testLibrary.AddTestDirectory ("current/deeplink-deferred");
4949

5050
Log("Starting test session.");
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using UnityEngine;
2+
3+
namespace com.adjust.sdk.test
4+
{
5+
#if UNITY_ANDROID
6+
public class TestConnectionOptions
7+
{
8+
public static void SetTestConnectionOptions()
9+
{
10+
AndroidJavaClass ajcTestConnectionOptions = new AndroidJavaClass("com.adjust.test_options.TestConnectionOptions");
11+
ajcTestConnectionOptions.CallStatic("setTestConnectionOptions");
12+
}
13+
}
14+
#endif
15+
}

Assets/Adjust/Test/TestConectionOptions.cs.meta

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)