use of com.microsoft.appcenter.ingestion.models.one.CommonSchemaLog in project mobile-center-sdk-android by Microsoft.
the class SasquatchAnalyticsListener method onSendingSucceeded.
@Override
public void onSendingSucceeded(com.microsoft.appcenter.ingestion.models.Log log) {
String message = null;
if (log instanceof EventLog) {
message = String.format("%s\nName: %s", mContext.getString(R.string.event_sent_succeeded), ((EventLog) log).getName());
} else if (log instanceof PageLog) {
message = String.format("%s\nName: %s", mContext.getString(R.string.page_sent_succeeded), ((PageLog) log).getName());
} else if (log instanceof CommonSchemaLog) {
CommonSchemaLog commonSchemaLog = (CommonSchemaLog) log;
message = String.format("%s\nName: %s", mContext.getString(R.string.event_sent_succeeded), commonSchemaLog.getName());
if (commonSchemaLog.getData() != null) {
message += String.format("\nProperties: %s", commonSchemaLog.getData().getProperties().toString());
}
}
if (log instanceof LogWithProperties) {
if (((LogWithProperties) log).getProperties() != null) {
message += String.format("\nProperties: %s", new JSONObject(((LogWithProperties) log).getProperties()).toString());
}
}
if (message != null) {
notifySendingCompletion(message);
}
analyticsIdlingResource.decrement();
}
use of com.microsoft.appcenter.ingestion.models.one.CommonSchemaLog in project mobile-center-sdk-android by Microsoft.
the class PropertyConfiguratorTest method grandparentsHaveNoPropertiesSet.
@Test
public void grandparentsHaveNoPropertiesSet() {
CommonSchemaLog log = new CommonSchemaEventLog();
log.setExt(new Extensions());
log.getExt().setApp(new AppExtension());
log.getExt().setUser(new UserExtension());
/* Set up empty chain of parents. */
AnalyticsTransmissionTarget grandparent = Analytics.getTransmissionTarget("grandparent");
AnalyticsTransmissionTarget parent = grandparent.getTransmissionTarget("parent");
AnalyticsTransmissionTarget child = parent.getTransmissionTarget("child");
/* Simulate channel callbacks. */
log.addTransmissionTarget("child");
log.setTag(child);
grandparent.getPropertyConfigurator().onPreparingLog(log, "groupName");
parent.getPropertyConfigurator().onPreparingLog(log, "groupName");
child.getPropertyConfigurator().onPreparingLog(log, "groupName");
/* Assert properties not set on common schema for child. */
assertNull(log.getExt().getApp().getVer());
assertNull(log.getExt().getApp().getName());
assertNull(log.getExt().getApp().getLocale());
assertNull(log.getExt().getUser().getLocalId());
}
use of com.microsoft.appcenter.ingestion.models.one.CommonSchemaLog in project mobile-center-sdk-android by Microsoft.
the class PropertyConfiguratorTest method unsetUserId.
@Test
public void unsetUserId() {
CommonSchemaLog log = new CommonSchemaEventLog();
log.setExt(new Extensions());
log.getExt().setApp(new AppExtension());
log.getExt().setUser(new UserExtension());
/* Get property configurator and set properties. */
PropertyConfigurator pc = Analytics.getTransmissionTarget("test").getPropertyConfigurator();
pc.setUserId("c:bob");
/* Simulate what the pipeline does to convert from App Center to Common Schema. */
log.addTransmissionTarget("test");
log.setTag(Analytics.getTransmissionTarget("test"));
pc.onPreparingLog(log, "groupName");
/* Assert properties set on common schema. */
assertEquals("c:bob", log.getExt().getUser().getLocalId());
/* Create second log. */
CommonSchemaLog log2 = new CommonSchemaEventLog();
log2.setExt(new Extensions());
log2.getExt().setApp(new AppExtension());
log2.getExt().setUser(new UserExtension());
/* Un-set user ID. */
pc.setUserId(null);
/* Simulate what the pipeline does to convert from App Center to Common Schema. */
log2.addTransmissionTarget("test");
log2.setTag(Analytics.getTransmissionTarget("test"));
pc.onPreparingLog(log2, "groupName");
/* Assert properties set on common schema. */
assertNull(log2.getExt().getUser().getLocalId());
}
use of com.microsoft.appcenter.ingestion.models.one.CommonSchemaLog in project mobile-center-sdk-android by Microsoft.
the class PropertyConfiguratorTest method checkGrandParentNotOverriddenByDescendants.
@Test
public void checkGrandParentNotOverriddenByDescendants() {
CommonSchemaLog log = new CommonSchemaEventLog();
log.setExt(new Extensions());
log.getExt().setApp(new AppExtension());
log.getExt().setUser(new UserExtension());
/* Set up hierarchy. */
AnalyticsTransmissionTarget grandparent = Analytics.getTransmissionTarget("grandparent");
AnalyticsTransmissionTarget parent = grandparent.getTransmissionTarget("parent");
AnalyticsTransmissionTarget child = parent.getTransmissionTarget("child");
/* Set properties on parent to override unset properties on child (but not grandparent). */
parent.getPropertyConfigurator().setAppVersion("appVersion");
parent.getPropertyConfigurator().setAppName("appName");
parent.getPropertyConfigurator().setAppLocale("appLocale");
parent.getPropertyConfigurator().setUserId("c:bob");
/* Also set 1 on child. */
child.getPropertyConfigurator().setAppName("childName");
/* Simulate channel callbacks. */
log.addTransmissionTarget("grandParent");
log.setTag(grandparent);
grandparent.getPropertyConfigurator().onPreparingLog(log, "groupName");
parent.getPropertyConfigurator().onPreparingLog(log, "groupName");
child.getPropertyConfigurator().onPreparingLog(log, "groupName");
/* Assert properties not set on common schema for grandparent. */
assertNull(log.getExt().getApp().getVer());
assertNull(log.getExt().getApp().getName());
assertNull(log.getExt().getApp().getLocale());
assertNull(log.getExt().getUser().getLocalId());
}
use of com.microsoft.appcenter.ingestion.models.one.CommonSchemaLog in project mobile-center-sdk-android by Microsoft.
the class PropertyConfiguratorTest method commonSchemaPropertiesNotSetWhenDisabled.
@Test
public void commonSchemaPropertiesNotSetWhenDisabled() {
CommonSchemaLog log = new CommonSchemaEventLog();
log.setExt(new Extensions());
log.getExt().setApp(new AppExtension());
log.getExt().setUser(new UserExtension());
/* Get target, disable it, and set properties. */
AnalyticsTransmissionTarget target = Analytics.getTransmissionTarget("test");
target.setEnabledAsync(false).get();
target.getPropertyConfigurator().setAppVersion("appVersion");
target.getPropertyConfigurator().setAppName("appName");
target.getPropertyConfigurator().setAppLocale("appLocale");
target.getPropertyConfigurator().setUserId("c:alice");
/* Simulate what the pipeline does to convert from App Center to Common Schema. */
log.addTransmissionTarget("test");
log.setTag(target);
target.getPropertyConfigurator().onPreparingLog(log, "groupName");
/* Assert properties are null. */
assertNull(log.getExt().getApp().getVer());
assertNull(log.getExt().getApp().getName());
assertNull(log.getExt().getApp().getLocale());
assertNull(log.getExt().getUser().getLocalId());
/* The properties are not applied but are saved, if we enable now we can see the values. */
target.setEnabledAsync(true).get();
target.getPropertyConfigurator().onPreparingLog(log, "groupName");
assertEquals("appVersion", log.getExt().getApp().getVer());
assertEquals("appName", log.getExt().getApp().getName());
assertEquals("appLocale", log.getExt().getApp().getLocale());
assertEquals("c:alice", log.getExt().getUser().getLocalId());
}
Aggregations