Skip to content

Commit a764d00

Browse files
authored
Remote Config: Revert to previous nil check on experiment JSON (#7269)
* Revert to previous nil check on experiment JSON * Update CHANGELOG
1 parent 3d84b99 commit a764d00

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

FirebaseRemoteConfig/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# v7.5.0
2+
- [fixed] Fixed bug that was incorrectly flagging ABT experiment payloads as invalid. (#7184)
3+
14
# v7.1.0
25
- [changed] Add support for other Firebase products to integrate with Remote Config. (#6692)
36

FirebaseRemoteConfig/Sources/RCNConfigExperiment.m

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ - (void)loadExperimentFromTable {
7474
if (result[@RCNExperimentTableKeyPayload]) {
7575
[strongSelf->_experimentPayloads removeAllObjects];
7676
for (NSData *experiment in result[@RCNExperimentTableKeyPayload]) {
77-
if (![NSJSONSerialization isValidJSONObject:experiment]) {
77+
NSError *error;
78+
id experimentPayloadJSON = [NSJSONSerialization JSONObjectWithData:experiment
79+
options:kNilOptions
80+
error:&error];
81+
if (!experimentPayloadJSON || error) {
7882
FIRLogWarning(kFIRLoggerRemoteConfig, @"I-RCN000031",
7983
@"Experiment payload could not be parsed as JSON.");
8084
} else {

FirebaseRemoteConfig/Tests/Unit/RCNConfigExperimentTest.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ - (void)testLoadExperimentFromTable {
109109
_payloads[payloadIndex++][@"experimentId"]);
110110
}
111111

112+
XCTAssertEqualObjects(_payloadsData, _configExperiment.experimentPayloads);
112113
XCTAssertEqualObjects(_metadata, _configExperiment.experimentMetadata);
113114
}
114115

0 commit comments

Comments
 (0)