Skip to content

Commit c9253e4

Browse files
committed
Parsing of new Response Data fields
1 parent e875b89 commit c9253e4

File tree

4 files changed

+52
-10
lines changed

4 files changed

+52
-10
lines changed

Adjust/AIResponseData.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,19 @@
4545
// tracker name of current device
4646
@property (nonatomic, copy) NSString *trackerName;
4747

48+
// tracker network
49+
@property (nonatomic, copy) NSString *network;
50+
51+
// tracker campaign
52+
@property (nonatomic, copy) NSString *campaign;
53+
54+
// tracker adgroup
55+
@property (nonatomic, copy) NSString *adgroup;
56+
57+
// tracker creative
58+
@property (nonatomic, copy) NSString *creative;
59+
60+
4861
// returns human readable version of activityKind
4962
// (session, event, revenue), see above
5063
- (NSString *)activityKindString;

Adjust/AIResponseData.m

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ - (id)initWithJsonString:(NSString *)jsonString {
3434
self.error = [jsonDict objectForKey:@"error"];
3535
self.trackerToken = [jsonDict objectForKey:@"tracker_token"];
3636
self.trackerName = [jsonDict objectForKey:@"tracker_name"];
37+
self.network = [jsonDict objectForKey:@"network"];
38+
self.campaign = [jsonDict objectForKey:@"campaign"];
39+
self.adgroup = [jsonDict objectForKey:@"adgroup"];
40+
self.creative = [jsonDict objectForKey:@"creative"];
3741

3842
return self;
3943
}
@@ -53,13 +57,19 @@ - (NSString *)activityKindString {
5357
}
5458

5559
- (NSString *)description {
56-
return [NSString stringWithFormat:@"[kind:%@ success:%d willRetry:%d error:%@ trackerToken:%@ trackerName:%@]",
60+
return [NSString stringWithFormat:@"[kind:%@ success:%d willRetry:%d "
61+
"error:%@ trackerToken:%@ trackerName:%@ "
62+
"network:%@ campaign:%@ adgroup:%@ creative:%@]",
5763
self.activityKindString,
5864
self.success,
5965
self.willRetry,
6066
self.error.aiQuote,
6167
self.trackerToken,
62-
self.trackerName.aiQuote];
68+
self.trackerName.aiQuote,
69+
self.network.aiQuote,
70+
self.campaign.aiQuote,
71+
self.adgroup.aiQuote,
72+
self.creative.aiQuote];
6373
}
6474

6575
- (NSDictionary *)dictionary {
@@ -81,6 +91,22 @@ - (NSDictionary *)dictionary {
8191
[responseDataDic setObject:self.trackerName forKey:@"trackerName"];
8292
}
8393

94+
if (self.network != nil) {
95+
[responseDataDic setObject:self.network forKey:@"network"];
96+
}
97+
98+
if (self.campaign != nil) {
99+
[responseDataDic setObject:self.campaign forKey:@"campaign"];
100+
}
101+
102+
if (self.adgroup != nil) {
103+
[responseDataDic setObject:self.adgroup forKey:@"adgroup"];
104+
}
105+
106+
if (self.creative != nil) {
107+
[responseDataDic setObject:self.creative forKey:@"creative"];
108+
}
109+
84110
return responseDataDic;
85111
}
86112

AdjustTests/AIRequestHandlerTests.m

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ - (void)testSendPackage
7676

