public class Blueshift
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Blueshift.DeviceIdSource |
| Modifier and Type | Method and Description |
|---|---|
void |
displayInAppMessages() |
void |
fetchInAppMessages(InAppApiCallback callback) |
static BlueshiftInAppListener |
getBlueshiftInAppListener() |
static BlueshiftPushListener |
getBlueshiftPushListener() |
Configuration |
getConfiguration()
Method to get the current configuration
|
org.json.JSONObject |
getInAppMessageAPIRequestPayload(android.content.Context context) |
static Blueshift |
getInstance(android.content.Context context)
This method return the only object of the class Blueshift
|
void |
getLiveContentByCustomerId(java.lang.String slot,
java.util.HashMap<java.lang.String,java.lang.Object> liveContentContext,
LiveContentCallback callback) |
void |
getLiveContentByCustomerId(java.lang.String slot,
LiveContentCallback callback) |
void |
getLiveContentByDeviceId(java.lang.String slot,
java.util.HashMap<java.lang.String,java.lang.Object> liveContentContext,
LiveContentCallback callback) |
void |
getLiveContentByDeviceId(java.lang.String slot,
LiveContentCallback callback) |
void |
getLiveContentByEmail(java.lang.String slot,
java.util.HashMap<java.lang.String,java.lang.Object> liveContentContext,
LiveContentCallback callback) |
void |
getLiveContentByEmail(java.lang.String slot,
LiveContentCallback callback) |
void |
handleInAppMessageAPIResponse(android.content.Context context,
java.lang.String response) |
static boolean |
hasPermission(android.content.Context context,
java.lang.String permission) |
void |
identifyUser(java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
This method fires an identify event that fills in customer identifiers from user info and device info
|
void |
identifyUserByCustomerId(java.lang.String customerId,
java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
Helps trigger identify user api call using key 'retailer_customer_id'.
|
void |
identifyUserByDeviceId(java.lang.String androidAdId,
java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
Helps trigger identify user api call using key 'device_identifier'.
|
void |
identifyUserByEmail(java.lang.String email,
java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
Helps trigger identify user api call using key 'email'.
|
void |
initialize(Configuration configuration)
This method initializes the sdk with the configuration set by user
|
static boolean |
isTrackingEnabled(android.content.Context context) |
static void |
optInForInAppNotifications(android.content.Context context,
boolean isOptedIn)
Utility method to set in-app opt-in status.
|
static void |
optInForPushNotifications(android.content.Context context,
boolean isOptedIn)
Utility method to set push opt-in status.
|
void |
registerForInAppMessages(android.app.Activity activity) |
void |
registerForInAppMessages(android.app.Activity activity,
java.lang.String screenName) |
void |
resetDeviceId()
Reset uuid which is being sent as device_id for this app
|
static void |
setBlueshiftInAppListener(BlueshiftInAppListener inAppListener) |
static void |
setBlueshiftPushListener(BlueshiftPushListener pushListener) |
void |
setInAppActionCallback(InAppActionCallback callback) |
static void |
setTrackingEnabled(android.content.Context context,
boolean isEnabled)
Enable/disable the event tracking done by the SDK.
|
static void |
setTrackingEnabled(android.content.Context context,
boolean isEnabled,
boolean shouldRemoveEvents)
Enable/disable the event tracking done by the SDK.
|
void |
trackAddToCart(java.lang.String sku,
int quantity,
boolean canBatchThisEvent) |
void |
trackAddToCart(java.lang.String sku,
int quantity,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackAlertDismiss(Message message,
boolean canBatchThisEvent) |
void |
trackAlertDismiss(java.lang.String notificationId,
boolean canBatchThisEvent) |
void |
trackAlertDismiss(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackAppInstall(java.lang.String referrer,
boolean canBatchThisEvent)
Method to track the campaign measurement
|
void |
trackAppOpen(boolean canBatchThisEvent) |
void |
trackAppOpen(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackCheckoutCart(Product[] products,
float revenue,
float discount,
java.lang.String coupon,
boolean canBatchThisEvent) |
void |
trackCheckoutCart(Product[] products,
float revenue,
float discount,
java.lang.String coupon,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackEmailListSubscription(java.lang.String email,
boolean canBatchThisEvent) |
void |
trackEmailListSubscription(java.lang.String email,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackEmailListUnsubscription(java.lang.String email,
boolean canBatchThisEvent) |
void |
trackEmailListUnsubscription(java.lang.String email,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackEvent(java.lang.String eventName,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
Method to send generic events
|
void |
trackInAppMessageClick(InAppMessage inAppMessage,
org.json.JSONObject extraJson) |
void |
trackInAppMessageDelivered(InAppMessage inAppMessage) |
void |
trackInAppMessageView(InAppMessage inAppMessage) |
void |
trackNotificationClick(Message message) |
void |
trackNotificationClick(Message message,
java.util.HashMap<java.lang.String,java.lang.Object> extras) |
void |
trackNotificationClick(java.lang.String notificationId) |
void |
trackNotificationClick(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params) |
void |
trackNotificationPageOpen(Message message,
boolean canBatchThisEvent) |
void |
trackNotificationPageOpen(java.lang.String notificationId,
boolean canBatchThisEvent) |
void |
trackNotificationPageOpen(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackNotificationView(Message message) |
void |
trackNotificationView(java.lang.String notificationId) |
void |
trackNotificationView(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params) |
void |
trackProductSearch(java.lang.String[] skus,
int numberOfResults,
int pageNumber,
java.lang.String query,
boolean canBatchThisEvent) |
void |
trackProductSearch(java.lang.String[] skus,
int numberOfResults,
int pageNumber,
java.lang.String query,
java.util.HashMap<java.lang.String,java.lang.Object> filters,
boolean canBatchThisEvent) |
void |
trackProductSearch(java.lang.String[] skus,
int numberOfResults,
int pageNumber,
java.lang.String query,
java.util.HashMap<java.lang.String,java.lang.Object> filters,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackProductsPurchase(java.lang.String orderId,
Product[] products,
float revenue,
float shippingCost,
float discount,
java.lang.String coupon,
boolean canBatchThisEvent) |
void |
trackProductsPurchase(java.lang.String orderId,
Product[] products,
float revenue,
float shippingCost,
float discount,
java.lang.String coupon,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackProductView(java.lang.String sku,
boolean canBatchThisEvent) |
void |
trackProductView(java.lang.String sku,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackProductView(java.lang.String sku,
int categoryId,
boolean canBatchThisEvent) |
void |
trackProductView(java.lang.String sku,
int categoryId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackPurchaseCancel(java.lang.String orderId,
boolean canBatchThisEvent) |
void |
trackPurchaseCancel(java.lang.String orderId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackPurchaseReturn(java.lang.String orderId,
Product[] products,
boolean canBatchThisEvent) |
void |
trackPurchaseReturn(java.lang.String orderId,
Product[] products,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackScreenView(android.app.Activity activity,
boolean canBatchThisEvent) |
void |
trackScreenView(java.lang.String screenName,
boolean canBatchThisEvent) |
void |
trackSubscriptionCancel(boolean canBatchThisEvent) |
void |
trackSubscriptionCancel(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackSubscriptionInitialization(SubscriptionState subscriptionState,
java.lang.String cycleType,
int cycleLength,
java.lang.String subscriptionType,
float price,
long startDate,
boolean canBatchThisEvent) |
void |
trackSubscriptionInitialization(SubscriptionState subscriptionState,
java.lang.String cycleType,
int cycleLength,
java.lang.String subscriptionType,
float price,
long startDate,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackSubscriptionPause(boolean canBatchThisEvent) |
void |
trackSubscriptionPause(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
trackSubscriptionUnpause(boolean canBatchThisEvent) |
void |
trackSubscriptionUnpause(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent) |
void |
unregisterForInAppMessages(android.app.Activity activity) |
static void |
updateDeviceToken(java.lang.String deviceToken)
Updates the sDeviceParams with new device token
|
public static Blueshift getInstance(android.content.Context context)
context - valid context objectpublic static void setTrackingEnabled(android.content.Context context,
boolean isEnabled)
When disabled, no new events will be added to the queue. Also, any unsent events (batched and realtime) will be deleted from the SDK's database immediately.
context - valid context objectisEnabled - the value that decides if the SDK should be enabled (true) or disabled (false)public static void setTrackingEnabled(android.content.Context context,
boolean isEnabled,
boolean shouldRemoveEvents)
context - valid context objectisEnabled - the value that decides if the SDK should be enabled (true) or disabled (false).shouldRemoveEvents - the value that decided if the SDK should remove unsent events from it's database.public static boolean isTrackingEnabled(android.content.Context context)
public static void optInForInAppNotifications(android.content.Context context,
boolean isOptedIn)
context - Valid Context objectisOptedIn - The opt-in status as booleanpublic static void optInForPushNotifications(android.content.Context context,
boolean isOptedIn)
context - Valid Context objectisOptedIn - The opt-in status as booleanpublic static BlueshiftPushListener getBlueshiftPushListener()
public static BlueshiftInAppListener getBlueshiftInAppListener()
public static void setBlueshiftPushListener(BlueshiftPushListener pushListener)
public static void setBlueshiftInAppListener(BlueshiftInAppListener inAppListener)
public void registerForInAppMessages(android.app.Activity activity)
public void registerForInAppMessages(android.app.Activity activity,
java.lang.String screenName)
public void unregisterForInAppMessages(android.app.Activity activity)
public void fetchInAppMessages(InAppApiCallback callback)
public void displayInAppMessages()
public void setInAppActionCallback(InAppActionCallback callback)
public void handleInAppMessageAPIResponse(android.content.Context context,
java.lang.String response)
public org.json.JSONObject getInAppMessageAPIRequestPayload(android.content.Context context)
public void resetDeviceId()
public static void updateDeviceToken(java.lang.String deviceToken)
deviceToken - device token for sending push messagepublic static boolean hasPermission(android.content.Context context,
java.lang.String permission)
public void getLiveContentByEmail(java.lang.String slot,
LiveContentCallback callback)
public void getLiveContentByDeviceId(java.lang.String slot,
LiveContentCallback callback)
public void getLiveContentByCustomerId(java.lang.String slot,
LiveContentCallback callback)
public void getLiveContentByEmail(java.lang.String slot,
java.util.HashMap<java.lang.String,java.lang.Object> liveContentContext,
LiveContentCallback callback)
public void getLiveContentByDeviceId(java.lang.String slot,
java.util.HashMap<java.lang.String,java.lang.Object> liveContentContext,
LiveContentCallback callback)
public void getLiveContentByCustomerId(java.lang.String slot,
java.util.HashMap<java.lang.String,java.lang.Object> liveContentContext,
LiveContentCallback callback)
public void initialize(Configuration configuration)
configuration - this object contains all the mandatory parameters like api key, deep-link pages etc.public Configuration getConfiguration()
public void trackEvent(java.lang.String eventName,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
eventName - name of the eventparams - hash map with valid parameterscanBatchThisEvent - flag to indicate if this event can be sent in bulk event APIpublic void trackAppInstall(java.lang.String referrer,
boolean canBatchThisEvent)
referrer - the referrer url sent by playstore appcanBatchThisEvent - flag to indicate if this event can be sent in bulk event APIpublic void identifyUser(java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
details - optional additional parameterscanBatchThisEvent - flag to indicate if this event can be sent in bulk event APIpublic void identifyUserByCustomerId(java.lang.String customerId,
java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
customerId - if provided, replaces existing one (taken from UserInfo) inside request params.details - optional additional parameterscanBatchThisEvent - flag to indicate if this event can be sent in bulk event APIpublic void identifyUserByDeviceId(java.lang.String androidAdId,
java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
androidAdId - android ad id provided by host/customer app.details - optional additional parameterscanBatchThisEvent - flag to indicate if this event can be sent in bulk event APIpublic void identifyUserByEmail(java.lang.String email,
java.util.HashMap<java.lang.String,java.lang.Object> details,
boolean canBatchThisEvent)
email - registered email address provided by host/customer appdetails - optional additional parameterscanBatchThisEvent - flag to indicate if this event can be sent in bulk event APIpublic void trackScreenView(android.app.Activity activity,
boolean canBatchThisEvent)
public void trackScreenView(java.lang.String screenName,
boolean canBatchThisEvent)
public void trackAppOpen(boolean canBatchThisEvent)
public void trackAppOpen(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackProductView(java.lang.String sku,
boolean canBatchThisEvent)
public void trackProductView(java.lang.String sku,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackProductView(java.lang.String sku,
int categoryId,
boolean canBatchThisEvent)
public void trackProductView(java.lang.String sku,
int categoryId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackAddToCart(java.lang.String sku,
int quantity,
boolean canBatchThisEvent)
public void trackAddToCart(java.lang.String sku,
int quantity,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackCheckoutCart(Product[] products, float revenue, float discount, java.lang.String coupon, boolean canBatchThisEvent)
public void trackCheckoutCart(Product[] products, float revenue, float discount, java.lang.String coupon, java.util.HashMap<java.lang.String,java.lang.Object> params, boolean canBatchThisEvent)
public void trackProductsPurchase(java.lang.String orderId,
Product[] products,
float revenue,
float shippingCost,
float discount,
java.lang.String coupon,
boolean canBatchThisEvent)
public void trackProductsPurchase(java.lang.String orderId,
Product[] products,
float revenue,
float shippingCost,
float discount,
java.lang.String coupon,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackPurchaseCancel(java.lang.String orderId,
boolean canBatchThisEvent)
public void trackPurchaseCancel(java.lang.String orderId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackPurchaseReturn(java.lang.String orderId,
Product[] products,
boolean canBatchThisEvent)
public void trackPurchaseReturn(java.lang.String orderId,
Product[] products,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackProductSearch(java.lang.String[] skus,
int numberOfResults,
int pageNumber,
java.lang.String query,
boolean canBatchThisEvent)
public void trackProductSearch(java.lang.String[] skus,
int numberOfResults,
int pageNumber,
java.lang.String query,
java.util.HashMap<java.lang.String,java.lang.Object> filters,
boolean canBatchThisEvent)
public void trackProductSearch(java.lang.String[] skus,
int numberOfResults,
int pageNumber,
java.lang.String query,
java.util.HashMap<java.lang.String,java.lang.Object> filters,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackEmailListSubscription(java.lang.String email,
boolean canBatchThisEvent)
public void trackEmailListSubscription(java.lang.String email,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackEmailListUnsubscription(java.lang.String email,
boolean canBatchThisEvent)
public void trackEmailListUnsubscription(java.lang.String email,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackSubscriptionInitialization(SubscriptionState subscriptionState, java.lang.String cycleType, int cycleLength, java.lang.String subscriptionType, float price, long startDate, boolean canBatchThisEvent)
public void trackSubscriptionInitialization(SubscriptionState subscriptionState, java.lang.String cycleType, int cycleLength, java.lang.String subscriptionType, float price, long startDate, java.util.HashMap<java.lang.String,java.lang.Object> params, boolean canBatchThisEvent)
public void trackSubscriptionPause(boolean canBatchThisEvent)
public void trackSubscriptionPause(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackSubscriptionUnpause(boolean canBatchThisEvent)
public void trackSubscriptionUnpause(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackSubscriptionCancel(boolean canBatchThisEvent)
public void trackSubscriptionCancel(java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackNotificationView(Message message)
public void trackNotificationView(java.lang.String notificationId)
public void trackNotificationView(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params)
public void trackNotificationClick(Message message, java.util.HashMap<java.lang.String,java.lang.Object> extras)
public void trackNotificationClick(Message message)
public void trackNotificationClick(java.lang.String notificationId)
public void trackNotificationClick(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params)
public void trackNotificationPageOpen(Message message, boolean canBatchThisEvent)
public void trackNotificationPageOpen(java.lang.String notificationId,
boolean canBatchThisEvent)
public void trackNotificationPageOpen(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackAlertDismiss(Message message, boolean canBatchThisEvent)
public void trackAlertDismiss(java.lang.String notificationId,
boolean canBatchThisEvent)
public void trackAlertDismiss(java.lang.String notificationId,
java.util.HashMap<java.lang.String,java.lang.Object> params,
boolean canBatchThisEvent)
public void trackInAppMessageDelivered(InAppMessage inAppMessage)
public void trackInAppMessageView(InAppMessage inAppMessage)
public void trackInAppMessageClick(InAppMessage inAppMessage, org.json.JSONObject extraJson)