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<>();
}