7777
// check the response data, the kind is unknown because is set by the package handler
7878
NSString *sresponseData= [NSString stringWithFormat:@"%@", self.packageHandlerMock.responseData];
79-
XCTAssert([sresponseData isEqualToString:@"[kind:unknown success:1 willRetry:0 error:(null) trackerToken:token trackerName:name]"],
79+
XCTAssert([sresponseData isEqualToString:@"[kind:unknown success:1 willRetry:0 error:(null) "
80+
"trackerToken:token trackerName:name network:network campaign:campaign adgroup:adgroup creative:creative]"],
8081
@"%@", sresponseData);
8182

8283
// check that the package was successfully sent
@@ -110,7 +111,8 @@ - (void)testConnectionError {
110111

111112
// check the response data,
112113
NSString *sresponseData= [NSString stringWithFormat:@"%@", self.packageHandlerMock.responseData];
113-
XCTAssert([sresponseData isEqualToString:@"[kind:unknown success:0 willRetry:1 error:'connection error' trackerToken:(null) trackerName:(null)]"], @"%@", sresponseData);
114+
XCTAssert([sresponseData isEqualToString:@"[kind:unknown success:0 willRetry:1 error:'connection error' "
115+
"trackerToken:(null) trackerName:(null) network:(null) campaign:(null) adgroup:(null) creative:(null)]"], @"%@", sresponseData);
114116

115117
// check that the package was successfully sent
116118
XCTAssert([self.loggerMock containsMessage:AILogLevelError beginsWith:@"Failed to track session. (connection error) Will retry later."],
@@ -136,14 +138,15 @@ - (void)testResponseError {
136138
// check the URL Connection was called
137139
XCTAssert([self.loggerMock containsMessage:AILogLevelTest beginsWith:@"NSURLConnection sendSynchronousRequest"],
138140
@"%@", self.loggerMock);
139-
140141
// check that the package handler was pinged after sending
141142
XCTAssert([self.loggerMock containsMessage:AILogLevelTest beginsWith:@"AIPackageHandler finishedTrackingActivity"],
142143
@"%@", self.loggerMock);
143144

144145
// check the response data,
145146
NSString *sresponseData= [NSString stringWithFormat:@"%@", self.packageHandlerMock.responseData];
146-
XCTAssert([sresponseData isEqualToString:@"[kind:unknown success:0 willRetry:0 error:'response error' trackerToken:token trackerName:name]"], @"%@", sresponseData);
147+
148+
XCTAssert([sresponseData isEqualToString:@"[kind:unknown success:0 willRetry:0 error:'response error' "
149+
"trackerToken:(null) trackerName:(null) network:(null) campaign:(null) adgroup:(null) creative:(null)]"], @"%@", sresponseData);
147150

148151
// check that the package was successfully sent
149152
XCTAssert([self.loggerMock containsMessage:AILogLevelError beginsWith:@"Failed to track session. (response error)"],

AdjustTests/NSURLConnection+NSURLConnectionSynchronousLoadingMocking.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ + (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NS
2929
NSString * sResponseBase64;
3030
if (triggerResponseError) {
3131
statusCode = 0;
32-
// encoded from "{"error":"response error","tracker_token":"token","tracker_name":"name"}"
33-
sResponseBase64 = @"eyJlcnJvciI6InJlc3BvbnNlIGVycm9yIiwidHJhY2tlcl90b2tlbiI6InRva2VuIiwidHJhY2tlcl9uYW1lIjoibmFtZSJ9";
32+
// encoded from "{"error":"response error"}"
33+
sResponseBase64 = @"eyJlcnJvciI6InJlc3BvbnNlIGVycm9yIn0=";
3434
} else {
3535
statusCode = 200;
36-
// encoded from "{"tracker_token":"token","tracker_name":"name"}"
37-
sResponseBase64 = @"eyJ0cmFja2VyX3Rva2VuIjoidG9rZW4iLCJ0cmFja2VyX25hbWUiOiJuYW1lIn0=";
36+
// encoded from "{"tracker_token":"token","tracker_name":"name", "network":"network", "campaign":"campaign", "adgroup":"adgroup", "creative":"creative"}"
37+
sResponseBase64 = @"eyJ0cmFja2VyX3Rva2VuIjoidG9rZW4iLCJ0cmFja2VyX25hbWUiOiJuYW1lIiwgIm5ldHdvcmsiOiJuZXR3b3JrIiwgImNhbXBhaWduIjoiY2FtcGFpZ24iLCAiYWRncm91cCI6ImFkZ3JvdXAiLCAiY3JlYXRpdmUiOiJjcmVhdGl2ZSJ9";
3838
}
3939
// build response
4040
(*response) = [[NSHTTPURLResponse alloc] initWithURL:[[NSURL alloc] init] statusCode:statusCode HTTPVersion:@"" headerFields:nil];

0 commit comments

Comments
 (0)