Skip to content

Commit eb3a738

Browse files
committed
Address comments
1 parent 84ac86c commit eb3a738

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

FirebaseRemoteConfig/Sources/RCNConfigSettings.m

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
static NSString *const kRCNGroupPrefix = @"frc.group.";
2929
static NSString *const kRCNUserDefaultsKeyNamelastETag = @"lastETag";
3030
static NSString *const kRCNUserDefaultsKeyNameLastSuccessfulFetchTime = @"lastSuccessfulFetchTime";
31-
static NSString *const kRCNAnlyticsFirstOpenTimePropertyName = @"_fot";
31+
static NSString *const kRCNAnalyticsFirstOpenTimePropertyName = @"_fot";
3232
static const int kRCNExponentialBackoffMinimumInterval = 60 * 2; // 2 mins.
3333
static const int kRCNExponentialBackoffMaximumInterval = 60 * 60 * 4; // 4 hours.
3434

@@ -362,20 +362,19 @@ - (NSString *)nextRequestWithUserProperties:(NSDictionary *)userProperties {
362362
NSError *error;
363363

364364
// Extract first open time from user properties and send as a separate field
365-
NSNumber *firstOpenTime = [userProperties valueForKey:kRCNAnlyticsFirstOpenTimePropertyName];
366-
if (firstOpenTime) {
365+
NSNumber *firstOpenTime = userProperties[kRCNAnalyticsFirstOpenTimePropertyName];
366+
NSMutableDictionary *remainingUserProperties = [userProperties mutableCopy];
367+
if (firstOpenTime != nil) {
367368
NSDate *date = [NSDate dateWithTimeIntervalSince1970:([firstOpenTime longValue] / 1000)];
368369
NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
369370
NSString *firstOpenTimeISOString = [formatter stringFromDate:date];
370371
ret = [ret stringByAppendingString:[NSString stringWithFormat:@", first_open_time:'%@'",
371372
firstOpenTimeISOString]];
372373

373-
NSMutableDictionary *userPropertiesCopy = [userProperties mutableCopy];
374-
[userPropertiesCopy removeObjectForKey:kRCNAnlyticsFirstOpenTimePropertyName];
375-
userProperties = userPropertiesCopy;
374+
[remainingUserProperties removeObjectForKey:kRCNAnalyticsFirstOpenTimePropertyName];
376375
}
377-
if (userProperties.count > 0) {
378-
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:userProperties
376+
if (remainingUserProperties.count > 0) {
377+
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:remainingUserProperties
379378
options:0
380379
error:&error];
381380
if (!error) {

FirebaseRemoteConfig/Tests/Unit/RCNRemoteConfigTest.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,10 +1435,10 @@ - (void)testFetchRequestWithFirstOpenTimeAndUserProperties {
14351435
}
14361436

14371437
- (void)testFetchRequestFirstOpenTimeOnly {
1438-
NSDictionary *userProperties = @{@"_fot" : @1649116800000};
1438+
NSDictionary *userProperties = @{@"_fot" : @1650312375543};
14391439
NSString *req = [_settings nextRequestWithUserProperties:userProperties];
14401440

1441-
XCTAssertTrue([req containsString:@"first_open_time:'2022-04-05T00:00:00Z'"]);
1441+
XCTAssertTrue([req containsString:@"first_open_time:'2022-04-18T20:06:15Z'"]);
14421442
XCTAssertFalse([req containsString:@"analytics_user_properties"]);
14431443
}
14441444

0 commit comments

Comments
 (0)