@@ -12,7 +12,7 @@ - (NSString *)standardizeNameOrKey:(NSString *)nameOrKey forEvent:(BOOL)forEvent
12
12
- (NSString *)standardizeValue : (id )value forEvent : (BOOL )forEvent ;
13
13
- (NSString *)getEventNameForCommerceEvent : (MPCommerceEvent *)commerceEvent parameters : (NSDictionary <NSString *, id> *)parameters ;
14
14
- (NSDictionary <NSString *, id> *)getParameterForCommerceEvent : (MPCommerceEvent *)commerceEvent ;
15
- - (NSMutableArray *) getParametersForProducts : ( id ) products ;
15
+ - (NSMutableDictionary <NSString *, id> *) getParametersForScreen : (MPEvent *) screenEvent ;
16
16
@end
17
17
18
18
@interface mParticle_Firebase_AnalyticsTests : XCTestCase
@@ -334,4 +334,28 @@ - (void)testCommerceEventCheckoutOptions {
334
334
XCTAssertEqualObjects (kFIREventAddShippingInfo , eventName);
335
335
}
336
336
337
+ - (void )testScreenNameAttributes {
338
+ MPKitFirebaseGA4Analytics *exampleKit = [[MPKitFirebaseGA4Analytics alloc ] init ];
339
+ [exampleKit didFinishLaunchingWithConfiguration: @{}];
340
+
341
+ MPEvent *event = [[MPEvent alloc ] initWithName: @" testScreenName" type: MPEventTypeOther];
342
+ event.customAttributes = @{@" testScreenAttribute" :@" value" };
343
+ MPKitExecStatus *execStatus = [exampleKit logScreen: event];
344
+
345
+ XCTAssertTrue (execStatus.success );
346
+
347
+ NSMutableDictionary <NSString *, id > *screenParameters = [exampleKit getParametersForScreen: event];
348
+
349
+ // Even though we only pass one custom attribute, the parameters should include the standardized screen name, so the total expected count is two
350
+ XCTAssertEqual (screenParameters.count , 2 );
351
+
352
+ NSString *standardizedScreenName = [exampleKit standardizeNameOrKey: event.name forEvent: YES ];
353
+ NSString *screenNameParameter = screenParameters[kFIRParameterScreenName ];
354
+
355
+ // Test screen name parameter is not Nil and exists in the screen parameters dictionary
356
+ XCTAssertNotNil (screenNameParameter);
357
+ // Test screen name parameter value is correct
358
+ XCTAssertEqualObjects (screenNameParameter, standardizedScreenName);
359
+ }
360
+
337
361
@end
0 commit comments