@@ -14,7 +14,7 @@ - (id)init {
14
14
@end
15
15
16
16
// Method for converting JSON stirng parameters into NSArray object.
17
- NSArray * ConvertArrayParameters (const char * cStringJsonArrayParameters) {
17
+ NSArray * convertArrayParameters (const char * cStringJsonArrayParameters) {
18
18
if (cStringJsonArrayParameters == NULL ) {
19
19
return nil ;
20
20
}
@@ -36,6 +36,23 @@ - (id)init {
36
36
return arrayParameters;
37
37
}
38
38
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
+
39
56
extern " C"
40
57
{
41
58
void addValueOrEmpty (NSMutableDictionary *dictionary, NSString *key, NSObject *value) {
@@ -46,37 +63,36 @@ void addValueOrEmpty(NSMutableDictionary *dictionary, NSString *key, NSObject *v
46
63
}
47
64
}
48
65
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 ;
80
96
81
97
ADJConfig *adjustConfig;
82
98
@@ -92,9 +108,12 @@ void _AdjustLaunchApp(
92
108
[adjustConfig setSdkPrefix: stringSdkPrefix];
93
109
94
110
// 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) {
98
117
[adjustConfig setDelegate:
99
118
[AdjustUnityDelegate getInstanceWithSwizzleOfAttributionCallback: isAttributionCallbackImplemented
100
119
eventSucceededCallback: isEventSuccessCallbackImplemented
@@ -127,16 +146,12 @@ void _AdjustLaunchApp(
127
146
[adjustConfig setDelayStart: delayStart];
128
147
}
129
148
130
- if (stringUserAgent != NULL ) {
131
- if ([stringUserAgent length ] > 0 ) {
132
- [adjustConfig setUserAgent: stringUserAgent];
133
- }
149
+ if (stringUserAgent != nil ) {
150
+ [adjustConfig setUserAgent: stringUserAgent];
134
151
}
135
152
136
- if (stringDefaultTracker != NULL ) {
137
- if ([stringDefaultTracker length ] > 0 ) {
138
- [adjustConfig setDefaultTracker: stringDefaultTracker];
139
- }
153
+ if (stringDefaultTracker != nil ) {
154
+ [adjustConfig setDefaultTracker: stringDefaultTracker];
140
155
}
141
156
142
157
if (secretId != -1 && info1 != -1 && info2 != -1 && info3 != -1 && info4 != 1 ) {
@@ -145,12 +160,17 @@ void _AdjustLaunchApp(
145
160
146
161
// Launch adjust instance.
147
162
[Adjust appDidLaunch: adjustConfig];
148
-
149
- // Since v4.7.0 session is not automatically started after calling appDidLaunch, thus calling trackSubsessionStart.
150
163
[Adjust trackSubsessionStart ];
151
164
}
152
165
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) {
154
174
NSString *stringEventToken = [NSString stringWithUTF8String: eventToken];
155
175
156
176
ADJEvent *event = [ADJEvent eventWithEventToken: stringEventToken];
@@ -161,7 +181,7 @@ void _AdjustTrackEvent(const char* eventToken, double revenue, const char* curre
161
181
[event setRevenue: revenue currency: stringCurrency];
162
182
}
163
183
164
- NSArray *arrayCallbackParameters = ConvertArrayParameters (jsonCallbackParameters);
184
+ NSArray *arrayCallbackParameters = convertArrayParameters (jsonCallbackParameters);
165
185
166
186
if (arrayCallbackParameters != nil ) {
167
187
NSUInteger count = [arrayCallbackParameters count ];
@@ -177,7 +197,7 @@ void _AdjustTrackEvent(const char* eventToken, double revenue, const char* curre
177
197
}
178
198
}
179
199
180
- NSArray *arrayPartnerParameters = ConvertArrayParameters (jsonPartnerParameters);
200
+ NSArray *arrayPartnerParameters = convertArrayParameters (jsonPartnerParameters);
181
201
182
202
if (arrayPartnerParameters != nil ) {
183
203
NSUInteger count = [arrayPartnerParameters count ];
0 commit comments