diff --git a/analytics/src/main/java/com/segment/analytics/Properties.java b/analytics/src/main/java/com/segment/analytics/Properties.java index 8b5adecba..2cf93e438 100644 --- a/analytics/src/main/java/com/segment/analytics/Properties.java +++ b/analytics/src/main/java/com/segment/analytics/Properties.java @@ -389,6 +389,7 @@ public boolean isRepeatCustomer() { public static class Product extends ValueMap { private static final String ID_KEY = "id"; + private static final String PRODUCT_ID_KEY = "product_id"; private static final String SKU_KEY = "sku"; private static final String NAME_KEY = "name"; private static final String PRICE_KEY = "price"; @@ -422,7 +423,7 @@ public String name() { } public String id() { - return getString(ID_KEY); + return getString(ID_KEY) != null ? getString(ID_KEY) : getString(PRODUCT_ID_KEY); } public String sku() { diff --git a/analytics/src/test/java/com/segment/analytics/PropertiesTest.kt b/analytics/src/test/java/com/segment/analytics/PropertiesTest.kt index 066e9406f..969a1ed78 100644 --- a/analytics/src/test/java/com/segment/analytics/PropertiesTest.kt +++ b/analytics/src/test/java/com/segment/analytics/PropertiesTest.kt @@ -197,5 +197,9 @@ class PropertiesTest { assertThat(product.name()).isNull() product.putName("name") assertThat(product.name()).isEqualTo("name") + + product.remove("id") + product.putValue("product_id", "id") + assertThat(product.id()).isEqualTo("id") } }