Package com.swrve.sdk
Class SwrveBase<T,C extends SwrveConfigBase>
java.lang.Object
com.swrve.sdk.SwrveBase<T,C>
- All Implemented Interfaces:
android.app.Application.ActivityLifecycleCallbacks
,ISwrveBase<T,
,C> ISwrveCampaignManager
- Direct Known Subclasses:
Swrve
public abstract class SwrveBase<T,C extends SwrveConfigBase>
extends Object
implements ISwrveBase<T,C>
Main base class implementation of the Swrve SDK.
-
Field Summary
Modifier and TypeFieldDescriptionprotected WeakReference<android.app.Activity>
protected float
protected float
protected String
protected String
protected int
protected WeakReference<android.app.Application>
protected android.util.SparseArray<String>
protected String
protected ExecutorService
protected boolean
static final String
static final String
static final String
static final String
static final String
static final String
protected static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected static final int
protected static final String
protected SwrveCampaignDisplayer
protected com.swrve.sdk.SwrveCampaignInfluence
protected List<SwrveBaseCampaign>
protected Integer
protected ScheduledThreadPoolExecutor
protected Integer
protected Integer
protected boolean
protected String
protected Date
protected Map<Integer,
SwrveCampaignState> protected C
protected WeakReference<android.content.Context>
static final int
protected static int
protected static int
protected static int
protected static long
protected static int
static final String
static final String
protected float
protected int
protected int
protected ExecutorService
protected static final int
protected SwrveEmbeddedListener
protected SwrveEmbeddedMessageListener
protected static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected ISwrveEventListener
protected boolean
protected String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected boolean
protected ExecutorService
protected Integer
protected static final String
protected static final int
protected boolean
protected Date
protected String
protected long
protected ExecutorService
protected SwrveMultiLayerLocalStorage
protected long
protected String
static final String
static final String
static final String
static final String
static final String
protected List<com.swrve.sdk.EventQueueItem>
protected SwrveMessagePersonalizationProvider
protected static final String
protected com.swrve.sdk.SwrveProfileManager
protected static final String
protected SwrveResourceManager
protected SwrveResourcesListener
protected com.swrve.sdk.rest.IRESTClient
protected ExecutorService
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected com.swrve.sdk.SwrveSessionListener
protected static final int
protected String
protected String
protected String
protected boolean
protected ExecutorService
static final String
static final String
static final String
static final String
static final String
static final String
protected static final String
static final String
static final String
protected static final int
protected static final int
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected com.swrve.sdk.SwrveAssetsManager
protected com.swrve.sdk.SwrveDeeplinkManager
protected static final String
protected static final String
protected static String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
_currencyGiven
(String givenCurrency, double givenAmount) protected void
protected void
protected void
protected String
protected String
_getAppStoreURLForApp
(int appId) protected SwrveBaseMessage
_getBaseMessageForEvent
(String event, Map<String, String> payload, com.swrve.sdk.messaging.SwrveOrientation orientation) protected File
protected C
protected SwrveConversation
_getConversationForEvent
(String event, Map<String, String> payload) protected org.json.JSONObject
protected SwrveEmbeddedMessage
_getEmbeddedMessageForId
(int messageId) protected Date
protected String
protected String
protected SwrveMessage
_getMessageForId
(int messageId) protected String
_getPersonalizedText
(String text, Map<String, String> personalizationProperties) protected void
protected SwrveResourceManager
protected void
_getUserResources
(SwrveUserResourcesListener listener) protected void
protected static String
protected void
protected void
_iap
(int quantity, String productId, double productPrice, String currency, SwrveIAPRewards rewards) protected void
_iap
(int quantity, String productId, double productPrice, String currency, SwrveIAPRewards rewards, String receipt, String receiptSignature, String paymentProvider) protected boolean
_iap_check_parameters
(int quantity, String productId, double productPrice, String currency, String paymentProvider) protected void
_identify
(String externalUserId, SwrveIdentityResponse identityResponse, boolean checkCache) protected void
_onPause()
protected void
_onResume
(android.app.Activity activity) protected void
_onStop
(android.app.Activity activity) protected void
protected void
protected void
_sendQueuedEvents
(String userId, String sessionToken, boolean updateSentFlag) protected void
protected void
_setLanguage
(Locale locale) protected void
_setResourcesListener
(SwrveResourcesListener resourcesListener) protected void
protected void
protected void
_userUpdate
(String name, Date date) protected void
_userUpdate
(Map<String, String> attributes) protected void
autoShowConversation
(SwrveBase<T, C> swrve) protected void
autoShowMessage
(SwrveBase<T, C> swrve) protected void
protected abstract void
beforeSendDeviceInfo
(android.content.Context context) protected void
bindToActivity
(android.app.Activity activity) protected void
buildDeviceInfo
(android.content.Context context) protected void
checkAssetDownloadLimits
(Set<com.swrve.sdk.SwrveAssetsQueueItem> assetsQueue) protected void
protected void
protected boolean
checkPermissionGranted
(android.content.Context context, String permission) protected void
void
currencyGiven
(String givenCurrency, double givenAmount) protected void
deviceUpdate
(String userId, org.json.JSONObject attributes) protected void
protected void
displaySwrveMessage
(SwrveMessage message, Map<String, String> properties) void
void
embeddedMessageButtonWasPressed
(SwrveEmbeddedMessage message, String buttonName) void
protected void
void
void
protected abstract void
extraDeviceInfo
(org.json.JSONObject deviceInfo) void
fetchNotificationCampaigns
(Set<Long> campaignIds) protected void
filterExcessiveAssetDownloads
(Set<com.swrve.sdk.SwrveAssetsQueueItem> assetsQueue) protected boolean
filterRedundantCampaign
(SwrveMessage message) protected boolean
void
protected void
protected android.app.Activity
int
getAppId()
getAppStoreURLForApp
(int appId) protected SwrveBaseMessage
getBaseMessageForEvent
(String event) protected SwrveBaseMessage
getBaseMessageForEvent
(String event, Map<String, String> payload) protected SwrveBaseMessage
getBaseMessageForEvent
(String event, Map<String, String> payload, com.swrve.sdk.messaging.SwrveOrientation orientation) getCachedData
(String userId, String key) getCacheDir
(android.content.Context context) getContentRequestParams
(String userId) protected android.content.Context
protected SwrveConversation
getConversationForEvent
(String event, Map<String, String> payload) android.app.NotificationChannel
org.json.JSONObject
protected String
protected com.swrve.sdk.messaging.SwrveOrientation
getEmbeddedMessageForId
(int messageId) int
int
protected Date
getIdentifyDateForUser
(String userId) protected int
getMessageCenterCampaign
(int campaignId, Map<String, String> properties) getMessageCenterCampaigns
(com.swrve.sdk.messaging.SwrveOrientation orientation) getMessageCenterCampaigns
(com.swrve.sdk.messaging.SwrveOrientation orientation, Map<String, String> properties) getMessageCenterCampaigns
(Map<String, String> properties) getMessageForId
(int messageId) int
com.swrve.sdk.SwrveNotificationConfig
com.swrve.sdk.SwrvePushNotificationListener
getNow()
protected int
getPermissionAnsweredTime
(String permission) getPersonalizedEmbeddedMessageData
(SwrveEmbeddedMessage message, Map<String, String> personalizationProperties) getPersonalizedText
(String text, Map<String, String> personalizationProperties) protected abstract String
getPlatformOS
(android.content.Context context) void
protected long
com.swrve.sdk.SwrveSilentPushListener
com.swrve.sdk.SwrveSSLSocketFactoryConfig
Implementation of ISwrveCommon methodsprotected SwrveBackgroundEventSender
getSwrveBackgroundEventSender
(android.content.Context context) com.swrve.sdk.SwrveDeeplinkListener
protected com.swrve.sdk.SwrveEventsManager
getSwrveEventsManager
(String userId, String deviceId, String sessionToken) protected ITelephonyManager
getTelephonyManager
(android.content.Context context) getUniqueKey
(String arg0) getUniqueKey
(String userId) void
getUserResources
(SwrveUserResourcesListener listener) void
static String
void
handleDeeplink
(android.os.Bundle bundle) void
handleDeferredDeeplink
(android.os.Bundle bundle) void
void
iap
(int quantity, String productId, double productPrice, String currency, SwrveIAPRewards rewards) void
identify
(String externalUserId, SwrveIdentityResponse identityResponse) protected void
init
(android.app.Activity activity) protected void
initABTestDetails
(String userId) protected void
initCampaigns
(String userId) protected void
initRealTimeUserProperties
(String userId) protected void
initResources
(String userId) protected void
protected void
invalidSignatureError
(String userId, String content) protected void
protected boolean
protected boolean
isSplashActivity
(android.app.Activity activity) boolean
boolean
protected boolean
lifecycleExecutorExecute
(Runnable runnable) protected SwrveInAppCampaign
loadCampaignFromJSON
(org.json.JSONObject campaignData, Set<com.swrve.sdk.SwrveAssetsQueueItem> assetsQueue, Map<String, String> properties) protected void
protected void
loadCampaignsFromCache
(String userId) protected void
loadCampaignsFromJSON
(String userId, org.json.JSONObject json, Map<Integer, SwrveCampaignState> states, boolean loadPreviousCampaignState) protected SwrveConversationCampaign
loadConversationCampaignFromJSON
(org.json.JSONObject campaignData, Set<com.swrve.sdk.SwrveAssetsQueueItem> assetsQueue) protected SwrveEmbeddedCampaign
loadEmbeddedCampaignFromJSON
(org.json.JSONObject campaignData) void
protected void
messageWasShownToUser
(SwrveMessageFormat messageFormat) void
onActivityCreated
(android.app.Activity activity, android.os.Bundle savedInstanceState) void
onActivityDestroyed
(android.app.Activity activity) void
onActivityPaused
(android.app.Activity activity) void
onActivityResumed
(android.app.Activity activity) void
onActivitySaveInstanceState
(android.app.Activity activity, android.os.Bundle outState) void
onActivityStarted
(android.app.Activity activity) void
onActivityStopped
(android.app.Activity activity) protected void
onCreate
(android.app.Activity activity) protected void
onPause()
protected void
onResume
(android.app.Activity ctx) protected void
onStop
(android.app.Activity activity) protected void
protected void
protected void
processUserResourcesDiffData
(String resourcesAsJSON, SwrveUserResourcesDiffListener listener) void
void
queueConversationEvent
(String eventParamName, String eventPayloadName, String page, int conversationId, Map<String, String> payload) protected void
queueDeviceUpdateNow
(String userId, String sessionToken, boolean sendNow) protected boolean
queueEvent
(String userId, String eventType, Map<String, Object> parameters, Map<String, String> payload, boolean triggerEventListener) protected void
protected void
queueMessageClickEvent
(SwrveButton button, long pageId, String pageName) protected void
queueMessageImpressionEvent
(int messageId, String embedded) protected void
void
protected void
protected void
void
removeMessageCenterCampaign
(SwrveBaseCampaign campaign) protected void
requestPermissions
(android.app.Activity activity, String[] permissions) protected int
protected boolean
restClientExecutorExecute
(Runnable runnable) protected void
saveCampaignsInCache
(org.json.JSONObject campaignContent) protected void
saveCampaignsState
(String userId) void
protected void
saveIdentifyDate
(Date date, String userId) void
saveNotificationAuthenticated
(int notificationId) protected void
saveRealTimeUserPropertiesInCache
(org.json.JSONObject userPropertiesContent) protected void
saveResourcesInCache
(org.json.JSONArray resourcesContent) void
sendEventsInBackground
(android.content.Context context, String userId, ArrayList<String> events) void
protected void
sendSessionStart
(long time) void
Public functions all wrapped in try/catch to avoid exceptions leaving the SDK and affecting the app itself.void
setCustomPayloadForConversationInput
(Map payload) void
setLanguage
(Locale locale) void
setNotificationSwrveCampaignId
(String swrveCampaignId) void
setResourcesListener
(SwrveResourcesListener resourcesListener) void
setSessionListener
(com.swrve.sdk.SwrveSessionListener sessionListener) protected boolean
protected boolean
shouldShowRequestPermissionRationale
(android.app.Activity activity, String permission) boolean
showMessageCenterCampaign
(SwrveBaseCampaign campaign) boolean
showMessageCenterCampaign
(SwrveBaseCampaign campaign, Map<String, String> properties) void
shutdown()
protected void
void
start
(android.app.Activity activity) void
protected void
startCampaignsAndResourcesTimer
(boolean sessionStart) void
protected boolean
storageExecutorExecute
(Runnable runnable) protected void
switchUser
(String newUserId) protected void
protected void
updateQaUser
(String qaUserJson) void
userUpdate
(String name, Date date) void
userUpdate
(Map<String, String> attributes) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface android.app.Application.ActivityLifecycleCallbacks
onActivityPostCreated, onActivityPostDestroyed, onActivityPostPaused, onActivityPostResumed, onActivityPostSaveInstanceState, onActivityPostStarted, onActivityPostStopped, onActivityPreCreated, onActivityPreDestroyed, onActivityPrePaused, onActivityPreResumed, onActivityPreSaveInstanceState, onActivityPreStarted, onActivityPreStopped
-
Field Details
-
SDK_PREFS_NAME
- See Also:
-
SDK_PREFS_KEY_USER_ID
- See Also:
-
SDK_PREFS_KEY_TRACKING_STATE
- See Also:
-
SDK_PREFS_KEY_FLUSH_FREQ
- See Also:
-
SDK_PREFS_KEY_FLUSH_DELAY
- See Also:
-
SDK_PREFS_KEY_ADL
- See Also:
-
SDK_PREFS_REFERRER_ID
- See Also:
-
SDK_PREFS_KEY_ID_REFRESH_PERIOD
- See Also:
-
CACHE_DEVICE_ID
- See Also:
-
CACHE_CAMPAIGNS
- See Also:
-
CACHE_RESOURCES
- See Also:
-
CACHE_REALTIME_USER_PROPERTIES
- See Also:
-
CACHE_RESOURCES_DIFF
- See Also:
-
CACHE_AD_CAMPAIGNS_DEBUG
- See Also:
-
CACHE_NOTIFICATION_CAMPAIGNS_DEBUG
- See Also:
-
CACHE_USER_JOINED_TIME
- See Also:
-
CACHE_USER_IDENTIFY_DATE
- See Also:
-
CACHE_CAMPAIGNS_STATE
- See Also:
-
CACHE_SEQNUM
- See Also:
-
CACHE_QA
- See Also:
-
CACHE_ETAG
- See Also:
-
CACHE_PERMISSION_ANSWERED_TIMES_PREFIX
- See Also:
-
CACHE_PERMISSION_RATIONALE_WAS_TRUE_PREFIX
- See Also:
-
CACHE_PERMISSION_CURRENT_PREFIX
- See Also:
-
CACHE_DEVICE_PROP_KEY
- See Also:
-
SWRVE_DEVICE_NAME
- See Also:
-
SWRVE_OS
- See Also:
-
SWRVE_OS_VERSION
- See Also:
-
SWRVE_OS_INT_VERSION
- See Also:
-
SWRVE_APP_TARGET_VERSION
- See Also:
-
SWRVE_DEVICE_WIDTH
- See Also:
-
SWRVE_DEVICE_HEIGHT
- See Also:
-
SWRVE_DEVICE_DPI
- See Also:
-
SWRVE_CONVERSATION_VERSION
- See Also:
-
SWRVE_ANDROID_DEVICE_XDPI
- See Also:
-
SWRVE_ANDROID_DEVICE_YDPI
- See Also:
-
SWRVE_LANGUAGE
- See Also:
-
SWRVE_UTC_OFFSET_SECONDS
- See Also:
-
SWRVE_TIMEZONE_NAME
- See Also:
-
SWRVE_SDK_VERSION
- See Also:
-
SWRVE_SDK_FLAVOUR
- See Also:
-
SWRVE_APP_STORE
- See Also:
-
SWRVE_INSTALL_DATE
- See Also:
-
SWRVE_SIM_OPERATOR_NAME
- See Also:
-
SWRVE_SIM_OPERATOR_ISO_COUNTRY
- See Also:
-
SWRVE_SIM_OPERATOR_CODE
- See Also:
-
SWRVE_DEVICE_REGION
- See Also:
-
SWRVE_ANDROID_ID
- See Also:
-
SWRVE_NOTIFICATIONS_ENABLED
- See Also:
-
SWRVE_NOTIFICATIONS_IMPORTANCE
- See Also:
-
SWRVE_NOTIFICATIONS_BUTTONS
- See Also:
-
SWRVE_NOTIFICATIONS_ATTACHMENT
- See Also:
-
SWRVE_CAN_RECEIVE_AUTH_PUSH
- See Also:
-
SWRVE_INIT_MODE
- See Also:
-
SWRVE_DEVICE_TYPE
- See Also:
-
SWRVE_TRACKING_STATE
- See Also:
-
SWRVE_USABLE_SPACE
- See Also:
-
SWRVE_PERMISSION_NOTIFICATION
- See Also:
-
SWRVE_PERMISSION_NOTIFICATION_SHOW_RATIONALE
- See Also:
-
SWRVE_PERMISSION_NOTIFICATION_ANSWERED_TIMES
- See Also:
-
SWRVE_ASSET_SHA1_CHECK
- See Also:
-
SWRVE_REFERRER_ID
- See Also:
-
BATCH_EVENT_KEY_USER
- See Also:
-
BATCH_EVENT_KEY_SESSION_TOKEN
- See Also:
-
BATCH_EVENT_KEY_VERSION
- See Also:
-
BATCH_EVENT_KEY_APP_VERSION
- See Also:
-
BATCH_EVENT_KEY_UNIQUE_DEVICE_ID
- See Also:
-
BATCH_EVENT_KEY_DATA
- See Also:
-
EVENT_ID_KEY
- See Also:
-
EVENT_TYPE_KEY
- See Also:
-
EVENT_PAYLOAD_KEY
- See Also:
-
EVENT_TYPE_GENERIC_CAMPAIGN
- See Also:
-
GENERIC_EVENT_CAMPAIGN_TYPE_KEY
- See Also:
-
GENERIC_EVENT_CAMPAIGN_TYPE_GEO
- See Also:
-
GENERIC_EVENT_CAMPAIGN_TYPE_PUSH
- See Also:
-
GENERIC_EVENT_CAMPAIGN_TYPE_IAM
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_KEY
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_IMPRESSION
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_DELIVERED
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_ENGAGED
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_BUTTON_CLICK
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_INFLUENCED
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_DISMISS
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_NAVIGATION
- See Also:
-
GENERIC_EVENT_ACTION_TYPE_PAGE_VIEW
- See Also:
-
GENERIC_EVENT_CONTEXT_ID_KEY
- See Also:
-
GENERIC_EVENT_CAMPAIGN_ID_KEY
- See Also:
-
GENERIC_EVENT_PAYLOAD_BUTTON_TEXT
- See Also:
-
GENERIC_EVENT_PAYLOAD_RUN_NUMBER
- See Also:
-
GENERIC_EVENT_PAYLOAD_SILENT
- See Also:
-
GENERIC_EVENT_PAYLOAD_DISPLAYED
- See Also:
-
GENERIC_EVENT_PAYLOAD_REASON
- See Also:
-
GENERIC_EVENT_PAYLOAD_ADDITIONAL_INFO
- See Also:
-
GENERIC_EVENT_PAYLOAD_MSG_ID
- See Also:
-
GENERIC_EVENT_PAYLOAD_SENT_TIME
- See Also:
-
GENERIC_EVENT_PAYLOAD_SID
- See Also:
-
GENERIC_EVENT_PAYLOAD_PAGE_NAME
- See Also:
-
GENERIC_EVENT_PAYLOAD_TO
- See Also:
-
GENERIC_EVENT_PAYLOAD_BUTTON_ID
- See Also:
-
GENERIC_EVENT_PAYLOAD_BUTTON_NAME
- See Also:
-
GENERIC_EVENT_PAYLOAD_TRACKING_DATA
- See Also:
-
GENERIC_EVENT_PAYLOAD_PLATFORM
- See Also:
-
EVENT_FIRST_SESSION
- See Also:
-
EVENT_NOTIFICATION_CHANGE_GRANTED
- See Also:
-
EVENT_NOTIFICATION_CHANGE_DENIED
- See Also:
-
EVENT_ASSET_DOWNLOAD_LIMIT_EXCEEDED
- See Also:
-
OS_ANDROID
- See Also:
-
OS_ANDROID_TV
- See Also:
-
OS_AMAZON
- See Also:
-
OS_AMAZON_TV
- See Also:
-
OS_HUAWEI
- See Also:
-
DEVICE_TYPE_MOBILE
- See Also:
-
DEVICE_TYPE_TV
- See Also:
-
CONVERSATION_VERSION
static final int CONVERSATION_VERSION- See Also:
-
PLATFORM
- See Also:
-
version
-
CAMPAIGN_ENDPOINT_VERSION
protected static final int CAMPAIGN_ENDPOINT_VERSION- See Also:
-
EMBEDDED_CAMPAIGN_VERSION
protected static final int EMBEDDED_CAMPAIGN_VERSION- See Also:
-
IN_APP_CAMPAIGN_VERSION
protected static final int IN_APP_CAMPAIGN_VERSION- See Also:
-
CAMPAIGN_RESPONSE_VERSION
- See Also:
-
USER_CONTENT_ACTION
- See Also:
-
USER_RESOURCES_DIFF_ACTION
- See Also:
-
BATCH_EVENTS_ACTION
- See Also:
-
IDENTITY_ACTION
- See Also:
-
EMPTY_JSON_ARRAY
- See Also:
-
SHUTDOWN_TIMEOUT_SECONDS
protected static final int SHUTDOWN_TIMEOUT_SECONDS- See Also:
-
REFERRER
- See Also:
-
SWRVE_DEFAULT_CAMPAIGN_RESOURCES_FLUSH_FREQUENCY
protected static final int SWRVE_DEFAULT_CAMPAIGN_RESOURCES_FLUSH_FREQUENCY- See Also:
-
SWRVE_DEFAULT_CAMPAIGN_RESOURCES_FLUSH_REFRESH_DELAY
protected static final int SWRVE_DEFAULT_CAMPAIGN_RESOURCES_FLUSH_REFRESH_DELAY- See Also:
-
SWRVE_AUTOSHOW_AT_SESSION_START_TRIGGER
- See Also:
-
SUPPORTED_REQUIREMENTS
-
DEFAULT_DELAY_FIRST_MESSAGE
protected static int DEFAULT_DELAY_FIRST_MESSAGE -
DEFAULT_MAX_SHOWS
protected static long DEFAULT_MAX_SHOWS -
DEFAULT_MIN_DELAY
protected static int DEFAULT_MIN_DELAY -
DEFAULT_ASSET_DOWNLOAD_LIMIT
protected static int DEFAULT_ASSET_DOWNLOAD_LIMIT -
DEFAULT_IDENTIFY_REFRESH_PERIOD
protected static int DEFAULT_IDENTIFY_REFRESH_PERIOD -
application
-
context
-
activityContext
-
appVersion
-
appId
protected int appId -
apiKey
-
profileManager
protected com.swrve.sdk.SwrveProfileManager profileManager -
language
-
config
-
eventListener
-
embeddedMessageListener
-
embeddedListener
-
personalizationProvider
-
resourcesListener
-
autoShowExecutor
-
newSessionInterval
protected long newSessionInterval -
lastSessionTick
protected long lastSessionTick -
multiLayerLocalStorage
-
restClient
protected com.swrve.sdk.rest.IRESTClient restClient -
lifecycleExecutor
-
storageExecutor
-
restClientExecutor
-
downloadAssetsExecutor
-
identifyExecutor
-
campaignsAndResourcesExecutor
-
resourceManager
-
campaigns
-
campaignDisplayer
-
campaignsState
-
realTimeUserProperties
-
swrveAssetsManager
protected com.swrve.sdk.SwrveAssetsManager swrveAssetsManager -
appStoreURLs
-
autoShowMessagesEnabled
protected boolean autoShowMessagesEnabled -
campaignsAndResourcesFlushFrequency
-
campaignsAndResourcesFlushRefreshDelay
-
campaignsAndResourcesAssetDownloadLimit
-
identifyRefreshPeriod
-
campaignsAndResourcesLastETag
-
campaignsAndResourcesLastRefreshed
-
campaignsAndResourcesInitialized
protected boolean campaignsAndResourcesInitialized -
eventsWereSent
protected boolean eventsWereSent -
initialised
protected boolean initialised -
started
protected boolean started -
initialisedTime
-
deviceWidth
protected int deviceWidth -
deviceHeight
protected int deviceHeight -
deviceDpi
protected float deviceDpi -
androidDeviceXdpi
protected float androidDeviceXdpi -
androidDeviceYdpi
protected float androidDeviceYdpi -
simOperatorName
-
simOperatorIsoCountryCode
-
simOperatorCode
-
androidId
-
swrveDeeplinkManager
protected com.swrve.sdk.SwrveDeeplinkManager swrveDeeplinkManager -
campaignInfluence
protected com.swrve.sdk.SwrveCampaignInfluence campaignInfluence -
notificationSwrveCampaignId
-
identifiedOnAnotherDevice
protected boolean identifiedOnAnotherDevice -
sessionListener
protected com.swrve.sdk.SwrveSessionListener sessionListener -
pausedEvents
-
lastEventPayloadUsed
-
foregroundActivity
-
-
Constructor Details
-
SwrveBase
-
-
Method Details
-
_getVersion
-
getVersion
-
onCreate
- Throws:
IllegalArgumentException
-
init
- Throws:
IllegalArgumentException
-
getCacheDir
-
openLocalStorageConnection
protected void openLocalStorageConnection() -
beforeSendDeviceInfo
protected abstract void beforeSendDeviceInfo(android.content.Context context) -
extraDeviceInfo
protected abstract void extraDeviceInfo(org.json.JSONObject deviceInfo) throws org.json.JSONException - Throws:
org.json.JSONException
-
getPlatformOS
-
_sessionStart
protected void _sessionStart() -
_event
-
_event
-
_purchase
-
_currencyGiven
-
_userUpdate
-
_userUpdate
-
_iap
-
_iap
protected void _iap(int quantity, String productId, double productPrice, String currency, SwrveIAPRewards rewards) -
_getResourceManager
-
_getUserResources
-
_getUserResourcesDiff
-
_getRealTimeUserProperties
-
_sendQueuedEvents
-
_flushToDisk
protected void _flushToDisk() -
_onPause
protected void _onPause() -
_onStop
protected void _onStop(android.app.Activity activity) -
_onResume
protected void _onResume(android.app.Activity activity) -
loadCampaignFromNotification
protected void loadCampaignFromNotification() -
_shutdown
protected void _shutdown() -
_stopTracking
protected void _stopTracking() -
_setLanguage
-
_getLanguage
-
_getApiKey
-
_getJoined
-
_getDeviceInfo
protected org.json.JSONObject _getDeviceInfo() throws org.json.JSONException- Throws:
org.json.JSONException
-
resolveNotificationPermissionAnsweredTime
protected int resolveNotificationPermissionAnsweredTime() -
getPermissionAnsweredTime
-
shouldShowRequestPermissionRationale
protected boolean shouldShowRequestPermissionRationale(android.app.Activity activity, String permission) -
_refreshCampaignsAndResources
protected void _refreshCampaignsAndResources() -
_getConversationForEvent
-
_getMessageForId
-
_getEmbeddedMessageForId
-
_getBaseMessageForEvent
protected SwrveBaseMessage _getBaseMessageForEvent(String event, Map<String, String> payload, com.swrve.sdk.messaging.SwrveOrientation orientation) -
queueMessageClickEvent
-
messageWasShownToUser
-
queueMessageImpressionEvent
-
_getPersonalizedText
-
_getAppStoreURLForApp
-
_getCacheDir
-
_setResourcesListener
-
_getInitialisedTime
-
_getConfig
-
sessionStart
public void sessionStart()Public functions all wrapped in try/catch to avoid exceptions leaving the SDK and affecting the app itself.- Specified by:
sessionStart
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
event
- Specified by:
event
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
event
- Specified by:
event
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
purchase
- Specified by:
purchase
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
currencyGiven
- Specified by:
currencyGiven
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
userUpdate
- Specified by:
userUpdate
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
userUpdate
- Specified by:
userUpdate
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
iap
- Specified by:
iap
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
iap
public void iap(int quantity, String productId, double productPrice, String currency, SwrveIAPRewards rewards) - Specified by:
iap
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getResourceManager
- Specified by:
getResourceManager
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getUserResources
- Specified by:
getUserResources
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getUserResourcesDiff
- Specified by:
getUserResourcesDiff
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getRealTimeUserProperties
- Specified by:
getRealTimeUserProperties
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
sendQueuedEvents
public void sendQueuedEvents()- Specified by:
sendQueuedEvents
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
flushToDisk
public void flushToDisk()- Specified by:
flushToDisk
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
onPause
protected void onPause() -
onStop
protected void onStop(android.app.Activity activity) -
onResume
protected void onResume(android.app.Activity ctx) -
shutdown
public void shutdown()- Specified by:
shutdown
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
stopTracking
public void stopTracking()- Specified by:
stopTracking
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
setLanguage
- Specified by:
setLanguage
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getLanguage
- Specified by:
getLanguage
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getJoined
-
getApiKey
- Specified by:
getApiKey
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getUserId
- Specified by:
getUserId
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
isTrackingStateStopped
public boolean isTrackingStateStopped() -
getDeviceInfo
public org.json.JSONObject getDeviceInfo()- Specified by:
getDeviceInfo
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
refreshCampaignsAndResources
public void refreshCampaignsAndResources()- Specified by:
refreshCampaignsAndResources
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getMessageForId
-
getEmbeddedMessageForId
-
getBaseMessageForEvent
-
getBaseMessageForEvent
-
getBaseMessageForEvent
protected SwrveBaseMessage getBaseMessageForEvent(String event, Map<String, String> payload, com.swrve.sdk.messaging.SwrveOrientation orientation) -
getAdMesage
-
getConversationForEvent
-
embeddedMessageWasShownToUser
- Specified by:
embeddedMessageWasShownToUser
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
embeddedMessageButtonWasPressed
- Specified by:
embeddedMessageButtonWasPressed
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
embeddedControlMessageImpressionEvent
- Specified by:
embeddedControlMessageImpressionEvent
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getPersonalizedEmbeddedMessageData
public String getPersonalizedEmbeddedMessageData(SwrveEmbeddedMessage message, Map<String, String> personalizationProperties) - Specified by:
getPersonalizedEmbeddedMessageData
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getPersonalizedText
- Specified by:
getPersonalizedText
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getAppStoreURLForApp
- Specified by:
getAppStoreURLForApp
in interfaceISwrveBase<T,
C extends SwrveConfigBase> - Specified by:
getAppStoreURLForApp
in interfaceISwrveCampaignManager
-
getCacheDir
- Specified by:
getCacheDir
in interfaceISwrveBase<T,
C extends SwrveConfigBase> - Specified by:
getCacheDir
in interfaceISwrveCampaignManager
-
setResourcesListener
- Specified by:
setResourcesListener
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getInitialisedTime
- Specified by:
getInitialisedTime
in interfaceISwrveBase<T,
C extends SwrveConfigBase> - Specified by:
getInitialisedTime
in interfaceISwrveCampaignManager
-
getInstallButtonListener
-
getCustomButtonListener
-
getClipboardButtonListener
-
getDismissButtonListener
-
getMessageListener
-
getConfig
- Specified by:
getConfig
in interfaceISwrveBase<T,
C extends SwrveConfigBase> - Specified by:
getConfig
in interfaceISwrveCampaignManager
-
getMessageCenterCampaigns
public List<SwrveBaseCampaign> getMessageCenterCampaigns(com.swrve.sdk.messaging.SwrveOrientation orientation, Map<String, String> properties) - Specified by:
getMessageCenterCampaigns
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getMessageCenterCampaigns
- Specified by:
getMessageCenterCampaigns
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getMessageCenterCampaigns
public List<SwrveBaseCampaign> getMessageCenterCampaigns(com.swrve.sdk.messaging.SwrveOrientation orientation) - Specified by:
getMessageCenterCampaigns
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getMessageCenterCampaigns
- Specified by:
getMessageCenterCampaigns
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getMessageCenterCampaign
- Specified by:
getMessageCenterCampaign
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
showMessageCenterCampaign
- Specified by:
showMessageCenterCampaign
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
showMessageCenterCampaign
- Specified by:
showMessageCenterCampaign
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
removeMessageCenterCampaign
- Specified by:
removeMessageCenterCampaign
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
markMessageCenterCampaignAsSeen
- Specified by:
markMessageCenterCampaignAsSeen
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getContentRequestParams
-
initSwrveDeepLinkManager
protected void initSwrveDeepLinkManager() -
handleDeferredDeeplink
public void handleDeferredDeeplink(android.os.Bundle bundle) - Specified by:
handleDeferredDeeplink
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
handleDeeplink
public void handleDeeplink(android.os.Bundle bundle) - Specified by:
handleDeeplink
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getSSLSocketFactoryConfig
public com.swrve.sdk.SwrveSSLSocketFactoryConfig getSSLSocketFactoryConfig()Implementation of ISwrveCommon methods -
getAppId
public int getAppId() -
getAppVersion
-
getBatchURL
-
getContentURL
-
getSwrveSDKVersion
-
getCachedData
-
sendEventsInBackground
-
getSwrveBackgroundEventSender
-
getSessionKey
-
getDeviceId
-
getEventsServer
-
getHttpTimeout
public int getHttpTimeout() -
getNextSequenceNumber
public int getNextSequenceNumber() -
getDefaultNotificationChannel
public android.app.NotificationChannel getDefaultNotificationChannel() -
getNotificationConfig
public com.swrve.sdk.SwrveNotificationConfig getNotificationConfig() -
getNotificationListener
public com.swrve.sdk.SwrvePushNotificationListener getNotificationListener() -
getSilentPushListener
public com.swrve.sdk.SwrveSilentPushListener getSilentPushListener() -
getSwrveDeeplinkListener
public com.swrve.sdk.SwrveDeeplinkListener getSwrveDeeplinkListener() -
queueConversationEvent
-
onActivityCreated
public void onActivityCreated(android.app.Activity activity, android.os.Bundle savedInstanceState) - Specified by:
onActivityCreated
in interfaceandroid.app.Application.ActivityLifecycleCallbacks
-
onActivityStarted
public void onActivityStarted(android.app.Activity activity) - Specified by:
onActivityStarted
in interfaceandroid.app.Application.ActivityLifecycleCallbacks
-
onActivityResumed
public void onActivityResumed(android.app.Activity activity) - Specified by:
onActivityResumed
in interfaceandroid.app.Application.ActivityLifecycleCallbacks
-
onActivityPaused
public void onActivityPaused(android.app.Activity activity) - Specified by:
onActivityPaused
in interfaceandroid.app.Application.ActivityLifecycleCallbacks
-
onActivityStopped
public void onActivityStopped(android.app.Activity activity) - Specified by:
onActivityStopped
in interfaceandroid.app.Application.ActivityLifecycleCallbacks
-
onActivitySaveInstanceState
public void onActivitySaveInstanceState(android.app.Activity activity, android.os.Bundle outState) - Specified by:
onActivitySaveInstanceState
in interfaceandroid.app.Application.ActivityLifecycleCallbacks
-
onActivityDestroyed
public void onActivityDestroyed(android.app.Activity activity) - Specified by:
onActivityDestroyed
in interfaceandroid.app.Application.ActivityLifecycleCallbacks
-
isSplashActivity
protected boolean isSplashActivity(android.app.Activity activity) -
setNotificationSwrveCampaignId
-
switchUser
-
identify
- Specified by:
identify
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
_identify
protected void _identify(String externalUserId, SwrveIdentityResponse identityResponse, boolean checkCache) -
reIdentifyUser
protected void reIdentifyUser() -
shouldReIdentify
protected boolean shouldReIdentify() -
queuePausedEvents
protected void queuePausedEvents() -
enableEventSending
protected void enableEventSending() -
pauseEventSending
protected void pauseEventSending() -
saveNotificationAuthenticated
public void saveNotificationAuthenticated(int notificationId) -
clearAllAuthenticatedNotifications
protected void clearAllAuthenticatedNotifications() -
getExternalUserId
- Specified by:
getExternalUserId
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
setCustomPayloadForConversationInput
- Specified by:
setCustomPayloadForConversationInput
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
getFlushRefreshDelay
public int getFlushRefreshDelay() -
getIdentifyPeriod
protected int getIdentifyPeriod() -
getIdentifyDateForUser
-
saveIdentifyDate
-
setSessionListener
public void setSessionListener(com.swrve.sdk.SwrveSessionListener sessionListener) -
fetchNotificationCampaigns
-
start
public void start(android.app.Activity activity) - Specified by:
start
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
start
- Specified by:
start
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
isStarted
public boolean isStarted()- Specified by:
isStarted
in interfaceISwrveBase<T,
C extends SwrveConfigBase>
-
isSdkReady
protected boolean isSdkReady() -
sendSessionStart
protected void sendSessionStart(long time) -
getSwrveEventsManager
-
saveEvent
-
checkNotificationPermissionChange
protected void checkNotificationPermissionChange() -
getUniqueKey
-
registerActivityLifecycleCallbacks
protected void registerActivityLifecycleCallbacks() -
unregisterActivityLifecycleCallbacks
protected void unregisterActivityLifecycleCallbacks() -
bindToActivity
protected void bindToActivity(android.app.Activity activity) -
_iap
-
_iap_check_parameters
protected boolean _iap_check_parameters(int quantity, String productId, double productPrice, String currency, String paymentProvider) throws IllegalArgumentException - Throws:
IllegalArgumentException
-
getDeviceName
-
processUserResourcesDiffData
protected void processUserResourcesDiffData(String resourcesAsJSON, SwrveUserResourcesDiffListener listener) -
queueEvent
-
queueEvent
-
deviceUpdate
-
restClientExecutorExecute
-
storageExecutorExecute
-
lifecycleExecutorExecute
-
checkAssetDownloadLimits
-
filterExcessiveAssetDownloads
-
getSessionTime
protected long getSessionTime() -
generateNewSessionInterval
protected void generateNewSessionInterval() -
buildDeviceInfo
protected void buildDeviceInfo(android.content.Context context) -
getTelephonyManager
-
checkPermissionGranted
-
requestPermissions
-
getNow
- Specified by:
getNow
in interfaceISwrveCampaignManager
-
saveCampaignsInCache
protected void saveCampaignsInCache(org.json.JSONObject campaignContent) -
saveResourcesInCache
protected void saveResourcesInCache(org.json.JSONArray resourcesContent) -
saveRealTimeUserPropertiesInCache
protected void saveRealTimeUserPropertiesInCache(org.json.JSONObject userPropertiesContent) -
updateQaUser
-
autoShowMessages
protected void autoShowMessages() -
autoShowMessage
-
displaySwrveMessage
-
filterRedundantCampaign
-
filterStartGeoSDKCampaign
protected boolean filterStartGeoSDKCampaign() -
autoShowConversation
-
disableAutoShowAfterDelay
protected void disableAutoShowAfterDelay() -
loadCampaignsFromJSON
protected void loadCampaignsFromJSON(String userId, org.json.JSONObject json, Map<Integer, SwrveCampaignState> states, boolean loadPreviousCampaignState) -
loadCampaignFromJSON
protected SwrveInAppCampaign loadCampaignFromJSON(org.json.JSONObject campaignData, Set<com.swrve.sdk.SwrveAssetsQueueItem> assetsQueue, Map<String, String> properties) throws org.json.JSONException- Throws:
org.json.JSONException
-
loadEmbeddedCampaignFromJSON
protected SwrveEmbeddedCampaign loadEmbeddedCampaignFromJSON(org.json.JSONObject campaignData) throws org.json.JSONException - Throws:
org.json.JSONException
-
loadConversationCampaignFromJSON
protected SwrveConversationCampaign loadConversationCampaignFromJSON(org.json.JSONObject campaignData, Set<com.swrve.sdk.SwrveAssetsQueueItem> assetsQueue) throws org.json.JSONException - Throws:
org.json.JSONException
-
saveCampaignsState
-
getContext
protected android.content.Context getContext() -
getDeviceOrientation
protected com.swrve.sdk.messaging.SwrveOrientation getDeviceOrientation() -
getActivityContext
@Nullable protected android.app.Activity getActivityContext() -
queueDeviceUpdateNow
-
getUniqueKey
-
invalidSignatureError
-
initResources
-
initRealTimeUserProperties
-
initABTestDetails
-
initCampaigns
-
loadCampaignsFromCache
-
invokeResourceListener
protected void invokeResourceListener() -
checkForCampaignAndResourcesUpdates
protected void checkForCampaignAndResourcesUpdates() -
startCampaignsAndResourcesTimer
protected void startCampaignsAndResourcesTimer(boolean sessionStart) -
shutdownCampaignsAndResourcesTimer
protected void shutdownCampaignsAndResourcesTimer() -
getAssetsOnDisk
- Specified by:
getAssetsOnDisk
in interfaceISwrveCampaignManager
-
retrievePersonalizationProperties
-