@@ -101,6 +101,7 @@ void _AdjustLaunchApp(const char* appToken,
101
101
int linkMeEnabled,
102
102
int needsCost,
103
103
int coppaCompliant,
104
+ int readDeviceInfoOnce,
104
105
int64_t secretId,
105
106
int64_t info1,
106
107
int64_t info2,
@@ -222,6 +223,11 @@ void _AdjustLaunchApp(const char* appToken,
222
223
[adjustConfig setCoppaCompliantEnabled: (BOOL )coppaCompliant];
223
224
}
224
225
226
+ // Read device info just once.
227
+ if (readDeviceInfoOnce != -1 ) {
228
+ [adjustConfig setReadDeviceInfoOnceEnabled: (BOOL )readDeviceInfoOnce];
229
+ }
230
+
225
231
// User agent.
226
232
if (stringUserAgent != nil ) {
227
233
[adjustConfig setUserAgent: stringUserAgent];
@@ -270,6 +276,7 @@ void _AdjustTrackEvent(const char* eventToken,
270
276
double revenue,
271
277
const char * currency,
272
278
const char * receipt,
279
+ const char * receiptBase64,
273
280
const char * productId,
274
281
const char * transactionId,
275
282
const char * callbackId,
@@ -324,6 +331,14 @@ void _AdjustTrackEvent(const char* eventToken,
324
331
[event setReceipt: [stringReceipt dataUsingEncoding: NSUTF8StringEncoding]];
325
332
}
326
333
334
+ // Base64 encoded receipt.
335
+ if (receiptBase64 != NULL ) {
336
+ // If both (receipt and receiptBase64) set, receiptBase64 will be used.
337
+ NSString *stringReceiptBase64 = [NSString stringWithUTF8String: receiptBase64];
338
+ NSData *decodedData = [[NSData alloc ] initWithBase64EncodedString: stringReceiptBase64 options: 0 ];
339
+ [event setReceipt: decodedData];
340
+ }
341
+
327
342
// Callback ID.
328
343
if (callbackId != NULL ) {
329
344
NSString *stringCallbackId = [NSString stringWithUTF8String: callbackId];
@@ -881,6 +896,33 @@ void _AdjustVerifyAppStorePurchase(const char* transactionId,
881
896
}];
882
897
}
883
898
899
+ void _AdjustProcessDeeplink (const char * url, const char * sceneName) {
900
+ NSString *strSceneName = isStringValid (sceneName) == true ? [NSString stringWithUTF8String: sceneName] : nil ;
901
+ if (url != NULL ) {
902
+ NSString *stringUrl = [NSString stringWithUTF8String: url];
903
+ NSURL *nsUrl;
904
+ if ([NSString instancesRespondToSelector: @selector (stringByAddingPercentEncodingWithAllowedCharacters: )]) {
905
+ nsUrl = [NSURL URLWithString: [stringUrl stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLFragmentAllowedCharacterSet ]]];
906
+ } else {
907
+ #pragma clang diagnostic push
908
+ #pragma clang diagnostic ignored "-Wdeprecated-declarations"
909
+ nsUrl = [NSURL URLWithString: [stringUrl stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
910
+ }
911
+ #pragma clang diagnostic pop
912
+
913
+ [Adjust processDeeplink: nsUrl completionHandler: ^(NSString * _Nonnull resolvedLink) {
914
+ if (strSceneName == nil ) {
915
+ return ;
916
+ }
917
+ if (resolvedLink == nil ) {
918
+ return ;
919
+ }
920
+ const char * resolvedLinkCString = [resolvedLink UTF8String ];
921
+ UnitySendMessage ([strSceneName UTF8String ], " GetNativeResolvedLink" , resolvedLinkCString);
922
+ }];
923
+ }
924
+ }
925
+
884
926
void _AdjustSetTestOptions (const char * baseUrl,
885
927
const char * gdprUrl,
886
928
const char * subscriptionUrl,
0 commit comments