From 0f24d774ccf0c3081f86a2eb8a6da2d131252ee5 Mon Sep 17 00:00:00 2001 From: Obaied Date: Wed, 23 Nov 2016 11:00:48 +0100 Subject: [PATCH 01/51] Fixes after Pedro's review --- .../src/main/java/com/adjust/sdk/Adjust.java | 190 +++++++++--------- .../main/java/com/adjust/sdk/AdjustUtil.java | 17 +- ios/Adjust/AdjustSdkDelegate.m | 74 ++++--- 3 files changed, 156 insertions(+), 125 deletions(-) diff --git a/android/src/main/java/com/adjust/sdk/Adjust.java b/android/src/main/java/com/adjust/sdk/Adjust.java index 2645893c..82f586eb 100755 --- a/android/src/main/java/com/adjust/sdk/Adjust.java +++ b/android/src/main/java/com/adjust/sdk/Adjust.java @@ -127,117 +127,119 @@ public void create(ReadableMap mapConfig) { final AdjustConfig adjustConfig = new AdjustConfig( - getReactApplicationContext(), - appToken, - environment, - isLogLevelSuppress); - - - if (adjustConfig.isValid()) { - // Log level - if (!mapConfig.isNull("logLevel")) { - logLevel = mapConfig.getString("logLevel"); - - if (logLevel.equals("VERBOSE")) { - adjustConfig.setLogLevel(LogLevel.VERBOSE); - } else if (logLevel.equals("DEBUG")) { - adjustConfig.setLogLevel(LogLevel.DEBUG); - } else if (logLevel.equals("INFO")) { - adjustConfig.setLogLevel(LogLevel.INFO); - } else if (logLevel.equals("WARN")) { - adjustConfig.setLogLevel(LogLevel.WARN); - } else if (logLevel.equals("ERROR")) { - adjustConfig.setLogLevel(LogLevel.ERROR); - } else if (logLevel.equals("ASSERT")) { - adjustConfig.setLogLevel(LogLevel.ASSERT); - } else if (logLevel.equals("SUPPRESS")) { - adjustConfig.setLogLevel(LogLevel.SUPRESS); - } else { - adjustConfig.setLogLevel(LogLevel.INFO); - } - } + getReactApplicationContext(), + appToken, + environment, + isLogLevelSuppress); - // Event buffering - if(!mapConfig.isNull("eventBufferingEnabled")) { - eventBufferingEnabled = mapConfig.getBoolean("eventBufferingEnabled"); - adjustConfig.setEventBufferingEnabled(eventBufferingEnabled); - } - // SDK prefix - if (!mapConfig.isNull("sdkPrefix")) { - sdkPrefix = mapConfig.getString("sdkPrefix"); - adjustConfig.setSdkPrefix(sdkPrefix); - } + if (!adjustConfig.isValid()) { + return; + } - // Main process name - if (!mapConfig.isNull("processName")) { - processName = mapConfig.getString("processName"); - adjustConfig.setProcessName(processName); - } + // Log level + if (!mapConfig.isNull("logLevel")) { + logLevel = mapConfig.getString("logLevel"); - // Default tracker - if (!mapConfig.isNull("defaultTracker")) { - defaultTracker = mapConfig.getString("defaultTracker"); - adjustConfig.setDefaultTracker(defaultTracker); + if (logLevel.equals("VERBOSE")) { + adjustConfig.setLogLevel(LogLevel.VERBOSE); + } else if (logLevel.equals("DEBUG")) { + adjustConfig.setLogLevel(LogLevel.DEBUG); + } else if (logLevel.equals("INFO")) { + adjustConfig.setLogLevel(LogLevel.INFO); + } else if (logLevel.equals("WARN")) { + adjustConfig.setLogLevel(LogLevel.WARN); + } else if (logLevel.equals("ERROR")) { + adjustConfig.setLogLevel(LogLevel.ERROR); + } else if (logLevel.equals("ASSERT")) { + adjustConfig.setLogLevel(LogLevel.ASSERT); + } else if (logLevel.equals("SUPPRESS")) { + adjustConfig.setLogLevel(LogLevel.SUPRESS); + } else { + adjustConfig.setLogLevel(LogLevel.INFO); } + } - // User agent - if (!mapConfig.isNull("userAgent") ) { - userAgent = mapConfig.getString("userAgent"); - adjustConfig.setUserAgent(userAgent); - } + // Event buffering + if(!mapConfig.isNull("eventBufferingEnabled")) { + eventBufferingEnabled = mapConfig.getBoolean("eventBufferingEnabled"); + adjustConfig.setEventBufferingEnabled(eventBufferingEnabled); + } - // Background tracking - if(!mapConfig.isNull("sendInBackground")) { - sendInBackground = mapConfig.getBoolean("sendInBackground"); - adjustConfig.setSendInBackground(sendInBackground); - } + // SDK prefix + if (!mapConfig.isNull("sdkPrefix")) { + sdkPrefix = mapConfig.getString("sdkPrefix"); + adjustConfig.setSdkPrefix(sdkPrefix); + } - // Launching deferred deep link - if(!mapConfig.isNull("shouldLaunchDeeplink")) { - shouldLaunchDeeplink = mapConfig.getBoolean("shouldLaunchDeeplink"); - this.shouldLaunchDeeplink = shouldLaunchDeeplink; - } + // Main process name + if (!mapConfig.isNull("processName")) { + processName = mapConfig.getString("processName"); + adjustConfig.setProcessName(processName); + } - // Delayed start - if(!mapConfig.isNull("delayStart")) { - delayStart = mapConfig.getDouble("delayStart"); - adjustConfig.setDelayStart(delayStart); - } + // Default tracker + if (!mapConfig.isNull("defaultTracker")) { + defaultTracker = mapConfig.getString("defaultTracker"); + adjustConfig.setDefaultTracker(defaultTracker); + } - // Attribution callback - if (attributionCallback) { - adjustConfig.setOnAttributionChangedListener(this); - } + // User agent + if (!mapConfig.isNull("userAgent") ) { + userAgent = mapConfig.getString("userAgent"); + adjustConfig.setUserAgent(userAgent); + } - // Event tracking succeeded callback - if (eventTrackingSucceededCallback) { - adjustConfig.setOnEventTrackingSucceededListener(this); - } + // Background tracking + if(!mapConfig.isNull("sendInBackground")) { + sendInBackground = mapConfig.getBoolean("sendInBackground"); + adjustConfig.setSendInBackground(sendInBackground); + } - // Event tracking failed callback - if (eventTrackingFailedCallback) { - adjustConfig.setOnEventTrackingFailedListener(this); - } + // Launching deferred deep link + if(!mapConfig.isNull("shouldLaunchDeeplink")) { + shouldLaunchDeeplink = mapConfig.getBoolean("shouldLaunchDeeplink"); + this.shouldLaunchDeeplink = shouldLaunchDeeplink; + } - // Session tracking succeeded callback - if (sessionTrackingSucceededCallback) { - adjustConfig.setOnSessionTrackingSucceededListener(this); - } + // Delayed start + if(!mapConfig.isNull("delayStart")) { + delayStart = mapConfig.getDouble("delayStart"); + adjustConfig.setDelayStart(delayStart); + } - // Session tracking failed callback - if (sessionTrackingFailedCallback) { - adjustConfig.setOnSessionTrackingFailedListener(this); - } + // Attribution callback + if (attributionCallback) { + adjustConfig.setOnAttributionChangedListener(this); + } - // Deferred deeplink callback listener - if (deferredDeeplinkCallback) { - adjustConfig.setOnDeeplinkResponseListener(this); - } + // Event tracking succeeded callback + if (eventTrackingSucceededCallback) { + adjustConfig.setOnEventTrackingSucceededListener(this); + } + + // Event tracking failed callback + if (eventTrackingFailedCallback) { + adjustConfig.setOnEventTrackingFailedListener(this); + } + + // Session tracking succeeded callback + if (sessionTrackingSucceededCallback) { + adjustConfig.setOnSessionTrackingSucceededListener(this); + } - com.adjust.sdk.Adjust.onCreate(adjustConfig); - com.adjust.sdk.Adjust.onResume(); + // Session tracking failed callback + if (sessionTrackingFailedCallback) { + adjustConfig.setOnSessionTrackingFailedListener(this); } + + // Deferred deeplink callback listener + if (deferredDeeplinkCallback) { + adjustConfig.setOnDeeplinkResponseListener(this); + } + + com.adjust.sdk.Adjust.onCreate(adjustConfig); + com.adjust.sdk.Adjust.onResume(); } @ReactMethod diff --git a/android/src/main/java/com/adjust/sdk/AdjustUtil.java b/android/src/main/java/com/adjust/sdk/AdjustUtil.java index b8ee20d6..272fe8b7 100644 --- a/android/src/main/java/com/adjust/sdk/AdjustUtil.java +++ b/android/src/main/java/com/adjust/sdk/AdjustUtil.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import android.net.Uri; +import android.util.Log; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -37,7 +38,7 @@ final class AdjustUtil { * @param key The key for the value to be converted * @return The converted POJO */ - public static Object toObject(@Nullable ReadableMap readableMap, String key) { + private static Object toObject(@Nullable ReadableMap readableMap, String key) { if (readableMap == null) { return null; } @@ -47,7 +48,7 @@ public static Object toObject(@Nullable ReadableMap readableMap, String key) { ReadableType readableType = readableMap.getType(key); switch (readableType) { case Null: - result = key; + result = null; break; case Boolean: result = readableMap.getBoolean(key); @@ -71,7 +72,7 @@ public static Object toObject(@Nullable ReadableMap readableMap, String key) { result = toList(readableMap.getArray(key)); break; default: - throw new IllegalArgumentException("Could not convert object with key: " + key + "."); + Log.e("Adjust", "Could not convert object with key: " + key + "."); } return result; @@ -96,7 +97,12 @@ public static Map toMap(@Nullable ReadableMap readableMap) { Map result = new HashMap<>(); while (iterator.hasNextKey()) { String key = iterator.nextKey(); - result.put(key, toObject(readableMap, key)); + String value = toObject(readableMap, key); + if(value == null) { + continue; + } + + result.put(key, value); } return result; @@ -118,7 +124,6 @@ public static List toList(@Nullable ReadableArray readableArray) { ReadableType readableType = readableArray.getType(index); switch (readableType) { case Null: - result.add(String.valueOf(index)); break; case Boolean: result.add(readableArray.getBoolean(index)); @@ -142,7 +147,7 @@ public static List toList(@Nullable ReadableArray readableArray) { result = toList(readableArray.getArray(index)); break; default: - throw new IllegalArgumentException("Could not convert object with index: " + index + "."); + Log.e("Adjust", "Could not convert object with index: " + index + "."); } } diff --git a/ios/Adjust/AdjustSdkDelegate.m b/ios/Adjust/AdjustSdkDelegate.m index 0677b660..86f00b25 100644 --- a/ios/Adjust/AdjustSdkDelegate.m +++ b/ios/Adjust/AdjustSdkDelegate.m @@ -101,6 +101,12 @@ - (void)adjustEventTrackingSucceededWannabe:(ADJEventSuccess *)event { NSError * err; NSData * jsonData = [NSJSONSerialization dataWithJSONObject:event.jsonResponse options:0 error:&err]; + + if (err != nil || jsonData == nil) { + NSLog(@"Adjust: Failed to parse jsonResponse in EventTrackingSucceeded callback"); + return; + } + NSString * jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: @@ -124,6 +130,12 @@ - (void)adjustEventTrackingFailedWannabe:(ADJEventFailure *)event { NSString * jsonResponseStr = @""; if (event.jsonResponse != nil) { NSData * jsonData = [NSJSONSerialization dataWithJSONObject:event.jsonResponse options:0 error:&err]; + + if (err != nil || jsonData == nil) { + NSLog(@"Adjust: Failed to parse jsonResponse in EventTrackingFailed callback"); + return; + } + jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; } @@ -148,6 +160,12 @@ - (void)adjustSessionTrackingSucceededWannabe:(ADJSessionSuccess *)session { NSError * err; NSData * jsonData = [NSJSONSerialization dataWithJSONObject:session.jsonResponse options:0 error:&err]; + + if (err != nil || jsonData == nil) { + NSLog(@"Adjust: Failed to parse jsonResponse in SessionTrackingSucceeded callback"); + return; + } + NSString * jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: @@ -167,6 +185,12 @@ - (void)adjustSessionTrackingFailedWananbe:(ADJSessionFailure *)session { NSError * err; NSData * jsonData = [NSJSONSerialization dataWithJSONObject:session.jsonResponse options:0 error:&err]; + + if (err != nil || jsonData == nil) { + NSLog(@"Adjust: Failed to parse jsonResponse in SessionTrackingFailed callback"); + return; + } + NSString * jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSNumber *willRetryNum = [NSNumber numberWithBool:session.willRetry]; @@ -192,35 +216,35 @@ - (BOOL)adjustDeeplinkResponseWannabe:(NSURL *)deeplink { - (void)swizzleCallbackMethod:(SEL)originalSelector swizzledSelector:(SEL)swizzledSelector { - Class class = [self class]; - - Method originalMethod = class_getInstanceMethod(class, originalSelector); - Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector); - - BOOL didAddMethod = class_addMethod(class, - originalSelector, - method_getImplementation(swizzledMethod), - method_getTypeEncoding(swizzledMethod)); - - if (didAddMethod) { - class_replaceMethod(class, - swizzledSelector, - method_getImplementation(originalMethod), - method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, swizzledMethod); - } -} + Class class = [self class]; + + Method originalMethod = class_getInstanceMethod(class, originalSelector); + Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector); + + BOOL didAddMethod = class_addMethod(class, + originalSelector, + method_getImplementation(swizzledMethod), + method_getTypeEncoding(swizzledMethod)); + + if (didAddMethod) { + class_replaceMethod(class, + swizzledSelector, + method_getImplementation(originalMethod), + method_getTypeEncoding(originalMethod)); + } else { + method_exchangeImplementations(originalMethod, swizzledMethod); + } + } - (void)addValueOrEmpty:(NSMutableDictionary *)dictionary key:(NSString *)key value:(NSObject *)value { - if (nil != value) { - [dictionary setObject:[NSString stringWithFormat:@"%@", value] forKey:key]; - } else { - [dictionary setObject:@"" forKey:key]; - } -} + if (nil != value) { + [dictionary setObject:[NSString stringWithFormat:@"%@", value] forKey:key]; + } else { + [dictionary setObject:@"" forKey:key]; + } + } @end From 3e8eb1ed63f29a979a061407c9e5ea21de344ba7 Mon Sep 17 00:00:00 2001 From: Obaied Date: Wed, 23 Nov 2016 14:48:30 +0100 Subject: [PATCH 02/51] Updating submodules and iOS native source code --- ext/Android/sdk | 2 +- ext/iOS/sdk | 2 +- ios/Adjust/ADJActivityHandler.h | 8 ++- ios/Adjust/ADJActivityHandler.m | 28 +++----- ios/Adjust/ADJActivityKind.h | 1 + ios/Adjust/ADJAdjustFactory.h | 6 +- ios/Adjust/ADJAdjustFactory.m | 15 ++-- ios/Adjust/ADJAttributionHandler.h | 6 +- ios/Adjust/ADJAttributionHandler.m | 14 +--- ios/Adjust/ADJConfig.h | 1 - ios/Adjust/ADJConfig.m | 4 -- ios/Adjust/ADJDeviceInfo.h | 1 + ios/Adjust/ADJDeviceInfo.m | 1 + ios/Adjust/ADJPackageBuilder.h | 1 + ios/Adjust/ADJPackageBuilder.m | 21 +++++- ios/Adjust/ADJResponseData.h | 8 --- ios/Adjust/ADJResponseData.m | 48 ++----------- ios/Adjust/ADJSystemProfile.h | 1 - ios/Adjust/ADJSystemProfile.m | 110 ++++++++++++++++------------- ios/Adjust/ADJUtil.h | 1 + ios/Adjust/ADJUtil.m | 17 ++++- ios/Adjust/Adjust.h | 1 + ios/Adjust/Adjust.m | 10 ++- 23 files changed, 148 insertions(+), 159 deletions(-) diff --git a/ext/Android/sdk b/ext/Android/sdk index 1b928bc3..bb815dd0 160000 --- a/ext/Android/sdk +++ b/ext/Android/sdk @@ -1 +1 @@ -Subproject commit 1b928bc3d67662efb78f0242d834b1af5d996d46 +Subproject commit bb815dd0261da06303a8cea2d9d030087457450a diff --git a/ext/iOS/sdk b/ext/iOS/sdk index ca0f26c9..cfe173a3 160000 --- a/ext/iOS/sdk +++ b/ext/iOS/sdk @@ -1 +1 @@ -Subproject commit ca0f26c9303bff8e3339d7a7e0d46d9ebf421347 +Subproject commit cfe173a379929d3640899e43b1ab8bdaa984d14d diff --git a/ios/Adjust/ADJActivityHandler.h b/ios/Adjust/ADJActivityHandler.h index 18edf293..d1f89b77 100644 --- a/ios/Adjust/ADJActivityHandler.h +++ b/ios/Adjust/ADJActivityHandler.h @@ -16,6 +16,8 @@ @property (nonatomic, assign) BOOL background; @property (nonatomic, assign) BOOL delayStart; @property (nonatomic, assign) BOOL updatePackages; +@property (nonatomic, copy) NSData* deviceToken; + - (id)init; - (BOOL)isEnabled; @@ -33,7 +35,8 @@ @protocol ADJActivityHandler - (id)initWithConfig:(ADJConfig *)adjustConfig -sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray; +sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray + deviceToken:(NSData*)deviceToken; - (void)applicationDidBecomeActive; - (void)applicationWillResignActive; @@ -78,7 +81,8 @@ sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray; @interface ADJActivityHandler : NSObject + (id)handlerWithConfig:(ADJConfig *)adjustConfig - sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray; + sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray + deviceToken:(NSData*)deviceToken; - (ADJAttribution*) attribution; - (void)addSessionCallbackParameterI:(ADJActivityHandler *)selfI diff --git a/ios/Adjust/ADJActivityHandler.m b/ios/Adjust/ADJActivityHandler.m index 06d6a96e..684187a9 100644 --- a/ios/Adjust/ADJActivityHandler.m +++ b/ios/Adjust/ADJActivityHandler.m @@ -99,13 +99,16 @@ @implementation ADJActivityHandler + (id)handlerWithConfig:(ADJConfig *)adjustConfig sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray + deviceToken:(NSData*)deviceToken { return [[ADJActivityHandler alloc] initWithConfig:adjustConfig - sessionParametersActionsArray:sessionParametersActionsArray]; + sessionParametersActionsArray:sessionParametersActionsArray + deviceToken:deviceToken]; } - (id)initWithConfig:(ADJConfig *)adjustConfig sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray + deviceToken:(NSData*)deviceToken { self = [super init]; if (self == nil) return nil; @@ -153,6 +156,7 @@ - (id)initWithConfig:(ADJConfig *)adjustConfig } else { self.internalState.updatePackages = self.activityState.updatePackages; } + self.internalState.deviceToken = deviceToken; self.internalQueue = dispatch_queue_create(kInternalQueueName, DISPATCH_QUEUE_SERIAL); [ADJUtil launchInQueue:self.internalQueue @@ -638,8 +642,7 @@ - (void)initI:(ADJActivityHandler *)selfI selfI.attributionHandler = [ADJAdjustFactory attributionHandlerForActivityHandler:selfI withAttributionPackage:attributionPackage startsSending:[selfI toSendI:selfI - sdkClickHandlerOnly:NO] - hasAttributionChangedDelegate:selfI.adjustConfig.hasAttributionChangedDelegate]; + sdkClickHandlerOnly:NO]]; selfI.sdkClickHandler = [ADJAdjustFactory sdkClickHandlerWithStartsPaused:[selfI toSendI:selfI sdkClickHandlerOnly:YES]]; @@ -672,6 +675,7 @@ - (void)processSessionI:(ADJActivityHandler *)selfI { if (selfI.activityState == nil) { selfI.activityState = [[ADJActivityState alloc] init]; selfI.activityState.sessionCount = 1; // this is the first session + selfI.activityState.deviceToken = [ADJUtil convertDeviceToken:self.internalState.deviceToken]; [selfI transferSessionPackageI:selfI now:now]; [selfI.activityState resetSessionAttributes:now]; @@ -903,10 +907,6 @@ - (BOOL)updateAttributionI:(ADJActivityHandler *)selfI return NO; } - if (![selfI.adjustConfig hasAttributionChangedDelegate]) { - return NO; - } - if (![selfI.adjustDelegate respondsToSelector:@selector(adjustAttributionChanged:)]) { return NO; } @@ -1008,13 +1008,7 @@ - (BOOL)trySetAttributionDeeplink:(ADJAttribution *)deeplinkAttribution - (void)setDeviceTokenI:(ADJActivityHandler *)selfI deviceToken:(NSData *)deviceToken { - if (deviceToken == nil) { - return; - } - - NSString *deviceTokenString = [deviceToken.description stringByTrimmingCharactersInSet: - [NSCharacterSet characterSetWithCharactersInString:@"<>"]]; - deviceTokenString = [deviceTokenString stringByReplacingOccurrencesOfString:@" " withString:@""]; + NSString *deviceTokenString = [ADJUtil convertDeviceToken:deviceToken]; if (deviceTokenString == nil) { return; @@ -1025,15 +1019,15 @@ - (void)setDeviceTokenI:(ADJActivityHandler *)selfI } double now = [NSDate.date timeIntervalSince1970]; - ADJPackageBuilder * clickBuilder = [[ADJPackageBuilder alloc] + ADJPackageBuilder * infoBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:selfI.deviceInfo activityState:selfI.activityState config:selfI.adjustConfig createdAt:now]; - clickBuilder.deviceToken = deviceTokenString; + infoBuilder.deviceToken = deviceTokenString; - ADJActivityPackage * clickPackage = [clickBuilder buildClickPackage:@"push"]; + ADJActivityPackage * clickPackage = [infoBuilder buildInfoPackage:@"push"]; [selfI.sdkClickHandler sendSdkClick:clickPackage]; diff --git a/ios/Adjust/ADJActivityKind.h b/ios/Adjust/ADJActivityKind.h index 24fedfd9..9a4146a4 100644 --- a/ios/Adjust/ADJActivityKind.h +++ b/ios/Adjust/ADJActivityKind.h @@ -19,6 +19,7 @@ typedef NS_ENUM(int, ADJActivityKind) { // ADJActivityKindRevenue = 3, ADJActivityKindClick = 4, ADJActivityKindAttribution = 5, + ADJActivityKindInfo = 6, }; @interface ADJActivityKindUtil : NSObject diff --git a/ios/Adjust/ADJAdjustFactory.h b/ios/Adjust/ADJAdjustFactory.h index 94e66c60..8889efc3 100644 --- a/ios/Adjust/ADJAdjustFactory.h +++ b/ios/Adjust/ADJAdjustFactory.h @@ -22,7 +22,8 @@ startsSending:(BOOL)startsSending; + (id)requestHandlerForPackageHandler:(id)packageHandler; + (id)activityHandlerWithConfig:(ADJConfig *)adjustConfig - sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray; + sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray + deviceToken:(NSData*)deviceToken; + (id)sdkClickHandlerWithStartsPaused:(BOOL)startsSending; + (id)logger; @@ -35,8 +36,7 @@ + (id)attributionHandlerForActivityHandler:(id)activityHandler withAttributionPackage:(ADJActivityPackage *) attributionPackage - startsSending:(BOOL)startsSending - hasAttributionChangedDelegate:(BOOL)hasAttributionChangedDelegate; + startsSending:(BOOL)startsSending; + (BOOL)testing; + (NSTimeInterval)maxDelayStart; diff --git a/ios/Adjust/ADJAdjustFactory.m b/ios/Adjust/ADJAdjustFactory.m index 16986d6a..06a1022c 100644 --- a/ios/Adjust/ADJAdjustFactory.m +++ b/ios/Adjust/ADJAdjustFactory.m @@ -44,13 +44,17 @@ @implementation ADJAdjustFactory + (id)activityHandlerWithConfig:(ADJConfig *)adjustConfig sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray + deviceToken:(NSData*)deviceToken { if (internalActivityHandler == nil) { return [ADJActivityHandler handlerWithConfig:adjustConfig - sessionParametersActionsArray:sessionParametersActionsArray]; + sessionParametersActionsArray:sessionParametersActionsArray + deviceToken:deviceToken + ]; } return [internalActivityHandler initWithConfig:adjustConfig - sessionParametersActionsArray:sessionParametersActionsArray]; + sessionParametersActionsArray:sessionParametersActionsArray + deviceToken:deviceToken]; } + (id)logger { @@ -106,19 +110,16 @@ + (ADJBackoffStrategy *)sdkClickHandlerBackoffStrategy { + (id)attributionHandlerForActivityHandler:(id)activityHandler withAttributionPackage:(ADJActivityPackage *) attributionPackage startsSending:(BOOL)startsSending - hasAttributionChangedDelegate:(BOOL)hasAttributionChangedDelegate { if (internalAttributionHandler == nil) { return [ADJAttributionHandler handlerWithActivityHandler:activityHandler withAttributionPackage:attributionPackage - startsSending:startsSending - hasAttributionChangedDelegate:hasAttributionChangedDelegate]; + startsSending:startsSending]; } return [internalAttributionHandler initWithActivityHandler:activityHandler withAttributionPackage:attributionPackage - startsSending:startsSending - hasAttributionChangedDelegate:hasAttributionChangedDelegate]; + startsSending:startsSending]; } + (id)sdkClickHandlerWithStartsPaused:(BOOL)startsSending diff --git a/ios/Adjust/ADJAttributionHandler.h b/ios/Adjust/ADJAttributionHandler.h index bc1e767d..ea73e90c 100644 --- a/ios/Adjust/ADJAttributionHandler.h +++ b/ios/Adjust/ADJAttributionHandler.h @@ -14,8 +14,7 @@ - (id)initWithActivityHandler:(id) activityHandler withAttributionPackage:(ADJActivityPackage *) attributionPackage - startsSending:(BOOL)startsSending -hasAttributionChangedDelegate:(BOOL)hasAttributionChangedDelegate; + startsSending:(BOOL)startsSending; - (void)checkSessionResponse:(ADJSessionResponseData *)sessionResponseData; @@ -35,7 +34,6 @@ hasAttributionChangedDelegate:(BOOL)hasAttributionChangedDelegate; + (id)handlerWithActivityHandler:(id)activityHandler withAttributionPackage:(ADJActivityPackage *) attributionPackage - startsSending:(BOOL)startsSending - hasAttributionChangedDelegate:(BOOL)hasAttributionChangedDelegate; + startsSending:(BOOL)startsSending; @end diff --git a/ios/Adjust/ADJAttributionHandler.m b/ios/Adjust/ADJAttributionHandler.m index 0fdaf39c..cde89552 100644 --- a/ios/Adjust/ADJAttributionHandler.m +++ b/ios/Adjust/ADJAttributionHandler.m @@ -24,7 +24,6 @@ @interface ADJAttributionHandler() @property (nonatomic, strong) ADJTimerOnce *attributionTimer; @property (nonatomic, strong) ADJActivityPackage * attributionPackage; @property (nonatomic, assign) BOOL paused; -@property (nonatomic, assign) BOOL hasNeedsResponseDelegate; @end @@ -34,19 +33,16 @@ @implementation ADJAttributionHandler + (id)handlerWithActivityHandler:(id)activityHandler withAttributionPackage:(ADJActivityPackage *) attributionPackage - startsSending:(BOOL)startsSending - hasAttributionChangedDelegate:(BOOL)hasAttributionChangedDelegate; + startsSending:(BOOL)startsSending; { return [[ADJAttributionHandler alloc] initWithActivityHandler:activityHandler withAttributionPackage:attributionPackage - startsSending:startsSending - hasAttributionChangedDelegate:hasAttributionChangedDelegate]; + startsSending:startsSending]; } - (id)initWithActivityHandler:(id) activityHandler withAttributionPackage:(ADJActivityPackage *) attributionPackage - startsSending:(BOOL)startsSending -hasAttributionChangedDelegate:(BOOL)hasAttributionChangedDelegate; + startsSending:(BOOL)startsSending; { self = [super init]; if (self == nil) return nil; @@ -56,7 +52,6 @@ - (id)initWithActivityHandler:(id) activityHandler self.logger = ADJAdjustFactory.logger; self.attributionPackage = attributionPackage; self.paused = !startsSending; - self.hasNeedsResponseDelegate = hasAttributionChangedDelegate; __weak __typeof__(self) weakSelf = self; self.attributionTimer = [ADJTimerOnce timerWithBlock:^{ __typeof__(self) strongSelf = weakSelf; @@ -167,9 +162,6 @@ - (void)checkDeeplinkI:(ADJAttributionHandler*)selfI } - (void)requestAttributionI:(ADJAttributionHandler*)selfI { - if (!selfI.hasNeedsResponseDelegate) { - return; - } if (selfI.paused) { [selfI.logger debug:@"Attribution handler is paused"]; return; diff --git a/ios/Adjust/ADJConfig.h b/ios/Adjust/ADJConfig.h index 1774c80c..7f5f9715 100644 --- a/ios/Adjust/ADJConfig.h +++ b/ios/Adjust/ADJConfig.h @@ -171,7 +171,6 @@ @property (nonatomic, copy) NSString *userAgent; @property (nonatomic, assign, readonly) BOOL hasResponseDelegate; -@property (nonatomic, assign, readonly) BOOL hasAttributionChangedDelegate; - (BOOL) isValid; @end diff --git a/ios/Adjust/ADJConfig.m b/ios/Adjust/ADJConfig.m index 5c36732b..8a0e84e3 100644 --- a/ios/Adjust/ADJConfig.m +++ b/ios/Adjust/ADJConfig.m @@ -60,7 +60,6 @@ - (id)initWithAppToken:(NSString *)appToken _environment = environment; // default values _hasResponseDelegate = NO; - _hasAttributionChangedDelegate = NO; self.eventBufferingEnabled = NO; return self; @@ -92,7 +91,6 @@ - (void)setLogLevel:(ADJLogLevel)logLevel - (void)setDelegate:(NSObject *)delegate { _hasResponseDelegate = NO; - _hasAttributionChangedDelegate = NO; BOOL implementsDeeplinkCallback = NO; if ([ADJUtil isNull:delegate]) { @@ -105,7 +103,6 @@ - (void)setDelegate:(NSObject *)delegate { [self.logger debug:@"Delegate implements adjustAttributionChanged:"]; _hasResponseDelegate = YES; - _hasAttributionChangedDelegate = YES; } if ([delegate respondsToSelector:@selector(adjustEventTrackingSucceeded:)]) { @@ -192,7 +189,6 @@ -(id)copyWithZone:(NSZone *)zone copy.defaultTracker = [self.defaultTracker copyWithZone:zone]; copy.eventBufferingEnabled = self.eventBufferingEnabled; copy->_hasResponseDelegate = self.hasResponseDelegate; - copy->_hasAttributionChangedDelegate = self.hasAttributionChangedDelegate; copy.sendInBackground = self.sendInBackground; copy.delayStart = self.delayStart; copy.userAgent = [self.userAgent copyWithZone:zone]; diff --git a/ios/Adjust/ADJDeviceInfo.h b/ios/Adjust/ADJDeviceInfo.h index 4465eded..73f6d5fb 100644 --- a/ios/Adjust/ADJDeviceInfo.h +++ b/ios/Adjust/ADJDeviceInfo.h @@ -27,6 +27,7 @@ @property (nonatomic, copy) NSString *machineModel; @property (nonatomic, copy) NSString *cpuSubtype; @property (nonatomic, copy) NSString *installReceiptBase64; +@property (nonatomic, copy) NSString *osBuild; - (id)initWithSdkPrefix:(NSString *)sdkPrefix; + (ADJDeviceInfo *)deviceInfoWithSdkPrefix:(NSString *)sdkPrefix; diff --git a/ios/Adjust/ADJDeviceInfo.m b/ios/Adjust/ADJDeviceInfo.m index 992ab904..475ece78 100644 --- a/ios/Adjust/ADJDeviceInfo.m +++ b/ios/Adjust/ADJDeviceInfo.m @@ -43,6 +43,7 @@ - (id)initWithSdkPrefix:(NSString *)sdkPrefix { self.systemVersion = device.systemVersion; self.machineModel = [ADJSystemProfile machineModel]; self.cpuSubtype = [ADJSystemProfile cpuSubtype]; + self.osBuild = [ADJSystemProfile osVersion]; if (sdkPrefix == nil) { self.clientSdk = ADJUtil.clientSdk; diff --git a/ios/Adjust/ADJPackageBuilder.h b/ios/Adjust/ADJPackageBuilder.h index 9378bc9a..3f472c28 100644 --- a/ios/Adjust/ADJPackageBuilder.h +++ b/ios/Adjust/ADJPackageBuilder.h @@ -40,6 +40,7 @@ sessionParameters:(ADJSessionParameters *)sessionParameters isInDelay:(BOOL)isInDelay; - (ADJActivityPackage *)buildClickPackage:(NSString *)clickSource; +- (ADJActivityPackage *)buildInfoPackage:(NSString *)infoSource; + (void)parameters:(NSMutableDictionary *)parameters setDictionary:(NSDictionary *)dictionary forKey:(NSString *)key; + (void)parameters:(NSMutableDictionary *)parameters setString:(NSString *)value forKey:(NSString *)key; diff --git a/ios/Adjust/ADJPackageBuilder.m b/ios/Adjust/ADJPackageBuilder.m index a1fe38c1..53d45773 100644 --- a/ios/Adjust/ADJPackageBuilder.m +++ b/ios/Adjust/ADJPackageBuilder.m @@ -125,7 +125,6 @@ - (ADJActivityPackage *)buildClickPackage:(NSString *)clickSource { } [ADJPackageBuilder parameters:parameters setDictionary:self.iadDetails forKey:@"details"]; [ADJPackageBuilder parameters:parameters setString:self.deeplink forKey:@"deeplink"]; - [ADJPackageBuilder parameters:parameters setString:self.deviceToken forKey:@"push_token"]; ADJActivityPackage *clickPackage = [self defaultActivityPackage]; clickPackage.path = @"/sdk_click"; @@ -136,6 +135,22 @@ - (ADJActivityPackage *)buildClickPackage:(NSString *)clickSource { return clickPackage; } +- (ADJActivityPackage *)buildInfoPackage:(NSString *)infoSource { + NSMutableDictionary *parameters = [self idsParameters]; + + [ADJPackageBuilder parameters:parameters setString:infoSource forKey:@"source"]; + + [ADJPackageBuilder parameters:parameters setString:self.deviceToken forKey:@"push_token"]; + + ADJActivityPackage *infoPackage = [self defaultActivityPackage]; + infoPackage.path = @"/sdk_info"; + infoPackage.activityKind = ADJActivityKindInfo; + infoPackage.suffix = @""; + infoPackage.parameters = parameters; + + return infoPackage; +} + - (ADJActivityPackage *)buildAttributionPackage { NSMutableDictionary *parameters = [self idsParameters]; @@ -208,6 +223,7 @@ - (void) injectDeviceInfo:(ADJDeviceInfo *)deviceInfo [ADJPackageBuilder parameters:parameters setString:deviceInfo.machineModel forKey:@"hardware_name"]; [ADJPackageBuilder parameters:parameters setString:deviceInfo.cpuSubtype forKey:@"cpu_type"]; [ADJPackageBuilder parameters:parameters setString:deviceInfo.installReceiptBase64 forKey:@"install_receipt"]; + [ADJPackageBuilder parameters:parameters setString:deviceInfo.osBuild forKey:@"os_build"]; } - (void)injectConfig:(ADJConfig*) adjustConfig @@ -225,7 +241,7 @@ - (void) injectActivityState:(ADJActivityState *)activityState [ADJPackageBuilder parameters:parameters setInt:activityState.subsessionCount forKey:@"subsession_count"]; [ADJPackageBuilder parameters:parameters setDuration:activityState.sessionLength forKey:@"session_length"]; [ADJPackageBuilder parameters:parameters setDuration:activityState.timeSpent forKey:@"time_spent"]; - [ADJPackageBuilder parameters:parameters setString:activityState.uuid forKey:@"ios_uuid"]; + [ADJPackageBuilder parameters:parameters setString:activityState.deviceToken forKey:@"push_token"]; // Check if UUID was persisted or not. // If yes, assign it to persistent_ios_uuid parameter. @@ -235,7 +251,6 @@ - (void) injectActivityState:(ADJActivityState *)activityState } else { [ADJPackageBuilder parameters:parameters setString:activityState.uuid forKey:@"ios_uuid"]; } - } - (NSString *)eventSuffix:(ADJEvent *)event { diff --git a/ios/Adjust/ADJResponseData.h b/ios/Adjust/ADJResponseData.h index aa785850..bbd57d7f 100644 --- a/ios/Adjust/ADJResponseData.h +++ b/ios/Adjust/ADJResponseData.h @@ -63,11 +63,3 @@ @property (nonatomic, strong) NSURL * deeplink; @end - -@interface ADJClickResponseData : ADJResponseData - -@end - -@interface ADJUnknowResponseData : ADJResponseData - -@end diff --git a/ios/Adjust/ADJResponseData.m b/ios/Adjust/ADJResponseData.m index 316389c8..1de82815 100644 --- a/ios/Adjust/ADJResponseData.m +++ b/ios/Adjust/ADJResponseData.m @@ -23,31 +23,31 @@ - (id)init { } + (id)buildResponseData:(ADJActivityPackage *)activityPackage { + ADJActivityKind activityKind; if (activityPackage == nil) { - return [[ADJUnknowResponseData alloc] init]; + activityKind = ADJActivityKindUnknown; + } else { + activityKind = activityPackage.activityKind; } ADJResponseData * responseData = nil; - switch (activityPackage.activityKind) { + switch (activityKind) { case ADJActivityKindSession: responseData = [[ADJSessionResponseData alloc] init]; break; case ADJActivityKindEvent: responseData = [[ADJEventResponseData alloc] initWithActivityPackage:activityPackage]; break; - case ADJActivityKindClick: - responseData = [[ADJClickResponseData alloc] init]; - break; case ADJActivityKindAttribution: responseData = [[ADJAttributionResponseData alloc] init]; break; default: - responseData = [[ADJUnknowResponseData alloc] init]; + responseData = [[ADJResponseData alloc] init]; break; } - responseData.activityKind = activityPackage.activityKind; + responseData.activityKind = activityKind; return responseData; } @@ -193,38 +193,4 @@ - (NSString *)description { } -@end - -@implementation ADJClickResponseData - -- (id)initWithActivityPackage:(ADJActivityPackage *)activityPackage { - self = [super init]; - if (self == nil) return nil; - - return self; -} - --(id)copyWithZone:(NSZone *)zone -{ - ADJClickResponseData* copy = [super copyWithZone:zone]; - return copy; -} - -@end - -@implementation ADJUnknowResponseData - -- (id)initWithActivityPackage:(ADJActivityPackage *)activityPackage { - self = [super init]; - if (self == nil) return nil; - - return self; -} - --(id)copyWithZone:(NSZone *)zone -{ - ADJUnknowResponseData* copy = [super copyWithZone:zone]; - return copy; -} - @end diff --git a/ios/Adjust/ADJSystemProfile.h b/ios/Adjust/ADJSystemProfile.h index b0779a89..280d2a1b 100644 --- a/ios/Adjust/ADJSystemProfile.h +++ b/ios/Adjust/ADJSystemProfile.h @@ -33,5 +33,4 @@ + (long long) ramsize; + (NSString*) cpuType; + (NSString*) cpuSubtype; - @end diff --git a/ios/Adjust/ADJSystemProfile.m b/ios/Adjust/ADJSystemProfile.m index c3d4d8b7..31317475 100644 --- a/ios/Adjust/ADJSystemProfile.m +++ b/ios/Adjust/ADJSystemProfile.m @@ -19,6 +19,8 @@ #import #import #import +#import "ADJAdjustFactory.h" +#import "ADJLogger.h" @implementation ADJSystemProfile @@ -52,7 +54,7 @@ + (NSString*) cpuFamily int error = sysctlbyname("hw.cpufamily", &cpufamily, &length, NULL, 0); if (error != 0) { - NSLog(@"Failed to obtain CPU family (%d)", error); + [ADJAdjustFactory.logger error:@"Failed to obtain CPU family (%d)", error]; return nil; } switch (cpufamily) @@ -167,10 +169,13 @@ + (NSString*) cpuFamily #endif } NSString * unknowCpuFamily = [NSString stringWithFormat:@"Unknown CPU family %d", cpufamily]; - NSLog(@"%@", unknowCpuFamily); + [ADJAdjustFactory.logger warn:@"%@", unknowCpuFamily]; return unknowCpuFamily; } - +/* + original function + operatingSystemVersionString should not be parsed + https://developer.apple.com/reference/foundation/nsprocessinfo/1408730-operatingsystemversionstring?language=objc + (NSString*) osVersion { NSProcessInfo *info = [NSProcessInfo processInfo]; @@ -185,7 +190,7 @@ + (NSString*) osVersion return version; } - +*/ + (int) cpuCount { int error = 0; @@ -194,7 +199,7 @@ + (int) cpuCount error = sysctlbyname("hw.ncpu", &value, &length, NULL, 0); if (error != 0) { - NSLog(@"Failed to obtain CPU count"); + [ADJAdjustFactory.logger error:@"Failed to obtain CPU count (%d)", error]; return 1; } @@ -203,27 +208,63 @@ + (int) cpuCount + (NSString*) machineArch { - return [ADJSystemProfile readSysctlbString:"hw.machinearch" errorLog:@"Failed to obtain machine arch"]; + return [ADJSystemProfile readSysctlbByNameString:"hw.machinearch" errorLog:@"Failed to obtain machine arch"]; } + (NSString*) machineModel { - return [ADJSystemProfile readSysctlbString:"hw.model" errorLog:@"Failed to obtain machine model"]; + return [ADJSystemProfile readSysctlbByNameString:"hw.model" errorLog:@"Failed to obtain machine model"]; } + (NSString*) cpuBrand { - return [ADJSystemProfile readSysctlbString:"machdep.cpu.brand_string" errorLog:@"Failed to obtain CPU brand"]; + return [ADJSystemProfile readSysctlbByNameString:"machdep.cpu.brand_string" errorLog:@"Failed to obtain CPU brand"]; } + (NSString*) cpuFeatures { - return [ADJSystemProfile readSysctlbString:"machdep.cpu.features" errorLog:@"Failed to obtain CPU features"]; + return [ADJSystemProfile readSysctlbByNameString:"machdep.cpu.features" errorLog:@"Failed to obtain CPU features"]; } + (NSString*) cpuVendor { - return [ADJSystemProfile readSysctlbString:"machdep.cpu.vendor" errorLog:@"Failed to obtain CPU vendor"]; + return [ADJSystemProfile readSysctlbByNameString:"machdep.cpu.vendor" errorLog:@"Failed to obtain CPU vendor"]; +} + ++ (NSString*) osVersion +{ + return [ADJSystemProfile readSysctlbByNameString:"kern.osversion" errorLog:@"Failed to obtain OS version"]; +} + ++ (NSString*) readSysctlbByNameString:(const char *)name + errorLog:(NSString*)errorLog +{ + int error = 0; + size_t length = 0; + error = sysctlbyname(name, NULL, &length, NULL, 0); + + if (error != 0) { + [ADJAdjustFactory.logger error:@"%@ (%d)", errorLog, error]; + return nil; + } + + char *p = malloc(sizeof(char) * length); + if (p) { + error = sysctlbyname(name, p, &length, NULL, 0); + } + + if (error != 0) { + [ADJAdjustFactory.logger error:@"%@ (%d)", errorLog, error]; + free(p); + return nil; + } + + NSString * result = [NSString stringWithUTF8String:p]; + + free(p); + + return result; + } + (NSString*) appleLanguage @@ -232,7 +273,7 @@ + (NSString*) appleLanguage NSArray *languages = [defs objectForKey:@"AppleLanguages"]; if ([languages count] == 0) { - NSLog(@"Failed to obtain preferred language"); + [ADJAdjustFactory.logger error:@"Failed to obtain preferred language"]; return nil; } @@ -252,7 +293,7 @@ + (long long) cpuSpeed error = sysctl(mib, 2, &hertz, &size, NULL, 0); if (error) { - NSLog(@"Failed to obtain CPU speed"); + [ADJAdjustFactory.logger error:@"Failed to obtain CPU speed (%d)", error]; return -1; } @@ -271,7 +312,7 @@ + (long long) ramsize error = sysctlbyname("hw.memsize", &value, &length, NULL, 0); if (error) { - NSLog(@"Failed to obtain RAM size"); + [ADJAdjustFactory.logger error:@"Failed to obtain RAM size (%d)", error]; return -1; } const int64_t kBytesPerMebibyte = 1024*1024; @@ -290,7 +331,7 @@ + (NSString*) cpuType error = sysctlbyname("hw.cputype", &cputype, &length, NULL, 0); if (error != 0) { - NSLog(@"Failed to obtain CPU type"); + [ADJAdjustFactory.logger error:@"Failed to obtain CPU type (%d)", error]; return nil; } @@ -301,7 +342,7 @@ + (NSString*) cpuType } NSString * unknowCpuType = [NSString stringWithFormat:@"Unknown CPU type %d", cputype]; - NSLog(@"%@", unknowCpuType); + [ADJAdjustFactory.logger warn:@"%@", unknowCpuType]; return unknowCpuType; } @@ -314,7 +355,7 @@ + (NSString*) cpuSubtype error = sysctlbyname("hw.cputype", &cputype, &length, NULL, 0); if (error != 0) { - NSLog(@"Failed to obtain CPU type"); + [ADJAdjustFactory.logger error:@"Failed to obtain CPU type (%d)", error]; return nil; } @@ -323,7 +364,7 @@ + (NSString*) cpuSubtype error = sysctlbyname("hw.cpusubtype", &cpuSubtype, &length, NULL, 0); if (error != 0) { - NSLog(@"Failed to obtain CPU subtype"); + [ADJAdjustFactory.logger error:@"Failed to obtain CPU subtype (%d)", error]; return nil; } @@ -335,12 +376,10 @@ + (NSString*) cpuSubtype } NSString * unknowCpuSubtype = [NSString stringWithFormat:@"Unknown CPU subtype %d", cpuSubtype]; - NSLog(@"%@", unknowCpuSubtype); + [ADJAdjustFactory.logger warn:@"%@", unknowCpuSubtype]; return unknowCpuSubtype; } - - + (NSString*) readCpuTypeSubtype:(int)cputype readSubType:(BOOL)readSubType cpusubtype:(int)cpusubtype @@ -776,35 +815,4 @@ + (NSString*) readCpuTypeSubtype:(int)cputype return nil; } -+ (NSString*) readSysctlbString:(const char *)name - errorLog:(NSString*)errorLog -{ - int error = 0; - size_t length = 0; - error = sysctlbyname(name, NULL, &length, NULL, 0); - - if (error != 0) { - NSLog(@"%@", errorLog); - return nil; - } - - char *p = malloc(sizeof(char) * length); - if (p) { - error = sysctlbyname(name, p, &length, NULL, 0); - } - - if (error != 0) { - NSLog(@"%@", errorLog); - free(p); - return nil; - } - - NSString * result = [NSString stringWithUTF8String:p]; - - free(p); - - return result; - -} - @end diff --git a/ios/Adjust/ADJUtil.h b/ios/Adjust/ADJUtil.h index 3d521b81..62cd39e9 100644 --- a/ios/Adjust/ADJUtil.h +++ b/ios/Adjust/ADJUtil.h @@ -85,4 +85,5 @@ responseDataHandler:(void (^) (ADJResponseData * responseData))responseDataHandl + (BOOL)deleteFile:(NSString *)filename; + (void)launchDeepLinkMain:(NSURL *)deepLinkUrl; ++ (NSString*)convertDeviceToken:(NSData*)deviceToken; @end diff --git a/ios/Adjust/ADJUtil.m b/ios/Adjust/ADJUtil.m index 5d89567d..1cf9372c 100644 --- a/ios/Adjust/ADJUtil.m +++ b/ios/Adjust/ADJUtil.m @@ -26,7 +26,7 @@ static NSRegularExpression *optionalRedirectRegex = nil; static NSNumberFormatter * secondsNumberFormatter = nil; -static NSString * const kClientSdk = @"ios4.10.2"; +static NSString * const kClientSdk = @"ios4.10.3"; static NSURLSessionConfiguration * urlSessionConfiguration = nil; static NSString * userAgent = nil; static NSString * const kDeeplinkParam = @"deep_link="; @@ -899,4 +899,19 @@ + (void)launchDeepLinkMain:(NSURL *)deepLinkUrl { } } ++ (NSString*)convertDeviceToken:(NSData*)deviceToken { + if (deviceToken == nil) { + return nil;; + } + NSString *deviceTokenString = [deviceToken.description stringByTrimmingCharactersInSet: + [NSCharacterSet characterSetWithCharactersInString:@"<>"]]; + if (deviceTokenString == nil) { + return nil;; + } + + deviceTokenString = [deviceTokenString stringByReplacingOccurrencesOfString:@" " withString:@""]; + + return deviceTokenString; +} + @end diff --git a/ios/Adjust/Adjust.h b/ios/Adjust/Adjust.h index 0e1d6fb4..4143e7b5 100644 --- a/ios/Adjust/Adjust.h +++ b/ios/Adjust/Adjust.h @@ -2,6 +2,7 @@ // Adjust.h // Adjust // +// V4.10.3 // Created by Christian Wellenbrock on 2012-07-23. // Copyright (c) 2012-2014 adjust GmbH. All rights reserved. // diff --git a/ios/Adjust/Adjust.m b/ios/Adjust/Adjust.m index bba969b4..72aabb39 100644 --- a/ios/Adjust/Adjust.m +++ b/ios/Adjust/Adjust.m @@ -25,6 +25,7 @@ @interface Adjust() @property (nonatomic, weak) id logger; @property (nonatomic, strong) id activityHandler; @property (nonatomic, strong) NSMutableArray *sessionParametersActionsArray; +@property (nonatomic, copy) NSData *deviceTokenData; @end @@ -138,7 +139,8 @@ - (void)appDidLaunch:(ADJConfig *)adjustConfig { } self.activityHandler = [ADJAdjustFactory activityHandlerWithConfig:adjustConfig - sessionParametersActionsArray:self.sessionParametersActionsArray]; + sessionParametersActionsArray:self.sessionParametersActionsArray + deviceToken:self.deviceTokenData]; } - (void)trackEvent:(ADJEvent *)event { @@ -172,8 +174,10 @@ - (void)appWillOpenUrl:(NSURL *)url { } - (void)setDeviceToken:(NSData *)deviceToken { - if (![self checkActivityHandler]) return; - [self.activityHandler setDeviceToken:deviceToken]; + self.deviceTokenData = deviceToken; + if (self.activityHandler != nil) { + [self.activityHandler setDeviceToken:deviceToken]; + } } - (void)setOfflineMode:(BOOL)enabled { From 49ac4b599ef4bbbd3e0fa9cacd218920102628ef Mon Sep 17 00:00:00 2001 From: Obaied Date: Wed, 23 Nov 2016 15:18:05 +0100 Subject: [PATCH 03/51] Add proper warning messages using Adjust Logger --- android/src/main/java/com/adjust/sdk/AdjustUtil.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/adjust/sdk/AdjustUtil.java b/android/src/main/java/com/adjust/sdk/AdjustUtil.java index 272fe8b7..318d859d 100644 --- a/android/src/main/java/com/adjust/sdk/AdjustUtil.java +++ b/android/src/main/java/com/adjust/sdk/AdjustUtil.java @@ -72,7 +72,7 @@ private static Object toObject(@Nullable ReadableMap readableMap, String key) { result = toList(readableMap.getArray(key)); break; default: - Log.e("Adjust", "Could not convert object with key: " + key + "."); + AdjustFactory.getLogger().error("Could not convert object with key: " + key + "."); } return result; @@ -99,6 +99,7 @@ public static Map toMap(@Nullable ReadableMap readableMap) { String key = iterator.nextKey(); String value = toObject(readableMap, key); if(value == null) { + AdjustFactory.getLogger().warn("Null parameter inside key-value pair with key: " + key) continue; } @@ -147,7 +148,7 @@ public static List toList(@Nullable ReadableArray readableArray) { result = toList(readableArray.getArray(index)); break; default: - Log.e("Adjust", "Could not convert object with index: " + index + "."); + AdjustFactory.getLogger().error("Could not convert object with index: " + index + "."); } } From 407d92f565f7478dc05f464846b48f0079bd5705 Mon Sep 17 00:00:00 2001 From: Obaied Date: Wed, 23 Nov 2016 15:18:40 +0100 Subject: [PATCH 04/51] proper code formatting and error handling --- ios/Adjust/AdjustSdkDelegate.m | 236 +++++++++++++++++++-------------- 1 file changed, 133 insertions(+), 103 deletions(-) diff --git a/ios/Adjust/AdjustSdkDelegate.m b/ios/Adjust/AdjustSdkDelegate.m index 86f00b25..53daf6d2 100644 --- a/ios/Adjust/AdjustSdkDelegate.m +++ b/ios/Adjust/AdjustSdkDelegate.m @@ -9,6 +9,8 @@ #import "RCTEventDispatcher.h" #import #import "adjustSdkDelegate.h" +#import "ADJAdjustFactory.h" +#import "ADJUtil.h" @implementation AdjustSdkDelegate @@ -27,38 +29,38 @@ + (id)getInstanceWithSwizzleOfAttributionCallback:(BOOL)swizzleAttributionCallba dispatch_once(&onceToken, ^{ defaultInstance = [[AdjustSdkDelegate alloc] init]; - + // Do the swizzling where and if needed. if (swizzleAttributionCallback) { [defaultInstance swizzleCallbackMethod:@selector(adjustAttributionChanged:) swizzledSelector:@selector(adjustAttributionChangedWannabe:)]; } - + if (swizzleEventSucceededCallback) { [defaultInstance swizzleCallbackMethod:@selector(adjustEventTrackingSucceeded:) swizzledSelector:@selector(adjustEventTrackingSucceededWannabe:)]; } - + if (swizzleEventFailedCallback) { [defaultInstance swizzleCallbackMethod:@selector(adjustEventTrackingFailed:) swizzledSelector:@selector(adjustEventTrackingFailedWannabe:)]; } - + if (swizzleSessionSucceededCallback) { [defaultInstance swizzleCallbackMethod:@selector(adjustSessionTrackingSucceeded:) swizzledSelector:@selector(adjustSessionTrackingSucceededWannabe:)]; } - + if (swizzleSessionFailedCallback) { [defaultInstance swizzleCallbackMethod:@selector(adjustSessionTrackingFailed:) swizzledSelector:@selector(adjustSessionTrackingFailedWananbe:)]; } - + if (swizzleDeferredDeeplinkCallback) { [defaultInstance swizzleCallbackMethod:@selector(adjustDeeplinkResponse:) swizzledSelector:@selector(adjustDeeplinkResponseWannabe:)]; } - + [defaultInstance setShouldLaunchDeferredDeeplink:shouldLaunchDeferredDeeplink]; [defaultInstance setBridge:bridge]; }); @@ -80,17 +82,17 @@ - (void)adjustAttributionChangedWannabe:(ADJAttribution *)attr { if (attr == nil) { return; } - + NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: - attr.trackerToken, @"trackerToken", - attr.trackerName, @"trackerName", - attr.network, @"network", - attr.campaign, @"campaign", - attr.adgroup, @"adgroup", - attr.creative, @"creative", - attr.clickLabel, @"clickLabel", - nil]; - + attr.trackerToken, @"trackerToken", + attr.trackerName, @"trackerName", + attr.network, @"network", + attr.campaign, @"campaign", + attr.adgroup, @"adgroup", + attr.creative, @"creative", + attr.clickLabel, @"clickLabel", + nil]; + [self.bridge.eventDispatcher sendAppEventWithName:@"adjust_attribution" body:dict]; } @@ -98,58 +100,72 @@ - (void)adjustEventTrackingSucceededWannabe:(ADJEventSuccess *)event { if (nil == event) { return; } - + NSError * err; - NSData * jsonData = [NSJSONSerialization dataWithJSONObject:event.jsonResponse options:0 error:&err]; - - if (err != nil || jsonData == nil) { - NSLog(@"Adjust: Failed to parse jsonResponse in EventTrackingSucceeded callback"); + NSData * jsonData = [NSJSONSerialization dataWithJSONObject:event.jsonResponse options:0 error:&err]; + + if (err != nil) { + NSString *errorMessage = err.localizedDescription; + [ADJAdjustFactory.logger error:errorMessage]; return; } - + + if ([ADJUtil isNull:jsonData]) { + NSString *errorMessage = @"EventTrackingSucceeded: jsonData is null"; + [ADJAdjustFactory.logger error:errorMessage]; + return; + } + NSString * jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; - + NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: - event.message, @"message", - event.timeStamp, @"timeStamp", - event.adid, @"adid", - event.eventToken, @"eventToken", - jsonResponseStr, @"jsonResponse", - nil]; - + event.message, @"message", + event.timeStamp, @"timeStamp", + event.adid, @"adid", + event.eventToken, @"eventToken", + jsonResponseStr, @"jsonResponse", + nil]; + [self.bridge.eventDispatcher sendAppEventWithName:@"adjust_eventTrackingSucceeded" body:dict]; - + } - (void)adjustEventTrackingFailedWannabe:(ADJEventFailure *)event { if (nil == event) { return; } - + NSError * err; NSString * jsonResponseStr = @""; if (event.jsonResponse != nil) { NSData * jsonData = [NSJSONSerialization dataWithJSONObject:event.jsonResponse options:0 error:&err]; - - if (err != nil || jsonData == nil) { - NSLog(@"Adjust: Failed to parse jsonResponse in EventTrackingFailed callback"); - return; - } - + + if (err != nil) { + NSString *errorMessage = err.localizedDescription; + [ADJAdjustFactory.logger error:errorMessage]; + return; + } + + if ([ADJUtil isNull:jsonData]) { + NSString *errorMessage = @"EventTrackingFailed: jsonData is null"; + [ADJAdjustFactory.logger error:errorMessage]; + return; + } + jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; } - + NSNumber *willRetryNum = [NSNumber numberWithBool:event.willRetry]; - + NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: - event.message, @"message", - event.timeStamp, @"timeStamp", - event.adid, @"adid", - event.eventToken, @"eventToken", - jsonResponseStr, @"jsonResponse", - willRetryNum, @"willRetry", - nil]; - + event.message, @"message", + event.timeStamp, @"timeStamp", + event.adid, @"adid", + event.eventToken, @"eventToken", + jsonResponseStr, @"jsonResponse", + willRetryNum, @"willRetry", + nil]; + [self.bridge.eventDispatcher sendAppEventWithName:@"adjust_eventTrackingFailed" body:dict]; } @@ -157,24 +173,31 @@ - (void)adjustSessionTrackingSucceededWannabe:(ADJSessionSuccess *)session { if (nil == session) { return; } - + NSError * err; - NSData * jsonData = [NSJSONSerialization dataWithJSONObject:session.jsonResponse options:0 error:&err]; - - if (err != nil || jsonData == nil) { - NSLog(@"Adjust: Failed to parse jsonResponse in SessionTrackingSucceeded callback"); + NSData * jsonData = [NSJSONSerialization dataWithJSONObject:session.jsonResponse options:0 error:&err]; + + if (err != nil) { + NSString *errorMessage = err.localizedDescription; + [ADJAdjustFactory.logger error:errorMessage]; return; } - + + if ([ADJUtil isNull:jsonData]) { + NSString *errorMessage = @"SessionTrackingSucceeded: jsonData is null"; + [ADJAdjustFactory.logger error:errorMessage]; + return; + } + NSString * jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; - + NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: - session.message, @"message", - session.timeStamp, @"timeStamp", - session.adid, @"adid", - jsonResponseStr, @"jsonResponse", - nil]; - + session.message, @"message", + session.timeStamp, @"timeStamp", + session.adid, @"adid", + jsonResponseStr, @"jsonResponse", + nil]; + [self.bridge.eventDispatcher sendAppEventWithName:@"adjust_sessionTrackingSucceeded" body:dict]; } @@ -182,33 +205,40 @@ - (void)adjustSessionTrackingFailedWananbe:(ADJSessionFailure *)session { if (nil == session) { return; } - + NSError * err; - NSData * jsonData = [NSJSONSerialization dataWithJSONObject:session.jsonResponse options:0 error:&err]; - - if (err != nil || jsonData == nil) { - NSLog(@"Adjust: Failed to parse jsonResponse in SessionTrackingFailed callback"); + NSData * jsonData = [NSJSONSerialization dataWithJSONObject:session.jsonResponse options:0 error:&err]; + + if (err != nil) { + NSString *errorMessage = err.localizedDescription; + [ADJAdjustFactory.logger error:errorMessage]; return; } - + + if ([ADJUtil isNull:jsonData]) { + NSString *errorMessage = @"SessionTrackingFailed: jsonData is null"; + [ADJAdjustFactory.logger error:errorMessage]; + return; + } + NSString * jsonResponseStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; - + NSNumber *willRetryNum = [NSNumber numberWithBool:session.willRetry]; - + NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: - session.message, @"message", - session.timeStamp, @"timeStamp", - session.adid, @"adid", - jsonResponseStr, @"jsonResponse", - willRetryNum, @"willRetry", - nil]; - + session.message, @"message", + session.timeStamp, @"timeStamp", + session.adid, @"adid", + jsonResponseStr, @"jsonResponse", + willRetryNum, @"willRetry", + nil]; + [self.bridge.eventDispatcher sendAppEventWithName:@"adjust_sessionTrackingFailed" body:dict]; } - (BOOL)adjustDeeplinkResponseWannabe:(NSURL *)deeplink { NSString *path = [deeplink absoluteString]; - + [self.bridge.eventDispatcher sendAppEventWithName:@"adjust_deferredDeeplink" body:@{@"uri": path}]; return _shouldLaunchDeferredDeeplink; @@ -216,35 +246,35 @@ - (BOOL)adjustDeeplinkResponseWannabe:(NSURL *)deeplink { - (void)swizzleCallbackMethod:(SEL)originalSelector swizzledSelector:(SEL)swizzledSelector { - Class class = [self class]; - - Method originalMethod = class_getInstanceMethod(class, originalSelector); - Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector); - - BOOL didAddMethod = class_addMethod(class, - originalSelector, - method_getImplementation(swizzledMethod), - method_getTypeEncoding(swizzledMethod)); - - if (didAddMethod) { - class_replaceMethod(class, - swizzledSelector, - method_getImplementation(originalMethod), - method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, swizzledMethod); - } - } + Class class = [self class]; + + Method originalMethod = class_getInstanceMethod(class, originalSelector); + Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector); + + BOOL didAddMethod = class_addMethod(class, + originalSelector, + method_getImplementation(swizzledMethod), + method_getTypeEncoding(swizzledMethod)); + + if (didAddMethod) { + class_replaceMethod(class, + swizzledSelector, + method_getImplementation(originalMethod), + method_getTypeEncoding(originalMethod)); + } else { + method_exchangeImplementations(originalMethod, swizzledMethod); + } +} - (void)addValueOrEmpty:(NSMutableDictionary *)dictionary key:(NSString *)key value:(NSObject *)value { - if (nil != value) { - [dictionary setObject:[NSString stringWithFormat:@"%@", value] forKey:key]; - } else { - [dictionary setObject:@"" forKey:key]; - } - } + if (nil != value) { + [dictionary setObject:[NSString stringWithFormat:@"%@", value] forKey:key]; + } else { + [dictionary setObject:@"" forKey:key]; + } +} @end From 6db5399fb6a5f1046d8236d69239915ed87ba2c6 Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 12:11:21 +0100 Subject: [PATCH 05/51] Android submodule update --- ext/Android/sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/Android/sdk b/ext/Android/sdk index bb815dd0..a9fa106d 160000 --- a/ext/Android/sdk +++ b/ext/Android/sdk @@ -1 +1 @@ -Subproject commit bb815dd0261da06303a8cea2d9d030087457450a +Subproject commit a9fa106d3e30dce0371d86a7d1d73ae108ced0b0 From 862daec535e7f32534076239fc1ec2d18ada1da8 Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 12:22:21 +0100 Subject: [PATCH 06/51] Minor cleanup --- .../src/main/java/com/adjust/sdk/Adjust.java | 43 ++++------ .../main/java/com/adjust/sdk/AdjustUtil.java | 53 +++++++----- ios/adjustSdk.m | 81 +++++++------------ 3 files changed, 77 insertions(+), 100 deletions(-) diff --git a/android/src/main/java/com/adjust/sdk/Adjust.java b/android/src/main/java/com/adjust/sdk/Adjust.java index 82f586eb..d53855fd 100755 --- a/android/src/main/java/com/adjust/sdk/Adjust.java +++ b/android/src/main/java/com/adjust/sdk/Adjust.java @@ -54,12 +54,10 @@ public void initialize() { } @Override - public void onHostPause() { - } + public void onHostPause() {} @Override - public void onHostDestroy() { - } + public void onHostDestroy() {} @Override public void onHostResume() { @@ -112,26 +110,20 @@ public void create(ReadableMap mapConfig) { double delayStart = 0.0; boolean isLogLevelSuppress = false; - //check for isLogLevelSuppress + // Check for isLogLevelSuppress. if (!mapConfig.isNull("logLevel")) { logLevel = mapConfig.getString("logLevel"); - if(logLevel.equals("SUPPRESS")) { + if (logLevel.equals("SUPPRESS")) { isLogLevelSuppress = true; } } - //check for appToken and environment + // Check for appToken and environment. appToken = mapConfig.getString("appToken"); environment = mapConfig.getString("environment"); - final AdjustConfig adjustConfig - = new AdjustConfig( - getReactApplicationContext(), - appToken, - environment, - isLogLevelSuppress); - + final AdjustConfig adjustConfig = new AdjustConfig(getReactApplicationContext(), appToken, environment, isLogLevelSuppress); if (!adjustConfig.isValid()) { return; @@ -191,19 +183,19 @@ public void create(ReadableMap mapConfig) { } // Background tracking - if(!mapConfig.isNull("sendInBackground")) { + if (!mapConfig.isNull("sendInBackground")) { sendInBackground = mapConfig.getBoolean("sendInBackground"); adjustConfig.setSendInBackground(sendInBackground); } // Launching deferred deep link - if(!mapConfig.isNull("shouldLaunchDeeplink")) { + if (!mapConfig.isNull("shouldLaunchDeeplink")) { shouldLaunchDeeplink = mapConfig.getBoolean("shouldLaunchDeeplink"); this.shouldLaunchDeeplink = shouldLaunchDeeplink; } // Delayed start - if(!mapConfig.isNull("delayStart")) { + if (!mapConfig.isNull("delayStart")) { delayStart = mapConfig.getDouble("delayStart"); adjustConfig.setDelayStart(delayStart); } @@ -251,24 +243,24 @@ public void trackEvent(ReadableMap mapEvent) { final Map partnerParameters = AdjustUtil.toMap(mapEvent.getMap("partnerParameters")); AdjustEvent event = new AdjustEvent(eventToken); - if(event.isValid()) { + + if (event.isValid()) { event.setRevenue(revenue, currency); - if(callbackParameters != null) { + if (callbackParameters != null) { for (Map.Entry entry : callbackParameters.entrySet()) { event.addCallbackParameter(entry.getKey(), entry.getValue().toString()); } } - if(partnerParameters != null) { + if (partnerParameters != null) { for (Map.Entry entry : partnerParameters.entrySet()) { event.addPartnerParameter(entry.getKey(), entry.getValue().toString()); } } - if(!mapEvent.isNull("transactionId")) { - final String transactionId - = mapEvent.getString("transactionId"); + if (!mapEvent.isNull("transactionId")) { + final String transactionId = mapEvent.getString("transactionId"); event.setOrderId(transactionId); } @@ -403,12 +395,9 @@ public void clearDeferredDeeplinkCallbackListener() { this.deferredDeeplinkCallback = false; } - private void sendEvent(ReactContext reactContext, - String eventName, - @Nullable WritableMap params) { + private void sendEvent(ReactContext reactContext, String eventName, @Nullable WritableMap params) { reactContext .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) .emit(eventName, params); } - } diff --git a/android/src/main/java/com/adjust/sdk/AdjustUtil.java b/android/src/main/java/com/adjust/sdk/AdjustUtil.java index 318d859d..1df248ed 100644 --- a/android/src/main/java/com/adjust/sdk/AdjustUtil.java +++ b/android/src/main/java/com/adjust/sdk/AdjustUtil.java @@ -41,7 +41,7 @@ final class AdjustUtil { private static Object toObject(@Nullable ReadableMap readableMap, String key) { if (readableMap == null) { return null; - } + } Object result; @@ -56,11 +56,13 @@ private static Object toObject(@Nullable ReadableMap readableMap, String key) { case Number: // Can be int or double. double tmp = readableMap.getDouble(key); - if (tmp == (int) tmp) { - result = (int) tmp; + + if (tmp == (int)tmp) { + result = (int)tmp; } else { result = tmp; - } + } + break; case String: result = readableMap.getString(key); @@ -73,10 +75,10 @@ private static Object toObject(@Nullable ReadableMap readableMap, String key) { break; default: AdjustFactory.getLogger().error("Could not convert object with key: " + key + "."); - } + } return result; - } + } /** * toMap converts a {@link ReadableMap} into a HashMap. @@ -87,27 +89,30 @@ private static Object toObject(@Nullable ReadableMap readableMap, String key) { public static Map toMap(@Nullable ReadableMap readableMap) { if (readableMap == null) { return null; - } + } com.facebook.react.bridge.ReadableMapKeySetIterator iterator = readableMap.keySetIterator(); + if (!iterator.hasNextKey()) { return null; - } + } Map result = new HashMap<>(); + while (iterator.hasNextKey()) { String key = iterator.nextKey(); String value = toObject(readableMap, key); - if(value == null) { + + if (value == null) { AdjustFactory.getLogger().warn("Null parameter inside key-value pair with key: " + key) continue; } result.put(key, value); - } + } return result; - } + } /** * toList converts a {@link ReadableArray} into an ArrayList. @@ -118,11 +123,13 @@ public static Map toMap(@Nullable ReadableMap readableMap) { public static List toList(@Nullable ReadableArray readableArray) { if (readableArray == null) { return null; - } + } List result = new ArrayList<>(readableArray.size()); + for (int index = 0; index < readableArray.size(); index++) { ReadableType readableType = readableArray.getType(index); + switch (readableType) { case Null: break; @@ -132,11 +139,13 @@ public static List toList(@Nullable ReadableArray readableArray) { case Number: // Can be int or double. double tmp = readableArray.getDouble(index); - if (tmp == (int) tmp) { - result.add((int) tmp); + + if (tmp == (int)tmp) { + result.add((int)tmp); } else { result.add(tmp); - } + } + break; case String: result.add(readableArray.getString(index)); @@ -167,6 +176,7 @@ public static boolean isFieldValid(String field) { public static WritableMap attributionToMap(AdjustAttribution attribution) { WritableMap map = Arguments.createMap(); + map.putString("trackerToken", attribution.trackerToken); map.putString("trackerName", attribution.trackerName); map.putString("network", attribution.network); @@ -180,12 +190,13 @@ public static WritableMap attributionToMap(AdjustAttribution attribution) { public static WritableMap eventSuccessToMap(AdjustEventSuccess eventSuccess) { WritableMap map = Arguments.createMap(); + map.putString("message", eventSuccess.message); map.putString("timestamp", eventSuccess.timestamp); map.putString("adid", eventSuccess.adid); map.putString("eventToken", eventSuccess.eventToken); - if(eventSuccess.jsonResponse != null) { + if (eventSuccess.jsonResponse != null) { map.putString("jsonResponse", eventSuccess.jsonResponse.toString()); } @@ -194,13 +205,14 @@ public static WritableMap eventSuccessToMap(AdjustEventSuccess eventSuccess) { public static WritableMap eventFailureToMap(AdjustEventFailure eventFailure) { WritableMap map = Arguments.createMap(); + map.putString("message", eventFailure.message); map.putString("timestamp", eventFailure.timestamp); map.putString("adid", eventFailure.adid); map.putString("eventToken", eventFailure.eventToken); map.putBoolean("willRetry", eventFailure.willRetry); - if(eventFailure.jsonResponse != null) { + if (eventFailure.jsonResponse != null) { map.putString("jsonResponse", eventFailure.jsonResponse.toString()); } @@ -209,11 +221,12 @@ public static WritableMap eventFailureToMap(AdjustEventFailure eventFailure) { public static WritableMap sessionSuccessToMap(AdjustSessionSuccess sessionSuccess) { WritableMap map = Arguments.createMap(); + map.putString("message", sessionSuccess.message); map.putString("timestamp", sessionSuccess.timestamp); map.putString("adid", sessionSuccess.adid); - if(sessionSuccess.jsonResponse != null) { + if (sessionSuccess.jsonResponse != null) { map.putString("jsonResponse", sessionSuccess.jsonResponse.toString()); } @@ -222,12 +235,13 @@ public static WritableMap sessionSuccessToMap(AdjustSessionSuccess sessionSucces public static WritableMap sessionFailureToMap(AdjustSessionFailure sessionFailure) { WritableMap map = Arguments.createMap(); + map.putString("message", sessionFailure.message); map.putString("timestamp", sessionFailure.timestamp); map.putString("adid", sessionFailure.adid); map.putBoolean("willRetry", sessionFailure.willRetry); - if(sessionFailure.jsonResponse != null) { + if (sessionFailure.jsonResponse != null) { map.putString("jsonResponse", sessionFailure.jsonResponse.toString()); } @@ -236,6 +250,7 @@ public static WritableMap sessionFailureToMap(AdjustSessionFailure sessionFailur public static WritableMap deferredDeeplinkToMap(Uri uri) { WritableMap map = Arguments.createMap(); + map.putString("uri", uri.toString()); return map; diff --git a/ios/adjustSdk.m b/ios/adjustSdk.m index d0872d6e..90088a76 100644 --- a/ios/adjustSdk.m +++ b/ios/adjustSdk.m @@ -32,8 +32,7 @@ - (BOOL)isFieldValid:(NSObject *)field { return NO; } -RCT_EXPORT_METHOD(create:(NSDictionary *)dict) -{ +RCT_EXPORT_METHOD(create:(NSDictionary *)dict) { NSString *appToken = dict[@"appToken"]; NSString *environment = dict[@"environment"]; NSString *logLevel = dict[@"logLevel"]; @@ -83,8 +82,7 @@ - (BOOL)isFieldValid:(NSObject *)field { _isEventTrackingFailedCallbackImplemented || _isSessionTrackingSucceededCallbackImplemented || _isSessionTrackingFailedCallbackImplemented || - _isDeferredDeeplinkCallbackImplemented) - { + _isDeferredDeeplinkCallbackImplemented) { [adjustConfig setDelegate: [AdjustSdkDelegate getInstanceWithSwizzleOfAttributionCallback:_isAttributionCallbackImplemented eventSucceededCallback:_isEventTrackingSucceededCallbackImplemented @@ -121,8 +119,7 @@ - (BOOL)isFieldValid:(NSObject *)field { } } -RCT_EXPORT_METHOD(trackEvent:(NSDictionary *)dict) -{ +RCT_EXPORT_METHOD(trackEvent:(NSDictionary *)dict) { NSString *eventToken = dict[@"eventToken"]; NSString *revenue = dict[@"revenue"]; NSString *currency = dict[@"currency"]; @@ -180,13 +177,11 @@ - (BOOL)isFieldValid:(NSObject *)field { } } -RCT_EXPORT_METHOD(setOfflineMode:(NSNumber * _Nonnull)isEnabled) -{ +RCT_EXPORT_METHOD(setOfflineMode:(NSNumber * _Nonnull)isEnabled) { [Adjust setOfflineMode:[isEnabled boolValue]]; } -RCT_EXPORT_METHOD(appWillOpenUrl:(NSString *)urlStr) -{ +RCT_EXPORT_METHOD(appWillOpenUrl:(NSString *)urlStr) { if (urlStr == nil) { return; } @@ -196,26 +191,22 @@ - (BOOL)isFieldValid:(NSObject *)field { [Adjust appWillOpenUrl:url]; } -RCT_EXPORT_METHOD(setEnabled:(NSNumber * _Nonnull)isEnabled) -{ +RCT_EXPORT_METHOD(setEnabled:(NSNumber * _Nonnull)isEnabled) { [Adjust setEnabled:[isEnabled boolValue]]; } -RCT_EXPORT_METHOD(isEnabled:(RCTResponseSenderBlock)callback) -{ +RCT_EXPORT_METHOD(isEnabled:(RCTResponseSenderBlock)callback) { BOOL isEnabled = [Adjust isEnabled]; NSNumber *boolNumber = [NSNumber numberWithBool:isEnabled]; callback(@[boolNumber]); } -RCT_EXPORT_METHOD(sendFirstPackages) -{ +RCT_EXPORT_METHOD(sendFirstPackages) { [Adjust sendFirstPackages]; } -RCT_EXPORT_METHOD(addSessionCallbackParameter:(NSString *)key value:(NSString *)value) -{ +RCT_EXPORT_METHOD(addSessionCallbackParameter:(NSString *)key value:(NSString *)value) { if (!([self isFieldValid:key]) || !([self isFieldValid:value])) { return; } @@ -223,8 +214,7 @@ - (BOOL)isFieldValid:(NSObject *)field { [Adjust addSessionCallbackParameter:key value:value]; } -RCT_EXPORT_METHOD(removeSessionCallbackParameter:(NSString *)key) -{ +RCT_EXPORT_METHOD(removeSessionCallbackParameter:(NSString *)key) { if (!([self isFieldValid:key])) { return; } @@ -232,13 +222,11 @@ - (BOOL)isFieldValid:(NSObject *)field { [Adjust removeSessionCallbackParameter:key]; } -RCT_EXPORT_METHOD(resetSessionCallbackParameters) -{ +RCT_EXPORT_METHOD(resetSessionCallbackParameters) { [Adjust resetSessionCallbackParameters]; } -RCT_EXPORT_METHOD(addSessionPartnerParameter:(NSString *)key value:(NSString *)value) -{ +RCT_EXPORT_METHOD(addSessionPartnerParameter:(NSString *)key value:(NSString *)value) { if (!([self isFieldValid:key]) || !([self isFieldValid:value])) { return; } @@ -246,8 +234,7 @@ - (BOOL)isFieldValid:(NSObject *)field { [Adjust addSessionPartnerParameter:key value:value]; } -RCT_EXPORT_METHOD(removeSessionPartnerParameter:(NSString *)key) -{ +RCT_EXPORT_METHOD(removeSessionPartnerParameter:(NSString *)key) { if (!([self isFieldValid:key])) { return; } @@ -255,13 +242,11 @@ - (BOOL)isFieldValid:(NSObject *)field { [Adjust removeSessionPartnerParameter:key]; } -RCT_EXPORT_METHOD(resetSessionPartnerParameters) -{ +RCT_EXPORT_METHOD(resetSessionPartnerParameters) { [Adjust resetSessionPartnerParameters]; } -RCT_EXPORT_METHOD(setPushToken:(NSString *)token) -{ +RCT_EXPORT_METHOD(setPushToken:(NSString *)token) { if (!([self isFieldValid:token])) { return; } @@ -269,63 +254,51 @@ - (BOOL)isFieldValid:(NSObject *)field { [Adjust setDeviceToken:[token dataUsingEncoding:NSUTF8StringEncoding]]; } -RCT_EXPORT_METHOD(setAttributionCallbackListener) -{ +RCT_EXPORT_METHOD(setAttributionCallbackListener) { _isAttributionCallbackImplemented = true; } -RCT_EXPORT_METHOD(setEventTrackingSucceededCallbackListener) -{ +RCT_EXPORT_METHOD(setEventTrackingSucceededCallbackListener) { _isEventTrackingSucceededCallbackImplemented = true; } -RCT_EXPORT_METHOD(setEventTrackingFailedCallbackListener) -{ +RCT_EXPORT_METHOD(setEventTrackingFailedCallbackListener) { _isEventTrackingFailedCallbackImplemented = true; } -RCT_EXPORT_METHOD(setSessionTrackingSucceededCallbackListener) -{ +RCT_EXPORT_METHOD(setSessionTrackingSucceededCallbackListener) { _isSessionTrackingSucceededCallbackImplemented = true; } -RCT_EXPORT_METHOD(setSessionTrackingFailedCallbackListener) -{ +RCT_EXPORT_METHOD(setSessionTrackingFailedCallbackListener) { _isSessionTrackingFailedCallbackImplemented = true; } -RCT_EXPORT_METHOD(setDeferredDeeplinkCallbackListener) -{ +RCT_EXPORT_METHOD(setDeferredDeeplinkCallbackListener) { _isDeferredDeeplinkCallbackImplemented = true; } -RCT_EXPORT_METHOD(clearAttributionCallbackListener) -{ +RCT_EXPORT_METHOD(clearAttributionCallbackListener) { _isAttributionCallbackImplemented = false; } -RCT_EXPORT_METHOD(clearEventTrackingSucceededCallbackListener) -{ +RCT_EXPORT_METHOD(clearEventTrackingSucceededCallbackListener) { _isEventTrackingSucceededCallbackImplemented = false; } -RCT_EXPORT_METHOD(clearEventTrackingFailedCallbackListener) -{ +RCT_EXPORT_METHOD(clearEventTrackingFailedCallbackListener) { _isEventTrackingFailedCallbackImplemented = false; } -RCT_EXPORT_METHOD(clearSessionTrackingSucceededCallbackListener) -{ +RCT_EXPORT_METHOD(clearSessionTrackingSucceededCallbackListener) { _isSessionTrackingSucceededCallbackImplemented = false; } -RCT_EXPORT_METHOD(clearSessionTrackingFailedCallbackListener) -{ +RCT_EXPORT_METHOD(clearSessionTrackingFailedCallbackListener) { _isSessionTrackingFailedCallbackImplemented = false; } -RCT_EXPORT_METHOD(clearDeferredDeeplinkCallbackListener) -{ +RCT_EXPORT_METHOD(clearDeferredDeeplinkCallbackListener) { _isDeferredDeeplinkCallbackImplemented = false; } From e79ee8ae102c140f6d220bb4a970703432bee651 Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 15:21:45 +0100 Subject: [PATCH 07/51] Example app update --- sample/index.android.js | 130 ++++++++++---------- sample/index.ios.js | 128 +++++++++---------- sample/ios/sample.xcodeproj/project.pbxproj | 10 ++ sample/ios/sample/Info.plist | 31 ++--- 4 files changed, 150 insertions(+), 149 deletions(-) diff --git a/sample/index.android.js b/sample/index.android.js index 470e31c8..9dc1e7be 100644 --- a/sample/index.android.js +++ b/sample/index.android.js @@ -31,13 +31,13 @@ export default class sample extends Component { this.isOffline = false; - var adjustConfig = new AdjustConfig("rb4g27fje5ej", AdjustConfig.EnvironmentSandbox); + var adjustConfig = new AdjustConfig("2fm9gkqubvpc", AdjustConfig.EnvironmentSandbox); adjustConfig.setShouldLaunchDeeplink(true); - //adjustConfig.setEventBufferingEnabled(true); - // + // adjustConfig.setEventBufferingEnabled(true); + adjustConfig.setAttributionCallbackListener(function(attribution) { - console.log(">>> attribution callback received"); + console.log(">>> Attribution callback received"); console.log("Tracker token = " + attribution.trackerToken); console.log("Tracker name = " + attribution.trackerName); @@ -49,49 +49,49 @@ export default class sample extends Component { }); adjustConfig.setEventTrackingSucceededCallbackListener(function(eventSuccess) { - console.log(">>> event tracking succeeded callback received"); + console.log(">>> Event tracking succeeded callback received"); - console.log("message: " + eventSuccess.message); - console.log("timestamp: " + eventSuccess.timestamp); - console.log("adid: " + eventSuccess.adid); - console.log("eventToken: " + eventSuccess.eventToken); - console.log("json response: " + eventSuccess.jsonResponse ); + console.log("Message: " + eventSuccess.message); + console.log("Timestamp: " + eventSuccess.timestamp); + console.log("Adid: " + eventSuccess.adid); + console.log("Event token: " + eventSuccess.eventToken); + console.log("JSON response: " + eventSuccess.jsonResponse ); }); adjustConfig.setEventTrackingFailedCallbackListener(function(eventFailed) { - console.log(">>> event tracking failed callback received"); - - console.log("message: " + eventFailed.message); - console.log("timestamp: " + eventFailed.timestamp); - console.log("adid: " + eventFailed.adid); - console.log("eventToken: " + eventFailed.eventToken); - console.log("will retry: " + eventFailed.willRetry); - console.log("json response: " + eventFailed.jsonResponse); + console.log(">>> Event tracking failed callback received"); + + console.log("Message: " + eventFailed.message); + console.log("Timestamp: " + eventFailed.timestamp); + console.log("Adid: " + eventFailed.adid); + console.log("Event token: " + eventFailed.eventToken); + console.log("Will retry: " + eventFailed.willRetry); + console.log("JSON response: " + eventFailed.jsonResponse); }); adjustConfig.setSessionTrackingSucceededCallbackListener(function(sessionSuccess) { - console.log(">>> session tracking succeeded callback received"); + console.log(">>> Session tracking succeeded callback received"); - console.log("message: " + sessionSuccess.message); - console.log("timestamp: " + sessionSuccess.timestamp); - console.log("adid: " + sessionSuccess.adid); - console.log("json response: " + sessionSuccess.jsonResponse); + console.log("Message: " + sessionSuccess.message); + console.log("Timestamp: " + sessionSuccess.timestamp); + console.log("Adid: " + sessionSuccess.adid); + console.log("JSON response: " + sessionSuccess.jsonResponse); }); adjustConfig.setSessionTrackingFailedCallbackListener(function(sessionFailed) { - console.log(">>> session tracking failed callback received"); + console.log(">>> Session tracking failed callback received"); - console.log("message: " + sessionFailed.message); - console.log("timestamp: " + sessionFailed.timestamp); - console.log("adid: " + sessionFailed.adid); - console.log("will retry: " + sessionFailed.willRetry); - console.log("json response: " + sessionFailed.jsonResponse); + console.log("Message: " + sessionFailed.message); + console.log("Timestamp: " + sessionFailed.timestamp); + console.log("Adid: " + sessionFailed.adid); + console.log("Will retry: " + sessionFailed.willRetry); + console.log("JSON response: " + sessionFailed.jsonResponse); }); adjustConfig.setDeferredDeeplinkCallbackListener(function(uri) { console.log(">>> Deferred Deeplink Callback received"); - console.log("uri: " + uri.uri); + console.log("URL: " + uri.uri); }); Adjust.addSessionCallbackParameter("dummy_foo", "dummy_bar"); @@ -103,8 +103,8 @@ export default class sample extends Component { Adjust.removeSessionCallbackParameter("dummy_foo"); Adjust.removeSessionPartnerParameter("dummy_foo"); - //Adjust.resetSessionCallbackParameters(); - //Adjust.resetSessionPartnerParameters(); + // Adjust.resetSessionCallbackParameters(); + // Adjust.resetSessionPartnerParameters(); adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); @@ -114,7 +114,7 @@ export default class sample extends Component { Adjust.create(adjustConfig); Adjust.setPushToken("bunny_foo_foo"); - //Adjust.sendFirstPackages(); + // Adjust.sendFirstPackages(); } componentWillUnmount() { @@ -128,7 +128,9 @@ export default class sample extends Component { const route = e.url.replace(/.*?:\/\//g, ""); console.log("Received deeplink - url: " + e.url); console.log("Received deeplink - route: " + route); + //this._navigator.replace(this.state.routes[route]); + Adjust.appWillOpenUrl(e.url); } @@ -185,85 +187,79 @@ export default class sample extends Component { } _onPress_trackSimpleEvent() { - console.log(">> trackSimpleEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("uqg17r"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("g3mfiw"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_trackRevenueEvent() { - console.log(">> trackRevenueEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("71iltz"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("a4fd35"); adjustEvent.setRevenue(10.0, "USD"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_trackCallbackEvent() { - console.log(">> trackCallbackEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("1ziip1"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("34vgg9"); adjustEvent.addCallbackParameters("DUMMY_KEY", "DUMMY_VALUE"); adjustEvent.addCallbackParameters("DUMMY_KEY_2", "DUMMY_VALUE_2"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_trackPartnerEvent() { - console.log(">> trackPartnerEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("9s4lqn"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("w788qs"); adjustEvent.addPartnerParameters("DUMMY_KEY", "DUMMY_VALUE"); adjustEvent.addPartnerParameters("DUMMY_KEY_2", "DUMMY_VALUE_2"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_toggleOfflineMode() { - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { this.isOffline = !this.isOffline; - console.log(">> toggleOfflineMode(): SDK is " + this.isOffline); + + console.log(">>> SDK is " + this.isOffline); + Adjust.setOfflineMode(this.isOffline); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_toggleSdk() { Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - console.log(">> toggleSdk(): SDK Disabled"); + if (isEnabled) { + console.log(">>> SDK disabled"); Adjust.setEnabled(false); } else { - console.log(">> toggleSdk(): SDK Enabled"); + console.log(">>> SDK enabled"); Adjust.setEnabled(true); Adjust.setOfflineMode(false); } @@ -272,10 +268,10 @@ export default class sample extends Component { _onPress_isSdkEnabled() { Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - console.log(">> isSdkEnabled(): SDK is enabled"); + if (isEnabled) { + console.log(">>> SDK is enabled"); } else { - console.log(">> isSdkEnabled(): SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } diff --git a/sample/index.ios.js b/sample/index.ios.js index 875c55a9..d26b6c06 100644 --- a/sample/index.ios.js +++ b/sample/index.ios.js @@ -31,10 +31,13 @@ export default class sample extends Component { this.isOffline = false; - var adjustConfig = new AdjustConfig("rb4g27fje5ej", AdjustConfig.EnvironmentSandbox); + var adjustConfig = new AdjustConfig("2fm9gkqubvpc", AdjustConfig.EnvironmentSandbox); + adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); + adjustConfig.setDelayStart(3.0); + adjustConfig.setUserAgent("little_bunny_foo_foo"); adjustConfig.setAttributionCallbackListener(function(attribution) { - console.log(">>> attribution callback received"); + console.log(">>> Attribution callback received"); console.log("Tracker token = " + attribution.trackerToken); console.log("Tracker name = " + attribution.trackerName); @@ -46,53 +49,53 @@ export default class sample extends Component { }); adjustConfig.setEventTrackingSucceededCallbackListener(function(eventSuccess) { - console.log(">>> event tracking succeeded callback received"); + console.log(">>> Event tracking succeeded callback received"); - console.log("message: " + eventSuccess.message); - console.log("timeStamp: " + eventSuccess.timeStamp); - console.log("adid: " + eventSuccess.adid); - console.log("eventToken: " + eventSuccess.eventToken); - console.log("json response: " + eventSuccess.jsonResponse ); + console.log("Message: " + eventSuccess.message); + console.log("Timestamp: " + eventSuccess.timeStamp); + console.log("Adid: " + eventSuccess.adid); + console.log("Event token: " + eventSuccess.eventToken); + console.log("JSON response: " + eventSuccess.jsonResponse ); }); adjustConfig.setEventTrackingFailedCallbackListener(function(eventFailed) { - console.log(">>> event tracking failed callback received"); - - console.log("message: " + eventFailed.message); - console.log("timeStamp: " + eventFailed.timeStamp); - console.log("adid: " + eventFailed.adid); - console.log("eventToken: " + eventFailed.eventToken); - console.log("will retry: " + eventFailed.willRetry); - console.log("json response: " + eventFailed.jsonResponse); + console.log(">>> Event tracking failed callback received"); + + console.log("Message: " + eventFailed.message); + console.log("Timestamp: " + eventFailed.timeStamp); + console.log("Adid: " + eventFailed.adid); + console.log("Event token: " + eventFailed.eventToken); + console.log("Will retry: " + eventFailed.willRetry); + console.log("JSON response: " + eventFailed.jsonResponse); }); adjustConfig.setSessionTrackingSucceededCallbackListener(function(sessionSuccess) { - console.log(">>> session tracking succeeded callback received"); + console.log(">>> Session tracking succeeded callback received"); - console.log("message: " + sessionSuccess.message); - console.log("timeStamp: " + sessionSuccess.timeStamp); - console.log("adid: " + sessionSuccess.adid); - console.log("json response: " + sessionSuccess.jsonResponse); + console.log("Message: " + sessionSuccess.message); + console.log("Timestamp: " + sessionSuccess.timeStamp); + console.log("Adid: " + sessionSuccess.adid); + console.log("JSON response: " + sessionSuccess.jsonResponse); }); adjustConfig.setSessionTrackingFailedCallbackListener(function(sessionFailed) { - console.log(">>> session tracking failed callback received"); + console.log(">>> Session tracking failed callback received"); - console.log("message: " + sessionFailed.message); - console.log("timeStamp: " + sessionFailed.timeStamp); - console.log("adid: " + sessionFailed.adid); - console.log("will retry: " + sessionFailed.willRetry); - console.log("json response: " + sessionFailed.jsonResponse); + console.log("Message: " + sessionFailed.message); + console.log("Timestamp: " + sessionFailed.timeStamp); + console.log("Adid: " + sessionFailed.adid); + console.log("Will retry: " + sessionFailed.willRetry); + console.log("JSON response: " + sessionFailed.jsonResponse); }); adjustConfig.setDeferredDeeplinkCallbackListener(function(uri) { console.log(">>> Deferred Deeplink Callback received"); - console.log("uri: " + uri.uri); + console.log("URL: " + uri.uri); }); adjustConfig.setShouldLaunchDeeplink(true); - //adjustConfig.setEventBufferingEnabled(true); + // adjustConfig.setEventBufferingEnabled(true); Adjust.addSessionCallbackParameter("dummy_foo", "dummy_bar"); Adjust.addSessionCallbackParameter("dummy_foo_foo", "dummy_bar"); @@ -107,11 +110,6 @@ export default class sample extends Component { Adjust.resetSessionPartnerParameters(); Adjust.setPushToken("bunny_foo_foo"); - adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); - - adjustConfig.setDelayStart(3.0); - adjustConfig.setUserAgent("little_bunny_foo_foo"); - Adjust.create(adjustConfig); Adjust.sendFirstPackages(); @@ -185,86 +183,82 @@ export default class sample extends Component { } _onPress_trackSimpleEvent() { - console.log(">> trackSimpleEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("uqg17r"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("g3mfiw"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_trackRevenueEvent() { - console.log(">> trackRevenueEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("71iltz"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("a4fd35"); adjustEvent.setRevenue(10.0, "USD"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_trackCallbackEvent() { - console.log(">> trackCallbackEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("1ziip1"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("34vgg9"); adjustEvent.addCallbackParameters("DUMMY_KEY", "DUMMY_VALUE"); adjustEvent.addCallbackParameters("DUMMY_KEY_2", "DUMMY_VALUE_2"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_trackPartnerEvent() { - console.log(">> trackPartnerEvent()"); - - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - var adjustEvent = new AdjustEvent("9s4lqn"); + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("w788qs"); adjustEvent.addPartnerParameters("DUMMY_KEY", "DUMMY_VALUE"); adjustEvent.addPartnerParameters("DUMMY_KEY_2", "DUMMY_VALUE_2"); Adjust.trackEvent(adjustEvent); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_toggleOfflineMode() { - Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { this.isOffline = !this.isOffline; - console.log(">> toggleOfflineMode(): SDK is " + this.isOffline); + + console.log(">>> SDK is " + this.isOffline); + Adjust.setOfflineMode(this.isOffline); } else { - console.log(">> SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } _onPress_toggleSdk() { Adjust.isEnabled( (isEnabled) => { - if(isEnabled) { - console.log(">> toggleSdk(): SDK Disabled"); + if (isEnabled) { + console.log(">>> SDK disabled"); + Adjust.setEnabled(false); } else { - console.log(">> toggleSdk(): SDK Enabled"); + console.log(">>> SDK enabled"); + Adjust.setEnabled(true); Adjust.setOfflineMode(false); } @@ -274,9 +268,9 @@ export default class sample extends Component { _onPress_isSdkEnabled() { Adjust.isEnabled( (isEnabled) => { if(isEnabled) { - console.log(">> isSdkEnabled(): SDK is enabled"); + console.log(">>> SDK is enabled"); } else { - console.log(">> isSdkEnabled(): SDK is disabled"); + console.log(">>> SDK is disabled"); } }); } diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index 19027cb4..d3edc270 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -433,8 +433,12 @@ TargetAttributes = { 00E356ED1AD99517003FC87E = { CreatedOnToolsVersion = 6.2; + DevelopmentTeam = QGUGW9AUMK; TestTargetID = 13B07F861A680F5B00A75B9A; }; + 13B07F861A680F5B00A75B9A = { + DevelopmentTeam = QGUGW9AUMK; + }; }; }; buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "sample" */; @@ -712,6 +716,7 @@ isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = QGUGW9AUMK; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -733,6 +738,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = QGUGW9AUMK; INFOPLIST_FILE = sampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -751,6 +757,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; + DEVELOPMENT_TEAM = QGUGW9AUMK; HEADER_SEARCH_PATHS = ( "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, @@ -764,6 +771,7 @@ "-ObjC", "-lc++", ); + PRODUCT_BUNDLE_IDENTIFIER = com.adjust.examples; PRODUCT_NAME = sample; VERSIONING_SYSTEM = "apple-generic"; }; @@ -774,6 +782,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QGUGW9AUMK; HEADER_SEARCH_PATHS = ( "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, @@ -787,6 +796,7 @@ "-ObjC", "-lc++", ); + PRODUCT_BUNDLE_IDENTIFIER = com.adjust.examples; PRODUCT_NAME = sample; VERSIONING_SYSTEM = "apple-generic"; }; diff --git a/sample/ios/sample/Info.plist b/sample/ios/sample/Info.plist index 2fb6a11c..d46cf837 100644 --- a/sample/ios/sample/Info.plist +++ b/sample/ios/sample/Info.plist @@ -4,10 +4,12 @@ CFBundleDevelopmentRegion en + CFBundleDisplayName + AdjustExample CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -22,6 +24,19 @@ 1 LSRequiresIPhoneOS + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + UILaunchStoryboardName LaunchScreen UIRequiredDeviceCapabilities @@ -36,19 +51,5 @@ UIViewControllerBasedStatusBarAppearance - NSLocationWhenInUseUsageDescription - - NSAppTransportSecurity - - - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - - - From e56fe33424cda2ab5347195cec04fa1246ad1f36 Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 15:56:56 +0100 Subject: [PATCH 08/51] Example app deep linking update --- sample/ios/sample.xcodeproj/project.pbxproj | 9 +++++++++ sample/ios/sample/Info.plist | 11 +++++++++++ sample/ios/sample/sample.entitlements | 10 ++++++++++ 3 files changed, 30 insertions(+) create mode 100644 sample/ios/sample/sample.entitlements diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index d3edc270..f0ef4022 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -186,6 +186,7 @@ 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 8DA5DA7F2FB04554AC598BF8 /* libadjustSdk.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libadjustSdk.a; sourceTree = ""; }; + 9DB5EAF81DE7333F00A5177D /* sample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = sample.entitlements; path = sample/sample.entitlements; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -298,6 +299,7 @@ 13B07FAE1A68108700A75B9A /* sample */ = { isa = PBXGroup; children = ( + 9DB5EAF81DE7333F00A5177D /* sample.entitlements */, 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.m */, @@ -438,6 +440,11 @@ }; 13B07F861A680F5B00A75B9A = { DevelopmentTeam = QGUGW9AUMK; + SystemCapabilities = { + com.apple.SafariKeychain = { + enabled = 1; + }; + }; }; }; }; @@ -755,6 +762,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = sample/sample.entitlements; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; DEVELOPMENT_TEAM = QGUGW9AUMK; @@ -781,6 +789,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = sample/sample.entitlements; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = QGUGW9AUMK; HEADER_SEARCH_PATHS = ( diff --git a/sample/ios/sample/Info.plist b/sample/ios/sample/Info.plist index d46cf837..e13f16ee 100644 --- a/sample/ios/sample/Info.plist +++ b/sample/ios/sample/Info.plist @@ -51,5 +51,16 @@ UIViewControllerBasedStatusBarAppearance + CFBundleURLTypes + + + CFBundleURLName + com.adjust.examples + CFBundleURLSchemes + + adjustExample + + + diff --git a/sample/ios/sample/sample.entitlements b/sample/ios/sample/sample.entitlements new file mode 100644 index 00000000..c7476a33 --- /dev/null +++ b/sample/ios/sample/sample.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.associated-domains + + applinks:f6wc.adj.st + + + From dcebb5827fe7d0b35ff03d9de93e99a542190fd4 Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 20:18:38 +0100 Subject: [PATCH 09/51] Cleanup --- ios/adjustSdk.m | 1 - sample/index.ios.js | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ios/adjustSdk.m b/ios/adjustSdk.m index 90088a76..2cefd8a1 100644 --- a/ios/adjustSdk.m +++ b/ios/adjustSdk.m @@ -140,7 +140,6 @@ - (BOOL)isFieldValid:(NSObject *)field { if ([self isFieldValid:callbackParameters]) { for (NSString *key in callbackParameters) { - NSLog(@">>> Hello <<<"); NSString *value = [callbackParameters objectForKey:key]; [adjustEvent addCallbackParameter:key value:value]; diff --git a/sample/index.ios.js b/sample/index.ios.js index d26b6c06..b96171bc 100644 --- a/sample/index.ios.js +++ b/sample/index.ios.js @@ -33,7 +33,7 @@ export default class sample extends Component { var adjustConfig = new AdjustConfig("2fm9gkqubvpc", AdjustConfig.EnvironmentSandbox); adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); - adjustConfig.setDelayStart(3.0); + adjustConfig.setDelayStart(6.0); adjustConfig.setUserAgent("little_bunny_foo_foo"); adjustConfig.setAttributionCallbackListener(function(attribution) { @@ -108,10 +108,11 @@ export default class sample extends Component { Adjust.resetSessionCallbackParameters(); Adjust.resetSessionPartnerParameters(); - Adjust.setPushToken("bunny_foo_foo"); Adjust.create(adjustConfig); + Adjust.setPushToken("bunny_foo_foo"); + Adjust.sendFirstPackages(); } @@ -124,15 +125,18 @@ export default class sample extends Component { handleDeepLink(e) { const route = e.url.replace(/.*?:\/\//g, ""); + console.log("Received deeplink - url: " + e.url); console.log("Received deeplink - route: " + route); - //this._navigator.replace(this.state.routes[route]); + + // this._navigator.replace(this.state.routes[route]); + Adjust.appWillOpenUrl(e.url); } render() { return ( - + fView style={styles.container}> Welcome to Adjust SDK @@ -241,8 +245,6 @@ export default class sample extends Component { if (isEnabled) { this.isOffline = !this.isOffline; - console.log(">>> SDK is " + this.isOffline); - Adjust.setOfflineMode(this.isOffline); } else { console.log(">>> SDK is disabled"); From 4624f5b7cada2867aa96efd0f2a9e2291de792ab Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 20:45:45 +0100 Subject: [PATCH 10/51] adjustSdk to AdjustSdk rename --- ios/{adjustSdk.h => AdjustSdk.h} | 4 +-- ios/{adjustSdk.m => AdjustSdk.m} | 6 ++-- .../project.pbxproj | 36 +++++++++---------- .../contents.xcworkspacedata | 0 sample/ios/sample.xcodeproj/project.pbxproj | 22 ++++++------ 5 files changed, 34 insertions(+), 34 deletions(-) rename ios/{adjustSdk.h => AdjustSdk.h} (73%) rename ios/{adjustSdk.m => AdjustSdk.m} (99%) rename ios/{adjustSdk.xcodeproj => AdjustSdk.xcodeproj}/project.pbxproj (96%) rename ios/{adjustSdk.xcodeproj => AdjustSdk.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) diff --git a/ios/adjustSdk.h b/ios/AdjustSdk.h similarity index 73% rename from ios/adjustSdk.h rename to ios/AdjustSdk.h index bf057ef3..4b1e39bf 100644 --- a/ios/adjustSdk.h +++ b/ios/AdjustSdk.h @@ -1,5 +1,5 @@ // -// adjustSdk.h +// AdjustSdk.h // Adjust // // Created by Abdullah Obaied on 2016-10-25. @@ -8,6 +8,6 @@ #import "RCTBridgeModule.h" #import "Adjust.h" -@interface adjustSdk : NSObject +@interface AdjustSdk : NSObject @end diff --git a/ios/adjustSdk.m b/ios/AdjustSdk.m similarity index 99% rename from ios/adjustSdk.m rename to ios/AdjustSdk.m index 2cefd8a1..49748681 100644 --- a/ios/adjustSdk.m +++ b/ios/AdjustSdk.m @@ -1,14 +1,14 @@ // -// adjustSdk.m +// AdjustSdk.m // Adjust // // Created by Abdullah Obaied on 2016-10-25. // Copyright (c) 2012-2014 adjust GmbH. All rights reserved. // -#import "adjustSdk.h" +#import "AdjustSdk.h" #import "AdjustSdkDelegate.h" -@implementation adjustSdk +@implementation AdjustSdk @synthesize bridge = _bridge; diff --git a/ios/adjustSdk.xcodeproj/project.pbxproj b/ios/AdjustSdk.xcodeproj/project.pbxproj similarity index 96% rename from ios/adjustSdk.xcodeproj/project.pbxproj rename to ios/AdjustSdk.xcodeproj/project.pbxproj index 6d399ebb..28962284 100644 --- a/ios/adjustSdk.xcodeproj/project.pbxproj +++ b/ios/AdjustSdk.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 13BE3DEE1AC21097009241FE /* adjustSdk.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BE3DED1AC21097009241FE /* adjustSdk.m */; }; + 13BE3DEE1AC21097009241FE /* AdjustSdk.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BE3DED1AC21097009241FE /* AdjustSdk.m */; }; 2068FA821DC0F7B400816E17 /* ADJActivityHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 2068FA491DC0F7B300816E17 /* ADJActivityHandler.m */; }; 2068FA831DC0F7B400816E17 /* ADJActivityKind.m in Sources */ = {isa = PBXBuildFile; fileRef = 2068FA4B1DC0F7B300816E17 /* ADJActivityKind.m */; }; 2068FA841DC0F7B400816E17 /* ADJActivityPackage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2068FA4D1DC0F7B300816E17 /* ADJActivityPackage.m */; }; @@ -55,9 +55,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 134814201AA4EA6300B7C361 /* libadjustSdk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libadjustSdk.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 13BE3DEC1AC21097009241FE /* adjustSdk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adjustSdk.h; sourceTree = ""; }; - 13BE3DED1AC21097009241FE /* adjustSdk.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = adjustSdk.m; sourceTree = ""; }; + 134814201AA4EA6300B7C361 /* libAdjustSdk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAdjustSdk.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 13BE3DEC1AC21097009241FE /* AdjustSdk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdjustSdk.h; sourceTree = ""; }; + 13BE3DED1AC21097009241FE /* AdjustSdk.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdjustSdk.m; sourceTree = ""; }; 2068FA481DC0F7B300816E17 /* ADJActivityHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ADJActivityHandler.h; path = Adjust/ADJActivityHandler.h; sourceTree = ""; }; 2068FA491DC0F7B300816E17 /* ADJActivityHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ADJActivityHandler.m; path = Adjust/ADJActivityHandler.m; sourceTree = ""; }; 2068FA4A1DC0F7B300816E17 /* ADJActivityKind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ADJActivityKind.h; path = Adjust/ADJActivityKind.h; sourceTree = ""; }; @@ -139,7 +139,7 @@ 134814211AA4EA7D00B7C361 /* Products */ = { isa = PBXGroup; children = ( - 134814201AA4EA6300B7C361 /* libadjustSdk.a */, + 134814201AA4EA6300B7C361 /* libAdjustSdk.a */, ); name = Products; sourceTree = ""; @@ -235,8 +235,8 @@ 20A410BA1DDF47E6003ED776 /* AdjustSdkDelegate.h */, 20A410BB1DDF47E6003ED776 /* AdjustSdkDelegate.m */, 2068FA471DC0F7A400816E17 /* Adjust */, - 13BE3DEC1AC21097009241FE /* adjustSdk.h */, - 13BE3DED1AC21097009241FE /* adjustSdk.m */, + 13BE3DEC1AC21097009241FE /* AdjustSdk.h */, + 13BE3DED1AC21097009241FE /* AdjustSdk.m */, 134814211AA4EA7D00B7C361 /* Products */, 200D309B1DC0DB5F0029DABA /* Frameworks */, ); @@ -245,9 +245,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 58B511DA1A9E6C8500147676 /* adjustSdk */ = { + 58B511DA1A9E6C8500147676 /* AdjustSdk */ = { isa = PBXNativeTarget; - buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "adjustSdk" */; + buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "AdjustSdk" */; buildPhases = ( 58B511D71A9E6C8500147676 /* Sources */, 58B511D81A9E6C8500147676 /* Frameworks */, @@ -257,9 +257,9 @@ ); dependencies = ( ); - name = adjustSdk; + name = AdjustSdk; productName = RCTDataManager; - productReference = 134814201AA4EA6300B7C361 /* libadjustSdk.a */; + productReference = 134814201AA4EA6300B7C361 /* libAdjustSdk.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -276,7 +276,7 @@ }; }; }; - buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "adjustSdk" */; + buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "AdjustSdk" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -288,7 +288,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 58B511DA1A9E6C8500147676 /* adjustSdk */, + 58B511DA1A9E6C8500147676 /* AdjustSdk */, ); }; /* End PBXProject section */ @@ -306,7 +306,7 @@ 2068FA951DC0F7B400816E17 /* ADJSdkClickHandler.m in Sources */, 20A410BC1DDF47E6003ED776 /* AdjustSdkDelegate.m in Sources */, 2068FA931DC0F7B400816E17 /* ADJRequestHandler.m in Sources */, - 13BE3DEE1AC21097009241FE /* adjustSdk.m in Sources */, + 13BE3DEE1AC21097009241FE /* AdjustSdk.m in Sources */, 2068FA911DC0F7B400816E17 /* ADJPackageBuilder.m in Sources */, 2068FA831DC0F7B400816E17 /* ADJActivityKind.m in Sources */, 2068FA901DC0F7B400816E17 /* ADJLogger.m in Sources */, @@ -425,7 +425,7 @@ ); LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = adjustSdk; + PRODUCT_NAME = AdjustSdk; SKIP_INSTALL = YES; }; name = Debug; @@ -444,7 +444,7 @@ ); LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = adjustSdk; + PRODUCT_NAME = AdjustSdk; SKIP_INSTALL = YES; }; name = Release; @@ -452,7 +452,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "adjustSdk" */ = { + 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "AdjustSdk" */ = { isa = XCConfigurationList; buildConfigurations = ( 58B511ED1A9E6C8500147676 /* Debug */, @@ -461,7 +461,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "adjustSdk" */ = { + 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "AdjustSdk" */ = { isa = XCConfigurationList; buildConfigurations = ( 58B511F01A9E6C8500147676 /* Debug */, diff --git a/ios/adjustSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/AdjustSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from ios/adjustSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to ios/AdjustSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/sample/ios/sample.xcodeproj/project.pbxproj index f0ef4022..e9711977 100644 --- a/sample/ios/sample.xcodeproj/project.pbxproj +++ b/sample/ios/sample.xcodeproj/project.pbxproj @@ -23,7 +23,7 @@ 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; - D30926E85410447D8569BC75 /* libadjustSdk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DA5DA7F2FB04554AC598BF8 /* libadjustSdk.a */; }; + D30926E85410447D8569BC75 /* libAdjustSdk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DA5DA7F2FB04554AC598BF8 /* libAdjustSdk.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -92,10 +92,10 @@ }; 20A410951DDF4452003ED776 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 4934B58D37FA4780895400B4 /* adjustSdk.xcodeproj */; + containerPortal = 4934B58D37FA4780895400B4 /* AdjustSdk.xcodeproj */; proxyType = 2; remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = adjustSdk; + remoteInfo = AdjustSdk; }; 20A4109B1DDF4452003ED776 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -182,10 +182,10 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = sample/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = sample/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; - 4934B58D37FA4780895400B4 /* adjustSdk.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = adjustSdk.xcodeproj; path = "../node_modules/react-native-adjust/ios/adjustSdk.xcodeproj"; sourceTree = ""; }; + 4934B58D37FA4780895400B4 /* AdjustSdk.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = AdjustSdk.xcodeproj; path = "../node_modules/react-native-adjust/ios/AdjustSdk.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - 8DA5DA7F2FB04554AC598BF8 /* libadjustSdk.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libadjustSdk.a; sourceTree = ""; }; + 8DA5DA7F2FB04554AC598BF8 /* libAdjustSdk.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libAdjustSdk.a; sourceTree = ""; }; 9DB5EAF81DE7333F00A5177D /* sample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = sample.entitlements; path = sample/sample.entitlements; sourceTree = ""; }; /* End PBXFileReference section */ @@ -212,7 +212,7 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - D30926E85410447D8569BC75 /* libadjustSdk.a in Frameworks */, + D30926E85410447D8569BC75 /* libAdjustSdk.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -323,7 +323,7 @@ 20A410921DDF4452003ED776 /* Products */ = { isa = PBXGroup; children = ( - 20A410961DDF4452003ED776 /* libadjustSdk.a */, + 20A410961DDF4452003ED776 /* libAdjustSdk.a */, ); name = Products; sourceTree = ""; @@ -350,7 +350,7 @@ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - 4934B58D37FA4780895400B4 /* adjustSdk.xcodeproj */, + 4934B58D37FA4780895400B4 /* AdjustSdk.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -462,7 +462,7 @@ projectReferences = ( { ProductGroup = 20A410921DDF4452003ED776 /* Products */; - ProjectRef = 4934B58D37FA4780895400B4 /* adjustSdk.xcodeproj */; + ProjectRef = 4934B58D37FA4780895400B4 /* AdjustSdk.xcodeproj */; }, { ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; @@ -570,10 +570,10 @@ remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 20A410961DDF4452003ED776 /* libadjustSdk.a */ = { + 20A410961DDF4452003ED776 /* libAdjustSdk.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libadjustSdk.a; + path = libAdjustSdk.a; remoteRef = 20A410951DDF4452003ED776 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; From b43903b7653e14ae157e24efeb2ea3d084bb589b Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 20:47:59 +0100 Subject: [PATCH 11/51] sample to example folder rename --- {sample => example}/.babelrc | 0 {sample => example}/.buckconfig | 0 {sample => example}/.flowconfig | 0 {sample => example}/.gitignore | 0 {sample => example}/.watchmanconfig | 0 {sample => example}/__tests__/index.android.js | 0 {sample => example}/__tests__/index.ios.js | 0 {sample => example}/android/app/BUCK | 0 {sample => example}/android/app/build.gradle | 0 {sample => example}/android/app/proguard-rules.pro | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../main/java/com/adjust/example/MainActivity.java | 0 .../java/com/adjust/example/MainApplication.java | 0 .../app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../android/app/src/main/res/values/strings.xml | 0 .../android/app/src/main/res/values/styles.xml | 0 {sample => example}/android/build.gradle | 0 {sample => example}/android/gradle.properties | 0 .../android/gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 {sample => example}/android/gradlew | 0 {sample => example}/android/gradlew.bat | 0 {sample => example}/android/keystores/BUCK | 0 .../android/keystores/debug.keystore.properties | 0 {sample => example}/android/settings.gradle | 0 {sample => example}/index.android.js | 0 {sample => example}/index.ios.js | 0 .../ios/sample.xcodeproj/project.pbxproj | 0 .../xcshareddata/xcschemes/sample.xcscheme | 0 {sample => example}/ios/sample/AppDelegate.h | 0 {sample => example}/ios/sample/AppDelegate.m | 0 .../ios/sample/Base.lproj/LaunchScreen.xib | 0 .../AppIcon.appiconset/Contents.json | 0 {sample => example}/ios/sample/Info.plist | 0 {sample => example}/ios/sample/main.m | 0 {sample => example}/ios/sample/sample.entitlements | 0 {sample => example}/ios/sampleTests/Info.plist | 0 {sample => example}/ios/sampleTests/sampleTests.m | 0 {sample => example}/package.json | 0 42 files changed, 0 insertions(+), 0 deletions(-) rename {sample => example}/.babelrc (100%) rename {sample => example}/.buckconfig (100%) rename {sample => example}/.flowconfig (100%) rename {sample => example}/.gitignore (100%) rename {sample => example}/.watchmanconfig (100%) rename {sample => example}/__tests__/index.android.js (100%) rename {sample => example}/__tests__/index.ios.js (100%) rename {sample => example}/android/app/BUCK (100%) rename {sample => example}/android/app/build.gradle (100%) rename {sample => example}/android/app/proguard-rules.pro (100%) rename {sample => example}/android/app/src/main/AndroidManifest.xml (100%) rename {sample => example}/android/app/src/main/java/com/adjust/example/MainActivity.java (100%) rename {sample => example}/android/app/src/main/java/com/adjust/example/MainApplication.java (100%) rename {sample => example}/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename {sample => example}/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename {sample => example}/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename {sample => example}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename {sample => example}/android/app/src/main/res/values/strings.xml (100%) rename {sample => example}/android/app/src/main/res/values/styles.xml (100%) rename {sample => example}/android/build.gradle (100%) rename {sample => example}/android/gradle.properties (100%) rename {sample => example}/android/gradle/wrapper/gradle-wrapper.jar (100%) rename {sample => example}/android/gradle/wrapper/gradle-wrapper.properties (100%) rename {sample => example}/android/gradlew (100%) rename {sample => example}/android/gradlew.bat (100%) rename {sample => example}/android/keystores/BUCK (100%) rename {sample => example}/android/keystores/debug.keystore.properties (100%) rename {sample => example}/android/settings.gradle (100%) rename {sample => example}/index.android.js (100%) rename {sample => example}/index.ios.js (100%) rename {sample => example}/ios/sample.xcodeproj/project.pbxproj (100%) rename {sample => example}/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme (100%) rename {sample => example}/ios/sample/AppDelegate.h (100%) rename {sample => example}/ios/sample/AppDelegate.m (100%) rename {sample => example}/ios/sample/Base.lproj/LaunchScreen.xib (100%) rename {sample => example}/ios/sample/Images.xcassets/AppIcon.appiconset/Contents.json (100%) rename {sample => example}/ios/sample/Info.plist (100%) rename {sample => example}/ios/sample/main.m (100%) rename {sample => example}/ios/sample/sample.entitlements (100%) rename {sample => example}/ios/sampleTests/Info.plist (100%) rename {sample => example}/ios/sampleTests/sampleTests.m (100%) rename {sample => example}/package.json (100%) diff --git a/sample/.babelrc b/example/.babelrc similarity index 100% rename from sample/.babelrc rename to example/.babelrc diff --git a/sample/.buckconfig b/example/.buckconfig similarity index 100% rename from sample/.buckconfig rename to example/.buckconfig diff --git a/sample/.flowconfig b/example/.flowconfig similarity index 100% rename from sample/.flowconfig rename to example/.flowconfig diff --git a/sample/.gitignore b/example/.gitignore similarity index 100% rename from sample/.gitignore rename to example/.gitignore diff --git a/sample/.watchmanconfig b/example/.watchmanconfig similarity index 100% rename from sample/.watchmanconfig rename to example/.watchmanconfig diff --git a/sample/__tests__/index.android.js b/example/__tests__/index.android.js similarity index 100% rename from sample/__tests__/index.android.js rename to example/__tests__/index.android.js diff --git a/sample/__tests__/index.ios.js b/example/__tests__/index.ios.js similarity index 100% rename from sample/__tests__/index.ios.js rename to example/__tests__/index.ios.js diff --git a/sample/android/app/BUCK b/example/android/app/BUCK similarity index 100% rename from sample/android/app/BUCK rename to example/android/app/BUCK diff --git a/sample/android/app/build.gradle b/example/android/app/build.gradle similarity index 100% rename from sample/android/app/build.gradle rename to example/android/app/build.gradle diff --git a/sample/android/app/proguard-rules.pro b/example/android/app/proguard-rules.pro similarity index 100% rename from sample/android/app/proguard-rules.pro rename to example/android/app/proguard-rules.pro diff --git a/sample/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml similarity index 100% rename from sample/android/app/src/main/AndroidManifest.xml rename to example/android/app/src/main/AndroidManifest.xml diff --git a/sample/android/app/src/main/java/com/adjust/example/MainActivity.java b/example/android/app/src/main/java/com/adjust/example/MainActivity.java similarity index 100% rename from sample/android/app/src/main/java/com/adjust/example/MainActivity.java rename to example/android/app/src/main/java/com/adjust/example/MainActivity.java diff --git a/sample/android/app/src/main/java/com/adjust/example/MainApplication.java b/example/android/app/src/main/java/com/adjust/example/MainApplication.java similarity index 100% rename from sample/android/app/src/main/java/com/adjust/example/MainApplication.java rename to example/android/app/src/main/java/com/adjust/example/MainApplication.java diff --git a/sample/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from sample/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/sample/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from sample/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/sample/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from sample/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/sample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from sample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/sample/android/app/src/main/res/values/strings.xml b/example/android/app/src/main/res/values/strings.xml similarity index 100% rename from sample/android/app/src/main/res/values/strings.xml rename to example/android/app/src/main/res/values/strings.xml diff --git a/sample/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml similarity index 100% rename from sample/android/app/src/main/res/values/styles.xml rename to example/android/app/src/main/res/values/styles.xml diff --git a/sample/android/build.gradle b/example/android/build.gradle similarity index 100% rename from sample/android/build.gradle rename to example/android/build.gradle diff --git a/sample/android/gradle.properties b/example/android/gradle.properties similarity index 100% rename from sample/android/gradle.properties rename to example/android/gradle.properties diff --git a/sample/android/gradle/wrapper/gradle-wrapper.jar b/example/android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from sample/android/gradle/wrapper/gradle-wrapper.jar rename to example/android/gradle/wrapper/gradle-wrapper.jar diff --git a/sample/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from sample/android/gradle/wrapper/gradle-wrapper.properties rename to example/android/gradle/wrapper/gradle-wrapper.properties diff --git a/sample/android/gradlew b/example/android/gradlew similarity index 100% rename from sample/android/gradlew rename to example/android/gradlew diff --git a/sample/android/gradlew.bat b/example/android/gradlew.bat similarity index 100% rename from sample/android/gradlew.bat rename to example/android/gradlew.bat diff --git a/sample/android/keystores/BUCK b/example/android/keystores/BUCK similarity index 100% rename from sample/android/keystores/BUCK rename to example/android/keystores/BUCK diff --git a/sample/android/keystores/debug.keystore.properties b/example/android/keystores/debug.keystore.properties similarity index 100% rename from sample/android/keystores/debug.keystore.properties rename to example/android/keystores/debug.keystore.properties diff --git a/sample/android/settings.gradle b/example/android/settings.gradle similarity index 100% rename from sample/android/settings.gradle rename to example/android/settings.gradle diff --git a/sample/index.android.js b/example/index.android.js similarity index 100% rename from sample/index.android.js rename to example/index.android.js diff --git a/sample/index.ios.js b/example/index.ios.js similarity index 100% rename from sample/index.ios.js rename to example/index.ios.js diff --git a/sample/ios/sample.xcodeproj/project.pbxproj b/example/ios/sample.xcodeproj/project.pbxproj similarity index 100% rename from sample/ios/sample.xcodeproj/project.pbxproj rename to example/ios/sample.xcodeproj/project.pbxproj diff --git a/sample/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme b/example/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme similarity index 100% rename from sample/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme rename to example/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme diff --git a/sample/ios/sample/AppDelegate.h b/example/ios/sample/AppDelegate.h similarity index 100% rename from sample/ios/sample/AppDelegate.h rename to example/ios/sample/AppDelegate.h diff --git a/sample/ios/sample/AppDelegate.m b/example/ios/sample/AppDelegate.m similarity index 100% rename from sample/ios/sample/AppDelegate.m rename to example/ios/sample/AppDelegate.m diff --git a/sample/ios/sample/Base.lproj/LaunchScreen.xib b/example/ios/sample/Base.lproj/LaunchScreen.xib similarity index 100% rename from sample/ios/sample/Base.lproj/LaunchScreen.xib rename to example/ios/sample/Base.lproj/LaunchScreen.xib diff --git a/sample/ios/sample/Images.xcassets/AppIcon.appiconset/Contents.json b/example/ios/sample/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from sample/ios/sample/Images.xcassets/AppIcon.appiconset/Contents.json rename to example/ios/sample/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/sample/ios/sample/Info.plist b/example/ios/sample/Info.plist similarity index 100% rename from sample/ios/sample/Info.plist rename to example/ios/sample/Info.plist diff --git a/sample/ios/sample/main.m b/example/ios/sample/main.m similarity index 100% rename from sample/ios/sample/main.m rename to example/ios/sample/main.m diff --git a/sample/ios/sample/sample.entitlements b/example/ios/sample/sample.entitlements similarity index 100% rename from sample/ios/sample/sample.entitlements rename to example/ios/sample/sample.entitlements diff --git a/sample/ios/sampleTests/Info.plist b/example/ios/sampleTests/Info.plist similarity index 100% rename from sample/ios/sampleTests/Info.plist rename to example/ios/sampleTests/Info.plist diff --git a/sample/ios/sampleTests/sampleTests.m b/example/ios/sampleTests/sampleTests.m similarity index 100% rename from sample/ios/sampleTests/sampleTests.m rename to example/ios/sampleTests/sampleTests.m diff --git a/sample/package.json b/example/package.json similarity index 100% rename from sample/package.json rename to example/package.json From 4bdf0fda479f9a4fc6ccda73acd70441727d1598 Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 24 Nov 2016 21:01:35 +0100 Subject: [PATCH 12/51] sample to example rename --- .../java/com/adjust/example/MainActivity.java | 2 +- .../app/src/main/res/values/strings.xml | 2 +- example/android/settings.gradle | 2 +- example/index.android.js | 6 +- example/index.ios.js | 7 +- .../project.pbxproj | 98 +++++++++---------- .../xcshareddata/xcschemes/Example.xcscheme} | 36 +++---- example/ios/{sample => Example}/AppDelegate.h | 0 example/ios/{sample => Example}/AppDelegate.m | 2 +- .../Base.lproj/LaunchScreen.xib | 2 +- .../Example.entitlements} | 0 .../AppIcon.appiconset/Contents.json | 0 example/ios/{sample => Example}/Info.plist | 0 example/ios/{sample => Example}/main.m | 0 .../ExampleTests.m} | 4 +- .../{sampleTests => ExampleTests}/Info.plist | 0 example/package.json | 2 +- scripts/rn_testing_android.sh | 14 +-- scripts/rn_testing_ios.sh | 14 +-- 19 files changed, 96 insertions(+), 95 deletions(-) rename example/ios/{sample.xcodeproj => Example.xcodeproj}/project.pbxproj (92%) rename example/ios/{sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme => Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme} (78%) rename example/ios/{sample => Example}/AppDelegate.h (100%) rename example/ios/{sample => Example}/AppDelegate.m (99%) rename example/ios/{sample => Example}/Base.lproj/LaunchScreen.xib (93%) rename example/ios/{sample/sample.entitlements => Example/Example.entitlements} (100%) rename example/ios/{sample => Example}/Images.xcassets/AppIcon.appiconset/Contents.json (100%) rename example/ios/{sample => Example}/Info.plist (100%) rename example/ios/{sample => Example}/main.m (100%) rename example/ios/{sampleTests/sampleTests.m => ExampleTests/ExampleTests.m} (96%) rename example/ios/{sampleTests => ExampleTests}/Info.plist (100%) diff --git a/example/android/app/src/main/java/com/adjust/example/MainActivity.java b/example/android/app/src/main/java/com/adjust/example/MainActivity.java index a9085670..8e1e8440 100644 --- a/example/android/app/src/main/java/com/adjust/example/MainActivity.java +++ b/example/android/app/src/main/java/com/adjust/example/MainActivity.java @@ -10,6 +10,6 @@ public class MainActivity extends ReactActivity { */ @Override protected String getMainComponentName() { - return "sample"; + return "Example"; } } diff --git a/example/android/app/src/main/res/values/strings.xml b/example/android/app/src/main/res/values/strings.xml index d17b2cdd..0057fcb9 100644 --- a/example/android/app/src/main/res/values/strings.xml +++ b/example/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - sample + Example diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 36e6fad6..5db941bf 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,4 +1,4 @@ -rootProject.name = 'sample' +rootProject.name = 'Example' include ':app' include ':react-native-adjust' diff --git a/example/index.android.js b/example/index.android.js index 9dc1e7be..6daf0ff7 100644 --- a/example/index.android.js +++ b/example/index.android.js @@ -1,5 +1,5 @@ /** - * Sample React Native App + * Example React Native App * https://github.com/facebook/react-native * @flow */ @@ -15,7 +15,7 @@ import { Linking } from 'react-native'; -export default class sample extends Component { +export default class Example extends Component { componentDidMount() { Linking.addEventListener('url', this.handleDeepLink); } @@ -300,4 +300,4 @@ const styles = StyleSheet.create({ } }); -AppRegistry.registerComponent('sample', () => sample); +AppRegistry.registerComponent('Example', () => Example); diff --git a/example/index.ios.js b/example/index.ios.js index b96171bc..65f32fa6 100644 --- a/example/index.ios.js +++ b/example/index.ios.js @@ -1,5 +1,6 @@ + /** - * Sample React Native App + * Example React Native App * https://github.com/facebook/react-native * @flow */ @@ -15,7 +16,7 @@ import { Linking } from 'react-native'; -export default class sample extends Component { +export default class Example extends Component { componentDidMount() { Linking.addEventListener('url', this.handleDeepLink); } @@ -301,4 +302,4 @@ const styles = StyleSheet.create({ } }); -AppRegistry.registerComponent('sample', () => sample); +AppRegistry.registerComponent('Example', () => Example); diff --git a/example/ios/sample.xcodeproj/project.pbxproj b/example/ios/Example.xcodeproj/project.pbxproj similarity index 92% rename from example/ios/sample.xcodeproj/project.pbxproj rename to example/ios/Example.xcodeproj/project.pbxproj index e9711977..a3bba115 100644 --- a/example/ios/sample.xcodeproj/project.pbxproj +++ b/example/ios/Example.xcodeproj/project.pbxproj @@ -12,7 +12,7 @@ 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; - 00E356F31AD99517003FC87E /* sampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* sampleTests.m */; }; + 00E356F31AD99517003FC87E /* ExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ExampleTests.m */; }; 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; @@ -67,7 +67,7 @@ containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = sample; + remoteInfo = Example; }; 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -169,24 +169,24 @@ 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; - 00E356EE1AD99517003FC87E /* sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = sampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356EE1AD99517003FC87E /* ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 00E356F21AD99517003FC87E /* sampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = sampleTests.m; sourceTree = ""; }; + 00E356F21AD99517003FC87E /* ExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ExampleTests.m; sourceTree = ""; }; 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; - 13B07F961A680F5B00A75B9A /* sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = sample/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = sample/AppDelegate.m; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Example/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Example/AppDelegate.m; sourceTree = ""; }; 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = sample/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = sample/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = sample/main.m; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Example/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Example/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Example/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 4934B58D37FA4780895400B4 /* AdjustSdk.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = AdjustSdk.xcodeproj; path = "../node_modules/react-native-adjust/ios/AdjustSdk.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 8DA5DA7F2FB04554AC598BF8 /* libAdjustSdk.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libAdjustSdk.a; sourceTree = ""; }; - 9DB5EAF81DE7333F00A5177D /* sample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = sample.entitlements; path = sample/sample.entitlements; sourceTree = ""; }; + 9DB5EAF81DE7333F00A5177D /* Example.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Example.entitlements; path = Example/Example.entitlements; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -261,13 +261,13 @@ name = Products; sourceTree = ""; }; - 00E356EF1AD99517003FC87E /* sampleTests */ = { + 00E356EF1AD99517003FC87E /* ExampleTests */ = { isa = PBXGroup; children = ( - 00E356F21AD99517003FC87E /* sampleTests.m */, + 00E356F21AD99517003FC87E /* ExampleTests.m */, 00E356F01AD99517003FC87E /* Supporting Files */, ); - path = sampleTests; + path = ExampleTests; sourceTree = ""; }; 00E356F01AD99517003FC87E /* Supporting Files */ = { @@ -296,10 +296,10 @@ name = Products; sourceTree = ""; }; - 13B07FAE1A68108700A75B9A /* sample */ = { + 13B07FAE1A68108700A75B9A /* Example */ = { isa = PBXGroup; children = ( - 9DB5EAF81DE7333F00A5177D /* sample.entitlements */, + 9DB5EAF81DE7333F00A5177D /* Example.entitlements */, 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.m */, @@ -308,7 +308,7 @@ 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 13B07FB71A68108700A75B9A /* main.m */, ); - name = sample; + name = Example; sourceTree = ""; }; 146834001AC3E56700842450 /* Products */ = { @@ -367,9 +367,9 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 13B07FAE1A68108700A75B9A /* sample */, + 13B07FAE1A68108700A75B9A /* Example */, 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* sampleTests */, + 00E356EF1AD99517003FC87E /* ExampleTests */, 83CBBA001A601CBA00E9B192 /* Products */, ); indentWidth = 2; @@ -379,8 +379,8 @@ 83CBBA001A601CBA00E9B192 /* Products */ = { isa = PBXGroup; children = ( - 13B07F961A680F5B00A75B9A /* sample.app */, - 00E356EE1AD99517003FC87E /* sampleTests.xctest */, + 13B07F961A680F5B00A75B9A /* Example.app */, + 00E356EE1AD99517003FC87E /* ExampleTests.xctest */, ); name = Products; sourceTree = ""; @@ -388,9 +388,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* sampleTests */ = { + 00E356ED1AD99517003FC87E /* ExampleTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "sampleTests" */; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ExampleTests" */; buildPhases = ( 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, @@ -401,14 +401,14 @@ dependencies = ( 00E356F51AD99517003FC87E /* PBXTargetDependency */, ); - name = sampleTests; - productName = sampleTests; - productReference = 00E356EE1AD99517003FC87E /* sampleTests.xctest */; + name = ExampleTests; + productName = ExampleTests; + productReference = 00E356EE1AD99517003FC87E /* ExampleTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 13B07F861A680F5B00A75B9A /* sample */ = { + 13B07F861A680F5B00A75B9A /* Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "sample" */; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Example" */; buildPhases = ( 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, @@ -419,9 +419,9 @@ ); dependencies = ( ); - name = sample; + name = Example; productName = "Hello World"; - productReference = 13B07F961A680F5B00A75B9A /* sample.app */; + productReference = 13B07F961A680F5B00A75B9A /* Example.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -448,7 +448,7 @@ }; }; }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "sample" */; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Example" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -507,8 +507,8 @@ ); projectRoot = ""; targets = ( - 13B07F861A680F5B00A75B9A /* sample */, - 00E356ED1AD99517003FC87E /* sampleTests */, + 13B07F861A680F5B00A75B9A /* Example */, + 00E356ED1AD99517003FC87E /* ExampleTests */, ); }; /* End PBXProject section */ @@ -683,7 +683,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 00E356F31AD99517003FC87E /* sampleTests.m in Sources */, + 00E356F31AD99517003FC87E /* ExampleTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -701,7 +701,7 @@ /* Begin PBXTargetDependency section */ 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* sample */; + target = 13B07F861A680F5B00A75B9A /* Example */; targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -713,7 +713,7 @@ 13B07FB21A68108700A75B9A /* Base */, ); name = LaunchScreen.xib; - path = sample; + path = Example; sourceTree = ""; }; /* End PBXVariantGroup section */ @@ -728,7 +728,7 @@ "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = sampleTests/Info.plist; + INFOPLIST_FILE = ExampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( @@ -736,7 +736,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/sample.app/sample"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; }; name = Debug; }; @@ -746,7 +746,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; DEVELOPMENT_TEAM = QGUGW9AUMK; - INFOPLIST_FILE = sampleTests/Info.plist; + INFOPLIST_FILE = ExampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( @@ -754,7 +754,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/sample.app/sample"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; }; name = Release; }; @@ -762,7 +762,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = sample/sample.entitlements; + CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; DEVELOPMENT_TEAM = QGUGW9AUMK; @@ -772,7 +772,7 @@ "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", ); - INFOPLIST_FILE = sample/Info.plist; + INFOPLIST_FILE = Example/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -780,7 +780,7 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = com.adjust.examples; - PRODUCT_NAME = sample; + PRODUCT_NAME = Example; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -789,7 +789,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = sample/sample.entitlements; + CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = QGUGW9AUMK; HEADER_SEARCH_PATHS = ( @@ -798,7 +798,7 @@ "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", ); - INFOPLIST_FILE = sample/Info.plist; + INFOPLIST_FILE = Example/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -806,7 +806,7 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = com.adjust.examples; - PRODUCT_NAME = sample; + PRODUCT_NAME = Example; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; @@ -902,7 +902,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "sampleTests" */ = { + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ExampleTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 00E356F61AD99517003FC87E /* Debug */, @@ -911,7 +911,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "sample" */ = { + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Example" */ = { isa = XCConfigurationList; buildConfigurations = ( 13B07F941A680F5B00A75B9A /* Debug */, @@ -920,7 +920,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "sample" */ = { + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Example" */ = { isa = XCConfigurationList; buildConfigurations = ( 83CBBA201A601CBA00E9B192 /* Debug */, diff --git a/example/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme b/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme similarity index 78% rename from example/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme rename to example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index c6d9e688..abcf8a65 100644 --- a/example/ios/sample.xcodeproj/xcshareddata/xcschemes/sample.xcscheme +++ b/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -15,9 +15,9 @@ + BuildableName = "Example.app" + BlueprintName = "Example" + ReferencedContainer = "container:Example.xcodeproj"> + BuildableName = "ExampleTests.xctest" + BlueprintName = "ExampleTests" + ReferencedContainer = "container:Example.xcodeproj"> @@ -47,9 +47,9 @@ + BuildableName = "ExampleTests.xctest" + BlueprintName = "ExampleTests" + ReferencedContainer = "container:Example.xcodeproj"> @@ -57,9 +57,9 @@ + BuildableName = "Example.app" + BlueprintName = "Example" + ReferencedContainer = "container:Example.xcodeproj"> @@ -77,9 +77,9 @@ + BuildableName = "Example.app" + BlueprintName = "Example" + ReferencedContainer = "container:Example.xcodeproj"> @@ -96,9 +96,9 @@ + BuildableName = "Example.app" + BlueprintName = "Example" + ReferencedContainer = "container:Example.xcodeproj"> diff --git a/example/ios/sample/AppDelegate.h b/example/ios/Example/AppDelegate.h similarity index 100% rename from example/ios/sample/AppDelegate.h rename to example/ios/Example/AppDelegate.h diff --git a/example/ios/sample/AppDelegate.m b/example/ios/Example/AppDelegate.m similarity index 99% rename from example/ios/sample/AppDelegate.m rename to example/ios/Example/AppDelegate.m index f62f257f..9e648fda 100644 --- a/example/ios/sample/AppDelegate.m +++ b/example/ios/Example/AppDelegate.m @@ -21,7 +21,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation - moduleName:@"sample" + moduleName:@"Example" initialProperties:nil launchOptions:launchOptions]; rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; diff --git a/example/ios/sample/Base.lproj/LaunchScreen.xib b/example/ios/Example/Base.lproj/LaunchScreen.xib similarity index 93% rename from example/ios/sample/Base.lproj/LaunchScreen.xib rename to example/ios/Example/Base.lproj/LaunchScreen.xib index 1f9ab651..8c70b043 100644 --- a/example/ios/sample/Base.lproj/LaunchScreen.xib +++ b/example/ios/Example/Base.lproj/LaunchScreen.xib @@ -18,7 +18,7 @@ -