Package com.my.tracker
Class MyTracker
- java.lang.Object
-
- com.my.tracker.MyTracker
-
public final class MyTracker extends java.lang.ObjectMain facade to access MyTracker API
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceMyTracker.AttributionListenerAttribution listener interface.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringVERSIONLibrary version
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidapplyPlugin(MyTrackerPluginConfig pluginConfig)This method could be used to apply additional plugin.static voidflush()Force sending all saved events to the server.static java.lang.StringgetInstanceId(android.content.Context context)Return current instance id of tracker.static MyTrackerConfiggetTrackerConfig()Return the instance ofMyTrackerConfig.static MyTrackerParamsgetTrackerParams()Return the instance ofMyTrackerParams.static java.lang.StringhandleDeeplink(android.content.Intent intent)The method for processing deeplink to application.static voidinitTracker(java.lang.String id, android.app.Application application)Perform initialization of tracker.static booleanisDebugMode()Return the attribute whether the tracker prints debug information.static voidonActivityResult(int resultCode, android.content.Intent data)The method is used for tracking purchases when autotracking purchases is enabled withMyTrackerConfig.setAutotrackingPurchaseEnabled(boolean).static voidonPurchasesUpdated(int responseCode, java.util.List<java.lang.Object> purchases)The method is used for tracking purchases when autotracking purchases is enabled withMyTrackerConfig.setAutotrackingPurchaseEnabled(boolean).static voidsetAttributionListener(MyTracker.AttributionListener attributionListener)Set the attribution listener.static voidsetAttributionListener(MyTracker.AttributionListener attributionListener, android.os.Handler handler)Set the attribution listener.static voidsetDebugMode(boolean debugMode)Enable or disable printing debug information.static voidtrackAdEvent(AdEvent adEvent)Track advertising event.static voidtrackEvent(java.lang.String name)Track user defined event with custom name.static voidtrackEvent(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> eventParams)Track user defined event with custom name and optional key-value parameters.static voidtrackInviteEvent()Track user invitation event.static voidtrackInviteEvent(java.util.Map<java.lang.String,java.lang.String> eventParams)Track user invitation event.static voidtrackLaunchManually(android.app.Activity activity)This method could be used in rare cases when tracker isn't able to correctly identify application start.static voidtrackLevelEvent()Track achieving new level.static voidtrackLevelEvent(int level, java.util.Map<java.lang.String,java.lang.String> eventParams)Track achieving new level.static voidtrackLevelEvent(java.util.Map<java.lang.String,java.lang.String> eventParams)Track achieving new level.static voidtrackLoginEvent(java.lang.String userId, java.lang.String vkConnectId)Track user login event.static voidtrackLoginEvent(java.lang.String userId, java.lang.String vkConnectId, java.util.Map<java.lang.String,java.lang.String> eventParams)Track user login event.static voidtrackMiniAppEvent(MiniAppEvent miniAppEvent)Track mini-app event.static voidtrackPurchaseEvent(org.json.JSONObject skuDetails, org.json.JSONObject purchaseData, java.lang.String dataSignature)Track purchase event.static voidtrackPurchaseEvent(org.json.JSONObject skuDetails, org.json.JSONObject purchaseData, java.lang.String dataSignature, java.util.Map<java.lang.String,java.lang.String> eventParams)Track purchase event.static voidtrackRegistrationEvent(java.lang.String userId, java.lang.String vkConnectId)Track user registration event.static voidtrackRegistrationEvent(java.lang.String userId, java.lang.String vkConnectId, java.util.Map<java.lang.String,java.lang.String> eventParams)Track user registration event.
-
-
-
Method Detail
-
isDebugMode
@AnyThread public static boolean isDebugMode()
Return the attribute whether the tracker prints debug information.
-
setDebugMode
@AnyThread public static void setDebugMode(boolean debugMode)
Enable or disable printing debug information.- Parameters:
debugMode- If true, the tracker prints debug information to LogCat.
-
setAttributionListener
@AnyThread public static void setAttributionListener(@Nullable MyTracker.AttributionListener attributionListener)Set the attribution listener.- Parameters:
attributionListener- The instance ofMyTracker.AttributionListeneror null.
-
setAttributionListener
@AnyThread public static void setAttributionListener(@Nullable MyTracker.AttributionListener attributionListener, @Nullable android.os.Handler handler)Set the attribution listener.- Parameters:
attributionListener- The instance ofMyTracker.AttributionListeneror null.handler- The instance ofHandlerwhich will be used for invocation listener.
-
getTrackerParams
@AnyThread @NonNull public static MyTrackerParams getTrackerParams()
Return the instance ofMyTrackerParams.
-
getTrackerConfig
@AnyThread @NonNull public static MyTrackerConfig getTrackerConfig()
Return the instance ofMyTrackerConfig.
-
initTracker
@AnyThread public static void initTracker(@NonNull java.lang.String id, @NonNull android.app.Application application)Perform initialization of tracker.NOTE: this method should be called right after setup tracker configuration.
NOTE: it's supposed that this method should be called in
Application.onCreate().- Parameters:
id- The identifier of your application.application- The instance of application.
-
flush
@AnyThread public static void flush()
Force sending all saved events to the server.
-
trackEvent
@AnyThread public static void trackEvent(@NonNull java.lang.String name, @Nullable java.util.Map<java.lang.String,java.lang.String> eventParams)Track user defined event with custom name and optional key-value parameters.- Parameters:
name- User defined event name. Max length is 255 symbols.eventParams- Additional event key-value parameters. Max length for key or value is 255 symbols.
-
trackEvent
@AnyThread public static void trackEvent(@NonNull java.lang.String name)Track user defined event with custom name.- Parameters:
name- User defined event name. Max length is 255 symbols.
-
trackLoginEvent
@AnyThread public static void trackLoginEvent(@NonNull java.lang.String userId, @Nullable java.lang.String vkConnectId, @Nullable java.util.Map<java.lang.String,java.lang.String> eventParams)Track user login event.NOTE: Call the method right after user successfully authorized in the app and got an unique identifier.
- Parameters:
userId- Unique user identifier.vkConnectId- VK Connect user identifier.eventParams- Additional event key-value parameters. Max length for key or value is 255 symbols.
-
trackLoginEvent
@AnyThread public static void trackLoginEvent(@NonNull java.lang.String userId, @Nullable java.lang.String vkConnectId)Track user login event.NOTE: Call the method right after user successfully authorized in the app and got an unique identifier.
- Parameters:
userId- Unique user identifier.vkConnectId- VK Connect user identifier.
-
trackRegistrationEvent
@AnyThread public static void trackRegistrationEvent(@NonNull java.lang.String userId, @Nullable java.lang.String vkConnectId, @Nullable java.util.Map<java.lang.String,java.lang.String> eventParams)Track user registration event.NOTE: Call the method right after user successfully registered in the app and got an unique identifier.
- Parameters:
userId- Unique user identifier.eventParams- Additional event key-value parameters. Max length for key or value is 255 symbols.
-
trackRegistrationEvent
@AnyThread public static void trackRegistrationEvent(@NonNull java.lang.String userId, @Nullable java.lang.String vkConnectId)Track user registration event.NOTE: Call the method right after user successfully registered in the app and got an unique identifier.
- Parameters:
userId- Unique user identifier.
-
trackInviteEvent
@AnyThread public static void trackInviteEvent(@Nullable java.util.Map<java.lang.String,java.lang.String> eventParams)Track user invitation event. Call this method if the current user was invited by other user.- Parameters:
eventParams- Additional event key-value parameters. Max length for key or value is 255 symbols.
-
trackInviteEvent
@AnyThread public static void trackInviteEvent()
Track user invitation event. Call this method if the current user was invited by other user.
-
trackLevelEvent
@AnyThread public static void trackLevelEvent(@Nullable java.util.Map<java.lang.String,java.lang.String> eventParams)Track achieving new level. Call this method when user has achieved new level.- Parameters:
eventParams- Additional event key-value parameters. Max length for key or value is 255 symbols.
-
trackLevelEvent
@AnyThread public static void trackLevelEvent()
Track achieving new level. Call this method when user has achieved new level.
-
trackLevelEvent
@AnyThread public static void trackLevelEvent(int level, @Nullable java.util.Map<java.lang.String,java.lang.String> eventParams)Track achieving new level. Call this method when user has achieved new level.- Parameters:
level- The level that has been achieved.eventParams- Additional event key-value parameters. Max length for key or value is 255 symbols.
-
trackAdEvent
@AnyThread public static void trackAdEvent(@NonNull AdEvent adEvent)Track advertising event. Call this method when an advertising event has occurred.- Parameters:
adEvent- Instance ofAdEvent
-
trackMiniAppEvent
@AnyThread public static void trackMiniAppEvent(@NonNull MiniAppEvent miniAppEvent)Track mini-app event. Call this method when an event in mini-app has occurred.- Parameters:
miniAppEvent- Instance ofMiniAppEvent
-
trackPurchaseEvent
@AnyThread public static void trackPurchaseEvent(@NonNull org.json.JSONObject skuDetails, @NonNull org.json.JSONObject purchaseData, @NonNull java.lang.String dataSignature, @Nullable java.util.Map<java.lang.String,java.lang.String> eventParams)Track purchase event. The method could be used if application contains the logic for processing in-app purchases.- Parameters:
skuDetails- The result of getSkuDetails.purchaseData- The field INAPP_PURCHASE_DATA of getBuyIntent.dataSignature- The field INAPP_DATA_SIGNATURE of getBuyIntent.eventParams- Additional event key-value parameters. Max length for key or value is 255 symbols.
-
trackPurchaseEvent
@AnyThread public static void trackPurchaseEvent(@NonNull org.json.JSONObject skuDetails, @NonNull org.json.JSONObject purchaseData, @NonNull java.lang.String dataSignature)Track purchase event. The method could be used if application contains the logic for processing in-app purchases.- Parameters:
skuDetails- The result of getSkuDetails.purchaseData- The field INAPP_PURCHASE_DATA of getBuyIntent.dataSignature- The field INAPP_DATA_SIGNATURE of getBuyIntent.
-
trackLaunchManually
@AnyThread public static void trackLaunchManually(@NonNull android.app.Activity activity)This method could be used in rare cases when tracker isn't able to correctly identify application start.- Parameters:
activity- The start activity.
-
onActivityResult
@AnyThread public static void onActivityResult(int resultCode, @Nullable android.content.Intent data)The method is used for tracking purchases when autotracking purchases is enabled withMyTrackerConfig.setAutotrackingPurchaseEnabled(boolean). This method should be called inActivity.onActivityResult(int, int, Intent).- Parameters:
resultCode- The resultCode fromActivity.onActivityResult(int, int, Intent).data- The data fromActivity.onActivityResult(int, int, Intent).
-
onPurchasesUpdated
@AnyThread public static void onPurchasesUpdated(int responseCode, @Nullable java.util.List<java.lang.Object> purchases)The method is used for tracking purchases when autotracking purchases is enabled withMyTrackerConfig.setAutotrackingPurchaseEnabled(boolean). This method should be called inPurchasesUpdatedListener.onPurchasesUpdated(BillingResult, List).- Parameters:
responseCode- The value ofBillingResult.getResponseCode().purchases- List of purchases received onPurchasesUpdatedListener.onPurchasesUpdated(BillingResult, List).
-
handleDeeplink
@AnyThread @Nullable public static java.lang.String handleDeeplink(@Nullable android.content.Intent intent)The method for processing deeplink to application. You could call the method inActivity.onNewIntent(Intent)or inActivity.startActivity(Intent).- Parameters:
intent- The intent with deeplink.- Returns:
- The deeplink string or null if it hasn't been found.
-
applyPlugin
@AnyThread public static void applyPlugin(@NonNull MyTrackerPluginConfig pluginConfig)This method could be used to apply additional plugin.NOTE: it's mandatory to call this method before
initTracker(String, Application)call.- Parameters:
pluginConfig- The instance of plugin configuration.
-
getInstanceId
@WorkerThread @NonNull public static java.lang.String getInstanceId(@NonNull android.content.Context context)Return current instance id of tracker.- Parameters:
context- Instance of classContext.- Returns:
- Tracker's instance id.
-
-