diff --git a/src/main/java/com/segment/analytics/android/integrations/firebase/FirebaseIntegration.java b/src/main/java/com/segment/analytics/android/integrations/firebase/FirebaseIntegration.java index 1b4f042..c2dfb67 100644 --- a/src/main/java/com/segment/analytics/android/integrations/firebase/FirebaseIntegration.java +++ b/src/main/java/com/segment/analytics/android/integrations/firebase/FirebaseIntegration.java @@ -214,7 +214,7 @@ && isNullOrEmpty(properties.currency())) { } public static String makeKey(String key) { - String[] forbiddenChars = {".", "-", " "}; + String[] forbiddenChars = {".", "-", " ", ":"}; for (String forbidden : forbiddenChars) { if (key.contains(forbidden)) { key = key.trim().replace(forbidden, "_"); diff --git a/src/test/java/com/segment/analytics/android/integration/firebase/FirebaseTest.java b/src/test/java/com/segment/analytics/android/integration/firebase/FirebaseTest.java index 04c9a93..429fcf9 100644 --- a/src/test/java/com/segment/analytics/android/integration/firebase/FirebaseTest.java +++ b/src/test/java/com/segment/analytics/android/integration/firebase/FirebaseTest.java @@ -205,6 +205,12 @@ public void makeKeyWithDashAndDot() { verify(firebase).logEvent(eq("test_event_dashed_and_dotted"), bundleEq(new Bundle())); } + @Test + public void makeKeyWithColon() { + integration.track(new TrackPayload.Builder().anonymousId("12345").event("test:colon").build()); + verify(firebase).logEvent(eq("test_colon"), bundleEq(new Bundle())); + } + /** * Uses the string representation of the object. Useful for JSON objects. * @param expected Expected object