Skip to content

Commit 5216fef

Browse files
authored
Merge pull request #2 from chrisbianca/master
Trigger auth event when listening for AuthStateChanged / Update iOS analytics
2 parents 6259c4d + e475c6d commit 5216fef

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

ios/Firestack/FirestackAnalytics.m

+27-17
Original file line numberDiff line numberDiff line change
@@ -21,38 +21,48 @@ - (void)dealloc
2121
RCT_EXPORT_MODULE(FirestackAnalytics);
2222

2323
// Implementation
24-
RCT_EXPORT_METHOD(logEventWithName:(NSString *)name
25-
props:(NSDictionary *)props
26-
callback:(RCTResponseSenderBlock) callback)
24+
RCT_EXPORT_METHOD(logEvent:(NSString *)name
25+
props:(NSDictionary *)props)
2726
{
2827
NSString *debugMsg = [NSString stringWithFormat:@"%@: %@ with %@",
2928
@"FirestackAnalytics", name, props];
3029
[[Firestack sharedInstance] debugLog:@"logEventWithName called"
3130
msg:debugMsg];
3231

33-
[FIRAnalytics logEventWithName:name parameters:props];
34-
callback(@[[NSNull null], @YES]);
32+
[FIRAnalytics logEventWithName:name parameters:props];
3533
}
3634

37-
RCT_EXPORT_METHOD(setEnabled:(BOOL) enabled
38-
callback:(RCTResponseSenderBlock) callback)
35+
RCT_EXPORT_METHOD(setAnalyticsCollectionEnabled:(BOOL) enabled)
3936
{
4037
[[FIRAnalyticsConfiguration sharedInstance] setAnalyticsCollectionEnabled:enabled];
41-
callback(@[[NSNull null], @YES]);
4238
}
4339

44-
RCT_EXPORT_METHOD(setUser: (NSString *) id
45-
props:(NSDictionary *) props
46-
callback:(RCTResponseSenderBlock) callback)
40+
RCT_EXPORT_METHOD(setCurrentScreen:(NSString *) screenName
41+
screenClass:(NSString *) screenClassOverriew)
42+
{
43+
[FIRAnalytics setScreenName:screenName screenClass:screenClassOverriew];
44+
}
45+
46+
RCT_EXPORT_METHOD(setMinimumSessionDuration:(NSNumber *) milliseconds)
47+
{
48+
//Not implemented on iOS
49+
}
50+
51+
RCT_EXPORT_METHOD(setSessionTimeoutDuration:(NSNumber *) milliseconds)
52+
{
53+
//Not implemented on iOS
54+
}
55+
56+
RCT_EXPORT_METHOD(setUserId: (NSString *) id
57+
props:(NSDictionary *) props)
4758
{
4859
[FIRAnalytics setUserID:id];
49-
NSMutableArray *allKeys = [[props allKeys] mutableCopy];
50-
for (NSString *key in allKeys) {
51-
NSString *val = [props valueForKey:key];
52-
[FIRAnalytics setUserPropertyString:val forName:key];
53-
}
60+
}
5461

55-
callback(@[[NSNull null], @YES]);
62+
RCT_EXPORT_METHOD(setUserProperty: (NSString *) name
63+
value:(NSString *) value)
64+
{
65+
[FIRAnalytics setUserPropertyString:value forName:name];
5666
}
5767

5868
@end

lib/modules/auth.js

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export default class Auth extends Base {
6565
onAuthStateChanged(listener) {
6666
this.log.info('Creating onAuthStateChanged listener');
6767
this.on('onAuthStateChanged', listener);
68+
if (this._authResult) listener(this._authResult);
6869
}
6970

7071
/**

0 commit comments

Comments
 (0)