Java源码示例:com.mixpanel.mixpanelapi.MixpanelAPI
示例1
@Override
public void trackPurchase(OrderInfo order) {
if (doTracking && order!=null && order.getUser()!=null){
try {
ClientDelivery delivery = mapToPurchaseDelivery(order);
JSONObject user = mapToUserJSONObject(order.getUser());
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(user);
} catch (Exception e) {
LOGGER.error("Error occurred while tacking", e);
}
}
}
示例2
@Override
public void trackSignUp(UserInfo user) {
if (doTracking && user!=null){
try {
JSONObject properties = new JSONObject();
properties.put("username", user.getUsername());
JSONObject signUp = messageBuilder.event(user.getUsername(), "Sign Up", properties);
ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(signUp);
JSONObject userJSONObject = mapToUserJSONObject(user);
userJSONObject.put("$created", new Date());
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(userJSONObject);
} catch (Exception e) {
LOGGER.error("Error occurred while tacking", e);
}
}
}
示例3
@Override
public void trackLogin(UserInfo user) {
if (doTracking && user!=null){
try {
JSONObject properties = new JSONObject();
properties.put("username", user.getUsername());
JSONObject signUp = messageBuilder.event(user.getUsername(), "Login", properties);
ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(signUp);
JSONObject userJSONObject = mapToUserJSONObject(user);
userJSONObject.put("$last_login", new Date());
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(userJSONObject);
} catch (Exception e) {
LOGGER.error("Error occurred while tacking", e);
}
}
}
示例4
@Override
public void trackProductView(List<ProductInfo> products, UserInfo user) {
JSONObject properties = new JSONObject();
if (doTracking && products!=null && user!=null){
try {
properties.put("products", products.stream().map(productInfo -> productInfo.getName()).collect(Collectors.toList()));
JSONObject view = messageBuilder.event(user.getUsername(), "View", properties);
ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(view);
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(mapToUserJSONObject(user));
} catch (Exception e) {
LOGGER.error("Error occurred while tacking ", e);
LOGGER.error("user.getUsername(): ", user.getUsername());
LOGGER.error("properties: ", properties.toString());
}
}
}
示例5
private void doFirstStartAction() throws Exception {
try {
final String installationUUID = PreferencesManager.getInstance().getInstallationUUID().toString();
final MessageBuilder messageBuilder = new MessageBuilder(PROJECT_TOKEN);
final MixpanelAPI mixpanel = new MixpanelAPI();
final JSONObject statistics = new JSONObject();
statistics.put("os.name", System.getProperty("os.name","unknown")); //NOI18N
statistics.put("os.arch", System.getProperty("os.arch","unknown")); //NOI18N
statistics.put("os.version", System.getProperty("os.version","unknown")); //NOI18N
statistics.put("java.vendor", System.getProperty("java.vendor","unknown")); //NOI18N
statistics.put("java.version", System.getProperty("java.version","unknown")); //NOI18N
final JSONObject event = messageBuilder.event(installationUUID, "FirstStart", statistics); //NOI18N
final ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(event);
mixpanel.deliver(delivery);
} finally {
PreferencesManager.getInstance().getPreferences().putLong(PROPERTY_METRICS_SENDING_LAST_TIME, System.currentTimeMillis());
PreferencesManager.getInstance().flush();
}
}
示例6
private void doAction() throws Exception {
try {
final String installationUUID = PreferencesManager.getInstance().getInstallationUUID().toString();
final MessageBuilder messageBuilder = new MessageBuilder(PROJECT_TOKEN);
final MixpanelAPI mixpanel = new MixpanelAPI();
final JSONObject statistics = new JSONObject();
statistics.put(Main.PROPERTY_TOTAL_UPSTART, PreferencesManager.getInstance().getPreferences().getLong(Main.PROPERTY_TOTAL_UPSTART, 0L));
final JSONObject event = messageBuilder.event(installationUUID, "Statistics", statistics); //NOI18N
final ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(event);
mixpanel.deliver(delivery);
} finally {
PreferencesManager.getInstance().getPreferences().putLong(PROPERTY_METRICS_SENDING_LAST_TIME, System.currentTimeMillis());
PreferencesManager.getInstance().flush();
}
}
示例7
@Override
public void trackSignUp(UserInfo user) {
try {
JSONObject properties = new JSONObject();
properties.put("username", user.getUsername());
JSONObject signUp = messageBuilder.event(user.getUsername(), "Sign Up", properties);
ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(signUp);
JSONObject userJSONObject = mapToUserJSONObject(user);
userJSONObject.put("$created", new Date());
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(userJSONObject);
} catch (Exception e) {
LOGGER.error("Error occurred while tacking", e);
}
}
示例8
@Override
public void trackLogin(UserInfo user) {
try {
JSONObject properties = new JSONObject();
properties.put("username", user.getUsername());
JSONObject signUp = messageBuilder.event(user.getUsername(), "Login", properties);
ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(signUp);
JSONObject userJSONObject = mapToUserJSONObject(user);
userJSONObject.put("$last_login", new Date());
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(userJSONObject);
} catch (Exception e) {
LOGGER.error("Error occurred while tacking", e);
}
}
示例9
@Override
public void trackProductView(List<ProductInfo> products, UserInfo user) {
try {
JSONObject properties = new JSONObject();
properties.put("products", products.stream().map(productInfo -> productInfo.getName()).collect(Collectors.toList()));
JSONObject view = messageBuilder.event(user.getUsername(), "View", properties);
ClientDelivery delivery = new ClientDelivery();
delivery.addMessage(view);
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(mapToUserJSONObject(user));
} catch (Exception e) {
LOGGER.error("Error occurred while tacking", e);
}
}
示例10
@Override
public void trackPurchase(OrderInfo order) {
try {
ClientDelivery delivery = mapToPurchaseDelivery(order);
JSONObject user = mapToUserJSONObject(order.getUser());
MixpanelAPI mixpanel = new MixpanelAPI();
mixpanel.deliver(delivery);
mixpanel.sendMessage(user);
} catch (Exception e) {
LOGGER.error("Error occurred while tacking", e);
}
}
示例11
public TelemetryController() {
mixpanel = new MixpanelAPI();
messageBuilder = new MessageBuilder(MIXPANEL_TOKEN);
eventQueue = new ArrayDeque<>();
}