Skip to content

Commit c6beb30

Browse files
authored
Merge pull request #121 from adjust/v4122
Version 4.12.2
2 parents b09e83f + a0de967 commit c6beb30

File tree

8 files changed

+489
-346
lines changed

8 files changed

+489
-346
lines changed

Assets/Adjust/Adjust.cs

Lines changed: 393 additions & 282 deletions
Large diffs are not rendered by default.

Assets/Adjust/Android/AdjustAndroid.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace com.adjust.sdk
99
#if UNITY_ANDROID
1010
public class AdjustAndroid
1111
{
12-
private const string sdkPrefix = "unity4.12.1";
12+
private const string sdkPrefix = "unity4.12.2";
1313

1414
private static bool launchDeferredDeeplink = true;
1515

Assets/Adjust/Windows/AdjustWindows.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace com.adjust.sdk
1616
{
1717
public class AdjustWindows
1818
{
19-
private const string sdkPrefix = "unity4.12.1";
19+
private const string sdkPrefix = "unity4.12.2";
2020
private static bool appLaunched = false;
2121

2222
public static void Start(AdjustConfig adjustConfig)

Assets/Adjust/iOS/AdjustUnity.mm

Lines changed: 68 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ - (id)init {
1414
@end
1515

1616
// Method for converting JSON stirng parameters into NSArray object.
17-
NSArray* ConvertArrayParameters(const char* cStringJsonArrayParameters) {
17+
NSArray* convertArrayParameters(const char* cStringJsonArrayParameters) {
1818
if (cStringJsonArrayParameters == NULL) {
1919
return nil;
2020
}
@@ -36,6 +36,23 @@ - (id)init {
3636
return arrayParameters;
3737
}
3838

39+
BOOL isStringValid(const char* cString) {
40+
if (cString == NULL) {
41+
return false;
42+
}
43+
44+
NSString *objcString = [NSString stringWithUTF8String:cString];
45+
if (objcString == nil) {
46+
return false;
47+
}
48+
49+
if ([objcString isEqualToString:@"ADJ_INVALID"]) {
50+
return false;
51+
}
52+
53+
return true;
54+
}
55+
3956
extern "C"
4057
{
4158
void addValueOrEmpty(NSMutableDictionary *dictionary, NSString *key, NSObject *value) {
@@ -46,37 +63,36 @@ void addValueOrEmpty(NSMutableDictionary *dictionary, NSString *key, NSObject *v
4663
}
4764
}
4865

49-
void _AdjustLaunchApp(
50-
const char* appToken,
51-
const char* environment,
52-
const char* sdkPrefix,
53-
int allowSuppressLogLevel,
54-
int logLevel,
55-
int isDeviceKnown,
56-
int eventBuffering,
57-
int sendInBackground,
58-
long secretId,
59-
long info1,
60-
long info2,
61-
long info3,
62-
long info4,
63-
double delayStart,
64-
const char* userAgent,
65-
const char* defaultTracker,
66-
int launchDeferredDeeplink,
67-
const char* sceneName,
68-
int isAttributionCallbackImplemented,
69-
int isEventSuccessCallbackImplemented,
70-
int isEventFailureCallbackImplemented,
71-
int isSessionSuccessCallbackImplemented,
72-
int isSessionFailureCallbackImplemented,
73-
int isDeferredDeeplinkCallbackImplemented) {
74-
NSString *stringSdkPrefix = [NSString stringWithUTF8String:sdkPrefix];
75-
NSString *stringAppToken = [NSString stringWithUTF8String:appToken];
76-
NSString *stringEnvironment = [NSString stringWithUTF8String:environment];
77-
NSString *stringUserAgent = [NSString stringWithUTF8String:userAgent];
78-
NSString *stringDefaultTracker = [NSString stringWithUTF8String:defaultTracker];
79-
NSString *stringSceneName = [NSString stringWithUTF8String:sceneName];
66+
void _AdjustLaunchApp(const char* appToken,
67+
const char* environment,
68+
const char* sdkPrefix,
69+
const char* userAgent,
70+
const char* defaultTracker,
71+
const char* sceneName,
72+
int allowSuppressLogLevel,
73+
int logLevel,
74+
int isDeviceKnown,
75+
int eventBuffering,
76+
int sendInBackground,
77+
long secretId,
78+
long info1,
79+
long info2,
80+
long info3,
81+
long info4,
82+
double delayStart,
83+
int launchDeferredDeeplink,
84+
int isAttributionCallbackImplemented,
85+
int isEventSuccessCallbackImplemented,
86+
int isEventFailureCallbackImplemented,
87+
int isSessionSuccessCallbackImplemented,
88+
int isSessionFailureCallbackImplemented,
89+
int isDeferredDeeplinkCallbackImplemented) {
90+
NSString *stringAppToken = isStringValid(appToken) == true ? [NSString stringWithUTF8String:appToken] : nil;
91+
NSString *stringEnvironment = isStringValid(environment) == true ? [NSString stringWithUTF8String:environment] : nil;
92+
NSString *stringSdkPrefix = isStringValid(sdkPrefix) == true ? [NSString stringWithUTF8String:sdkPrefix] : nil;
93+
NSString *stringUserAgent = isStringValid(userAgent) == true ? [NSString stringWithUTF8String:userAgent] : nil;
94+
NSString *stringDefaultTracker = isStringValid(defaultTracker) == true ? [NSString stringWithUTF8String:defaultTracker] : nil;
95+
NSString *stringSceneName = isStringValid(sceneName) == true ? [NSString stringWithUTF8String:sceneName] : nil;
8096

8197
ADJConfig *adjustConfig;
8298

@@ -92,9 +108,12 @@ void _AdjustLaunchApp(
92108
[adjustConfig setSdkPrefix:stringSdkPrefix];
93109

94110
// Attribution delegate & other delegates
95-
if (isAttributionCallbackImplemented || isEventSuccessCallbackImplemented ||
96-
isEventFailureCallbackImplemented || isSessionSuccessCallbackImplemented ||
97-
isSessionFailureCallbackImplemented || isDeferredDeeplinkCallbackImplemented) {
111+
if (isAttributionCallbackImplemented
112+
|| isEventSuccessCallbackImplemented
113+
|| isEventFailureCallbackImplemented
114+
|| isSessionSuccessCallbackImplemented
115+
|| isSessionFailureCallbackImplemented
116+
|| isDeferredDeeplinkCallbackImplemented) {
98117
[adjustConfig setDelegate:
99118
[AdjustUnityDelegate getInstanceWithSwizzleOfAttributionCallback:isAttributionCallbackImplemented
100119
eventSucceededCallback:isEventSuccessCallbackImplemented
@@ -127,16 +146,12 @@ void _AdjustLaunchApp(
127146
[adjustConfig setDelayStart:delayStart];
128147
}
129148

130-
if (stringUserAgent != NULL) {
131-
if ([stringUserAgent length] > 0) {
132-
[adjustConfig setUserAgent:stringUserAgent];
133-
}
149+
if (stringUserAgent != nil) {
150+
[adjustConfig setUserAgent:stringUserAgent];
134151
}
135152

136-
if (stringDefaultTracker != NULL) {
137-
if ([stringDefaultTracker length] > 0) {
138-
[adjustConfig setDefaultTracker:stringDefaultTracker];
139-
}
153+
if (stringDefaultTracker != nil) {
154+
[adjustConfig setDefaultTracker:stringDefaultTracker];
140155
}
141156

142157
if (secretId != -1 && info1 != -1 && info2 != -1 && info3 != -1 && info4 != 1) {
@@ -145,12 +160,17 @@ void _AdjustLaunchApp(
145160

146161
// Launch adjust instance.
147162
[Adjust appDidLaunch:adjustConfig];
148-
149-
// Since v4.7.0 session is not automatically started after calling appDidLaunch, thus calling trackSubsessionStart.
150163
[Adjust trackSubsessionStart];
151164
}
152165

153-
void _AdjustTrackEvent(const char* eventToken, double revenue, const char* currency, const char* receipt, const char* transactionId, int isReceiptSet, const char* jsonCallbackParameters, const char* jsonPartnerParameters) {
166+
void _AdjustTrackEvent(const char* eventToken,
167+
double revenue,
168+
const char* currency,
169+
const char* receipt,
170+
const char* transactionId,
171+
int isReceiptSet,
172+
const char* jsonCallbackParameters,
173+
const char* jsonPartnerParameters) {
154174
NSString *stringEventToken = [NSString stringWithUTF8String:eventToken];
155175

156176
ADJEvent *event = [ADJEvent eventWithEventToken:stringEventToken];
@@ -161,7 +181,7 @@ void _AdjustTrackEvent(const char* eventToken, double revenue, const char* curre
161181
[event setRevenue:revenue currency:stringCurrency];
162182
}
163183

164-
NSArray *arrayCallbackParameters = ConvertArrayParameters(jsonCallbackParameters);
184+
NSArray *arrayCallbackParameters = convertArrayParameters(jsonCallbackParameters);
165185

166186
if (arrayCallbackParameters != nil) {
167187
NSUInteger count = [arrayCallbackParameters count];
@@ -177,7 +197,7 @@ void _AdjustTrackEvent(const char* eventToken, double revenue, const char* curre
177197
}
178198
}
179199

180-
NSArray *arrayPartnerParameters = ConvertArrayParameters(jsonPartnerParameters);
200+
NSArray *arrayPartnerParameters = convertArrayParameters(jsonPartnerParameters);
181201

182202
if (arrayPartnerParameters != nil) {
183203
NSUInteger count = [arrayPartnerParameters count];

Assets/Adjust/iOS/AdjustiOS.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@ namespace com.adjust.sdk
99
#if UNITY_IOS
1010
public class AdjustiOS
1111
{
12-
private const string sdkPrefix = "unity4.12.1";
12+
private const string sdkPrefix = "unity4.12.2";
1313

1414
[DllImport("__Internal")]
1515
private static extern void _AdjustLaunchApp(
1616
string appToken,
1717
string environment,
1818
string sdkPrefix,
19+
string userAgent,
20+
string defaultTracker,
21+
string sceneName,
1922
int allowSuppressLogLevel,
2023
int logLevel,
2124
int isDeviceKnown,
@@ -27,10 +30,7 @@ private static extern void _AdjustLaunchApp(
2730
long info3,
2831
long info4,
2932
double delayStart,
30-
string userAgent,
31-
string defaultTracker,
3233
int launchDeferredDeeplink,
33-
string sceneName,
3434
int isAttributionCallbackImplemented,
3535
int isEventSuccessCallbackImplemented,
3636
int isEventFailureCallbackImplemented,
@@ -98,10 +98,10 @@ public AdjustiOS() {}
9898

9999
public static void Start(AdjustConfig adjustConfig)
100100
{
101-
string appToken = adjustConfig.appToken;
102-
string sceneName = adjustConfig.sceneName;
103-
string userAgent = adjustConfig.userAgent != null ? adjustConfig.userAgent : String.Empty;
104-
string defaultTracker = adjustConfig.defaultTracker != null ? adjustConfig.defaultTracker : String.Empty;
101+
string appToken = adjustConfig.appToken != null ? adjustConfig.appToken : "ADJ_INVALID";
102+
string sceneName = adjustConfig.sceneName != null ? adjustConfig.sceneName : "ADJ_INVALID";
103+
string userAgent = adjustConfig.userAgent != null ? adjustConfig.userAgent : "ADJ_INVALID";
104+
string defaultTracker = adjustConfig.defaultTracker != null ? adjustConfig.defaultTracker : "ADJ_INVALID";
105105
string environment = adjustConfig.environment.ToLowercaseString();
106106

107107
long info1 = AdjustUtils.ConvertLong(adjustConfig.info1);
@@ -130,6 +130,9 @@ public static void Start(AdjustConfig adjustConfig)
130130
appToken,
131131
environment,
132132
sdkPrefix,
133+
userAgent,
134+
defaultTracker,
135+
sceneName,
133136
allowSuppressLogLevel,
134137
logLevel,
135138
isDeviceKnown,
@@ -141,10 +144,7 @@ public static void Start(AdjustConfig adjustConfig)
141144
info3,
142145
info4,
143146
delayStart,
144-
userAgent,
145-
defaultTracker,
146147
launchDeferredDeeplink,
147-
sceneName,
148148
isAttributionCallbackImplemented,
149149
isEventSuccessCallbackImplemented,
150150
isEventFailureCallbackImplemented,

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
### Version 4.12.2 (9th February 2018)
2+
#### Fixed
3+
- Fixed Adjust SDK behaviour once tried to be run in `Editor` - no errors displayed anymore.
4+
- Fixed random crashes on iOS 10.1.x devices when trying to initialise SDK.
5+
6+
#### Native SDKs
7+
- [[email protected]][ios_sdk_v4.12.1]
8+
- [[email protected]][android_sdk_v4.12.1]
9+
- [[email protected]][windows_sdk_v4.12.0]
10+
11+
---
12+
113
### Version 4.12.1 (1st February 2018)
214
#### Native changes
315
- https://github.com/adjust/android_sdk/blob/master/CHANGELOG.md#version-4121-31st-january-2018

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.12.1
1+
4.12.2

doc/migrate.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Migrate your Adjust SDK for Unity3d to 4.12.1 from 3.4.4
1+
## Migrate your Adjust SDK for Unity3d to 4.12.2 from 3.4.4
22

33
### Migration procedure
44

@@ -9,7 +9,7 @@ keeping in `Assets/Plugins` folder.
99

1010
For migration purposes, we have prepared the Adjust SDK uninstall script written in Python (`adjust_uninstall.py`).
1111

12-
Migration to version 4.12.1 of our SDK requires the following steps:
12+
Migration to version 4.12.2 of our SDK requires the following steps:
1313

1414
1. Copy the `adjust_uninstall.py` script to your root Unity project directory and run it. This script should
1515
delete all adjust source files from the previous SDK version you had.

0 commit comments

Comments
 (0)