Skip to content

Commit e35f1c9

Browse files
bsneedBrandon Sneed
andauthored
Pushed save of anonId higher up into the flow. (#977)
* Pushed save of anonId higher up into the flow. * Removed api endpoint test. Co-authored-by: Brandon Sneed <[email protected]>
1 parent ce4280d commit e35f1c9

File tree

4 files changed

+5
-10
lines changed

4 files changed

+5
-10
lines changed

Segment/Classes/SEGAnalytics.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,8 @@ - (void)identify:(NSString *)userId traits:(NSDictionary *)traits options:(NSDic
276276
NSString *anonId = [options objectForKey:@"anonymousId"];
277277
if (anonId == nil) {
278278
anonId = [self getAnonymousId];
279+
} else {
280+
[self.integrationsManager saveAnonymousId:anonId];
279281
}
280282
// configure traits to match what is seen on android.
281283
NSMutableDictionary *existingTraitsCopy = [[SEGState sharedInstance].userInfo.traits mutableCopy];

Segment/Internal/SEGIntegrationsManager.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ NS_SWIFT_NAME(IntegrationsManager)
3636

3737
// @Deprecated - Exposing for backward API compat reasons only
3838
- (NSString *_Nonnull)getAnonymousId;
39+
- (void)saveAnonymousId:(NSString *)anonymousId;
3940

4041
@end
4142

Segment/Internal/SEGIntegrationsManager.m

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -213,15 +213,6 @@ - (void)identify:(SEGIdentifyPayload *)payload
213213
{
214214
NSCAssert2(payload.userId.length > 0 || payload.traits.count > 0, @"either userId (%@) or traits (%@) must be provided.", payload.userId, payload.traits);
215215

216-
NSString *anonymousId = payload.anonymousId;
217-
NSString *existingAnonymousId = self.cachedAnonymousId;
218-
219-
if (anonymousId == nil) {
220-
payload.anonymousId = anonymousId;
221-
} else if (![anonymousId isEqualToString:existingAnonymousId]) {
222-
[self saveAnonymousId:anonymousId];
223-
}
224-
225216
[self callIntegrationsWithSelector:NSSelectorFromString(@"identify:")
226217
arguments:@[ payload ]
227218
options:payload.options

SegmentTests/AnalyticsTests.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ class AnalyticsTests: XCTestCase {
6565
XCTAssertEqual(config.flushInterval, 30)
6666
XCTAssertEqual(config.maxQueueSize, 1000)
6767
XCTAssertEqual(config.writeKey, "QUI5ydwIGeFFTa1IvCBUhxL9PyW5B0jE")
68-
XCTAssertEqual(config.apiHost?.absoluteString, "https://api.segment.io/v1")
68+
// not needed as segment settings API can provide different host values now.
69+
//XCTAssertEqual(config.apiHost?.absoluteString, "https://api.segment.io/v1")
6970
XCTAssertEqual(config.shouldUseLocationServices, false)
7071
XCTAssertEqual(config.enableAdvertisingTracking, true)
7172
XCTAssertEqual(config.shouldUseBluetooth, false)

0 commit comments

Comments
 (0)