Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Adjust.podspec
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Pod::Spec.new do |s|
s.name = "Adjust"
s.version = "4.2.2"
s.version = "4.2.3"
s.summary = "This is the iOS SDK of adjust. You can read more about it at http://adjust.com."
s.homepage = "http://adjust.com"
s.license = { :type => 'MIT', :file => 'MIT-LICENSE' }
s.author = { "Christian Wellenbrock" => "welle@adjust.com" }
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.2.2" }
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.2.3" }
s.platform = :ios, '4.3'
s.framework = 'SystemConfiguration'
s.weak_framework = 'AdSupport', 'iAd'
Expand Down
1 change: 0 additions & 1 deletion Adjust/ADJActivityHandler.m
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,6 @@ - (void)setDeviceToken:(NSData *)deviceToken {

- (void)setIadDate:(NSDate *)iAdImpressionDate withPurchaseDate:(NSDate *)appPurchaseDate {
if (iAdImpressionDate == nil) {
[self.logger error:@"iAd click time is missing"];
return;
}

Expand Down
6 changes: 5 additions & 1 deletion Adjust/ADJAttributionHandler.m
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,14 @@ -(void) getAttributionInternal {
returningResponse:&urlResponse
error:&requestError];
// connection error
if (responseData == nil || requestError != nil) {
if (requestError != nil) {
[self.logger error:@"Failed to get attribution. (%@)", requestError.localizedDescription];
return;
}
if (responseData == nil) {
[self.logger error:@"Failed to get attribution. (empty error)"];
return;
}

NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] adjTrim];
NSInteger statusCode = ((NSHTTPURLResponse*)urlResponse).statusCode;
Expand Down
1 change: 1 addition & 0 deletions Adjust/ADJEvent.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
@property (nonatomic, copy, readonly) NSString* transactionId;
@property (nonatomic, copy, readonly) NSString* currency;
@property (nonatomic, copy, readonly) NSData* receipt;
@property (nonatomic, assign, readonly) BOOL emptyReceipt;

/**
* Create Event object with Event Token.
Expand Down
3 changes: 3 additions & 0 deletions Adjust/ADJEvent.m
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,9 @@ - (BOOL) isValid {
- (void) setReceipt:(NSData *)receipt transactionId:(NSString *)transactionId {
if (![self checkReceipt:receipt transactionId:transactionId]) return;

if (receipt == nil || [receipt length] == 0) {
_emptyReceipt = YES;
}
_receipt = receipt;
_transactionId = transactionId;
}
Expand Down
7 changes: 6 additions & 1 deletion Adjust/ADJPackageBuilder.m
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,12 @@ - (ADJActivityPackage *)buildEventPackage:(ADJEvent *) event{
[self parameters:parameters setDictionaryJson:event.callbackParameters forKey:@"callback_params"];
[self parameters:parameters setDictionaryJson:event.partnerParameters forKey:@"partner_params"];

if (event.receipt != nil) {
if (event.emptyReceipt) {
NSString *emptyReceipt = @"empty";
[self parameters:parameters setString:emptyReceipt forKey:@"receipt"];
[self parameters:parameters setString:event.transactionId forKey:@"transaction_id"];
}
else if (event.receipt != nil) {
NSString *receiptBase64 = [event.receipt adjEncodeBase64];
[self parameters:parameters setString:receiptBase64 forKey:@"receipt"];
[self parameters:parameters setString:event.transactionId forKey:@"transaction_id"];
Expand Down
8 changes: 6 additions & 2 deletions Adjust/ADJRequestHandler.m
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,12 @@ - (void)sendInternal:(ADJActivityPackage *)package sendToPackageHandler:(BOOL)se
error:&error];

// connection error
if (responseData == nil || error != nil) {
[self.logger error:@"%@. (%@) Will retry later.", package.failureMessage, error.localizedDescription];
if (error != nil || responseData == nil) {
if (error != nil) {
[self.logger error:@"%@. (%@) Will retry later.", package.failureMessage, error.localizedDescription];
} else {
[self.logger error:@"%@. (empty error) Will retry later.", package.failureMessage];
}
[self.packageHandler finishedTrackingActivity:nil];
if (sendToPackageHandler) {
[self.packageHandler closeFirstPackage];
Expand Down
2 changes: 1 addition & 1 deletion Adjust/ADJUtil.m
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include <sys/xattr.h>

static NSString * const kBaseUrl = @"https://app.adjust.com";
static NSString * const kClientSdk = @"ios4.2.2";
static NSString * const kClientSdk = @"ios4.2.3";

static NSString * const kDateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'Z";
static NSDateFormatter *dateFormat;
Expand Down
12 changes: 5 additions & 7 deletions AdjustTests/ADJActivityHandlerTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ - (void)testFirstRun
ADJActivityPackage *activityPackage = (ADJActivityPackage *) self.packageHandlerMock.packageQueue[0];

// check the Sdk version is being tested
XCTAssertEqual(@"ios4.2.2", activityPackage.clientSdk, @"%@", activityPackage.extendedString);
XCTAssertEqual(@"ios4.2.3", activityPackage.clientSdk, @"%@", activityPackage.extendedString);

// check the server url
XCTAssertEqual(@"https://app.adjust.com", ADJUtil.baseUrl);
Expand Down Expand Up @@ -342,7 +342,7 @@ - (void)testEventsBuffered {
[firstEvent setRevenue:0.0001 currency:@"EUR"];

// set transaction id
[firstEvent setTransactionId:@"t_id_1"];
[firstEvent setReceipt:[[NSData alloc] init] transactionId:@"t_id_1"];

// track the first event
[activityHandler trackEvent:firstEvent];
Expand Down Expand Up @@ -461,7 +461,7 @@ - (void)testEventsBuffered {
XCTAssert([(NSString *)firstEventPackageParameters[@"currency"] isEqualToString:@"EUR"], @"%@", firstEventPackage.extendedString);

// check the that the transaction id was not injected
XCTAssertNil(firstEventPackageParameters[@"transaction_id"], @"%@", firstEventPackage.extendedString);
XCTAssert([(NSString *)firstEventPackageParameters[@"transaction_id"] isEqualToString:@"t_id_1"], @"%@", firstEventPackage.extendedString);

// check the injected parameters
XCTAssert([(NSString *)firstEventPackageParameters[@"callback_params"] isEqualToString:@"{\"keyCall\":\"valueCall2\",\"fooCall\":\"barCall\"}"],
Expand All @@ -470,6 +470,8 @@ - (void)testEventsBuffered {
XCTAssert([(NSString *)firstEventPackageParameters[@"partner_params"] isEqualToString:@"{\"keyPartner\":\"valuePartner2\",\"fooPartner\":\"barPartner\"}"],
@"%@", firstEventPackage.extendedString);

XCTAssert([(NSString *)firstEventPackageParameters[@"receipt"] isEqualToString:@"empty"], @"%@", firstEventPackage.extendedString);

// check the third event
ADJActivityPackage *thirdEventPackage = (ADJActivityPackage *) self.packageHandlerMock.packageQueue[2];
NSDictionary *thirdEventPackageParameters = thirdEventPackage.parameters;
Expand Down Expand Up @@ -899,10 +901,6 @@ - (void)testClickPackage {
// check that the deep link send a click package
XCTAssert([self.loggerMock containsMessage:ADJLogLevelTest beginsWith:@"ADJPackageHandler sendClickPackage"], @"%@", self.loggerMock);

// check the iAd is missing twice
XCTAssert([self.loggerMock containsMessage:ADJLogLevelError beginsWith:@"iAd click time is missing"], @"%@", self.loggerMock);
XCTAssert([self.loggerMock containsMessage:ADJLogLevelError beginsWith:@"iAd click time is missing"], @"%@", self.loggerMock);

// 1 session + 1 deep link
XCTAssertEqual((NSUInteger)2, [self.packageHandlerMock.packageQueue count], @"%@", self.loggerMock);

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ If you're using [CocoaPods][cocoapods], you can add the following line to your
`Podfile` and continue with [step 3](#step3):

```ruby
pod 'Adjust', :git => 'git://github.com/adjust/ios_sdk.git', :tag => 'v4.2.2'
pod 'Adjust', :git => 'git://github.com/adjust/ios_sdk.git', :tag => 'v4.2.3'
```

### 1. Get the SDK
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.2.2
4.2.3
2 changes: 1 addition & 1 deletion doc/migrate.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Migrate your adjust SDK for iOS to v4.2.2 from v3.4.0
## Migrate your adjust SDK for iOS to v4.2.3 from v3.4.0

### Initial setup

Expand Down
14 changes: 7 additions & 7 deletions plugin/ADJSociomantic.m
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ + (void)injectCustomerDataIntoEvent:(ADJEvent *)event
}];

NSString *dob = [ADJSociomantic stringify:_data];
[event addPartnerParameter:@"dob" value:dob];
[event addPartnerParameter:@"socio_dob" value:dob];
}


Expand Down Expand Up @@ -196,7 +196,7 @@ + (void)injectViewListingIntoEvent:(ADJEvent *)event
}

NSString *jsonCo = [ADJSociomantic stringify:co];
[event addPartnerParameter:@"co" value:jsonCo];
[event addPartnerParameter:@"socio_co" value:jsonCo];
}


Expand All @@ -222,7 +222,7 @@ + (void)injectViewProductIntoEvent:(ADJEvent *)event
}

NSString *jsonPo = [ADJSociomantic stringify:@[product]];
[event addPartnerParameter:@"po" value:jsonPo];
[event addPartnerParameter:@"socio_po" value:jsonPo];
}


Expand Down Expand Up @@ -254,7 +254,7 @@ + (void)injectCartIntoEvent:(ADJEvent *)event
if ( 0 < po.count )
{
NSString *jsonPo = [ADJSociomantic stringify:po];
[event addPartnerParameter:@"po" value:jsonPo];
[event addPartnerParameter:@"socio_po" value:jsonPo];
}
}

Expand Down Expand Up @@ -323,7 +323,7 @@ + (void)injectTransactionIntoEvent:(ADJEvent *)event
}];

NSString *jsonPo = [ADJSociomantic stringify:po];
[event addPartnerParameter:@"po" value:jsonPo];
[event addPartnerParameter:@"socio_po" value:jsonPo];
}

if ( nil != parameters )
Expand All @@ -338,7 +338,7 @@ + (void)injectTransactionIntoEvent:(ADJEvent *)event

to[@"transaction"] = transactionID;
NSString *jsonTo = [ADJSociomantic stringify:@{@"transaction":to}];
[event addPartnerParameter:@"to" value:jsonTo];
[event addPartnerParameter:@"socio_to" value:jsonTo];

}

Expand All @@ -361,7 +361,7 @@ + (void)injectLeadIntoEvent:(ADJEvent *)event

to[@"transaction"] = leadID;
NSString *jsonTo = [ADJSociomantic stringify:@{@"transaction":to}];
[event addPartnerParameter:@"to" value:jsonTo];
[event addPartnerParameter:@"socio_to" value:jsonTo];
}

+ (NSArray*)filterCategories:(NSArray*)categories
Expand Down