diff --git a/HelloMixpanel/HelloMixpanelTests/HelloMixpanelTests.m b/HelloMixpanel/HelloMixpanelTests/HelloMixpanelTests.m index 772e5bf12..5c2a51f5f 100644 --- a/HelloMixpanel/HelloMixpanelTests/HelloMixpanelTests.m +++ b/HelloMixpanel/HelloMixpanelTests/HelloMixpanelTests.m @@ -394,6 +394,7 @@ - (void)testPeopleSet NSDictionary *r = self.mixpanel.peopleQueue.lastObject; STAssertEqualObjects([r objectForKey:@"$token"], TEST_TOKEN, @"project token not set"); STAssertEqualObjects([r objectForKey:@"$distinct_id"], @"d1", @"distinct id not set"); + STAssertNotNil([r objectForKey:@"$time"], @"$time timestamp missing"); STAssertNotNil([r objectForKey:@"$set"], @"$set dictionary missing"); p = [r objectForKey:@"$set"]; STAssertTrue(p.count == 4, @"incorrect people properties: %@", p); diff --git a/Mixpanel/Mixpanel.m b/Mixpanel/Mixpanel.m index 17b531222..754121b9a 100644 --- a/Mixpanel/Mixpanel.m +++ b/Mixpanel/Mixpanel.m @@ -1176,6 +1176,12 @@ - (void)addPeopleRecordToQueueWithAction:(NSString *)action andProperties:(NSDic [r setObject:self.mixpanel.apiToken forKey:@"$token"]; + if (![r objectForKey:@"$time"]) { + // milliseconds unix timestamp + NSNumber *time = [NSNumber numberWithUnsignedLongLong:(uint64_t)([[NSDate date] timeIntervalSince1970] * 1000)]; + [r setObject:time forKey:@"$time"]; + } + if ([action isEqualToString:@"$set"]) { [p addEntriesFromDictionary:[MixpanelPeople deviceInfoProperties]]; }