Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import com.mparticle.kits.ReportingMessage

open class AttributeListenerTestKit :
ListenerTestKit(),
KitIntegration.AttributeListener {
KitIntegration.AttributeListener,
KitIntegration.LogoutListener {
var setUserAttribute: ((attributeKey: String?, attributeValue: String?) -> Unit)? = null
var setUserAttributeList: ((attributeKey: String?, attributeValueList: List<String?>?) -> Unit)? =
null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,21 @@ public interface SessionListener {
List<ReportingMessage> onSessionEnd();
}

/**
* Kits may implement this interface to respond when the mParticle Identity API performs a logout.
*/
public interface LogoutListener {

/**
* The mParticle SDK exposes a logout API, allowing developers to track an event
* when a user logs out of their app/platform. Use this opportunity to perform the appropriate logic
* as per your platforms logout paradigm, such as clearing user attributes.
*
* @return Kits should return a List of ReportingMessages indicating that the logout was processed one or more times, or null if it was not processed
*/
List<ReportingMessage> logout();
}

/**
* Kits should implement this interface when their underlying service has the notion
* of a user with attributes.
Expand Down Expand Up @@ -374,15 +389,6 @@ public interface AttributeListener {

void removeUserIdentity(MParticle.IdentityType identityType);

/**
* The mParticle SDK exposes a logout API, allowing developers to track an event
* when a user logs out of their app/platform. Use this opportunity to perform the appropriate logic
* as per your platforms logout paradigm, such as clearing user attributes.
*
* @return Kits should return a List of ReportingMessages indicating that the logout was processed one or more times, or null if it was not processed
*/
List<ReportingMessage> logout();

}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -809,9 +809,8 @@ public void removeUserIdentity(MParticle.IdentityType identityType) {
public void logout() {
for (KitIntegration provider : providers.values()) {
try {
if (provider instanceof KitIntegration.AttributeListener && !provider.isDisabled()) {
List<ReportingMessage> report = ((KitIntegration.AttributeListener) provider).logout();
getReportingManager().logAll(report);
if (provider instanceof KitIntegration.LogoutListener listener && !provider.isDisabled()) {
getReportingManager().logAll(listener.logout());
}
} catch (Exception e) {
Logger.warning("Failed to call logout for kit: " + provider.getName() + ": " + e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.mparticle.internal.MPUtility
import com.mparticle.internal.MPUtility.AdIdInfo
import com.mparticle.kits.KitIntegration.ApplicationStateListener
import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.LogoutListener
import com.mparticle.kits.KitIntegration.PushListener
import org.json.JSONException
import org.json.JSONObject
Expand All @@ -16,6 +17,7 @@ import java.net.URL
abstract class AdobeKitBase :
KitIntegration(),
AttributeListener,
LogoutListener,
PushListener,
ApplicationStateListener {
private val dVer = "2"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import com.mparticle.MParticle
import com.mparticle.kits.KitIntegration.ApplicationStateListener
import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.EventListener
import com.mparticle.kits.KitIntegration.LogoutListener
import com.mparticle.kits.KitIntegration.PushListener
import com.mparticle.media.events.ContentType
import com.mparticle.media.events.EventAttributes
Expand All @@ -36,6 +37,7 @@ open class AdobeKit :
KitIntegration(),
EventListener,
AttributeListener,
LogoutListener,
PushListener,
ApplicationStateListener {
companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class AppsFlyerKit :
KitIntegration(),
KitIntegration.EventListener,
KitIntegration.AttributeListener,
KitIntegration.LogoutListener,
KitIntegration.CommerceListener,
AppsFlyerConversionListener,
KitIntegration.ActivityListener,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@ import com.mparticle.MParticle.IdentityType
import com.mparticle.commerce.CommerceEvent
import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.CommerceListener
import com.mparticle.kits.KitIntegration.LogoutListener
import java.math.BigDecimal

class ApptimizeKit :
KitIntegration(),
AttributeListener,
LogoutListener,
KitIntegration.EventListener,
CommerceListener,
OnTestRunListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.CommerceListener
import com.mparticle.kits.KitIntegration.EventListener
import com.mparticle.kits.KitIntegration.IdentityListener
import com.mparticle.kits.KitIntegration.LogoutListener
import io.branch.referral.Branch
import io.branch.referral.Branch.BranchReferralInitListener
import io.branch.referral.BranchError
Expand All @@ -37,6 +38,7 @@ class BranchMetricsKit :
EventListener,
CommerceListener,
AttributeListener,
LogoutListener,
ApplicationStateListener,
IdentityListener,
BranchReferralInitListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ import kotlin.collections.HashMap
open class AppboyKit :
KitIntegration(),
AttributeListener,
KitIntegration.LogoutListener,
CommerceListener,
KitIntegration.EventListener,
PushListener,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ import kotlin.collections.HashMap
open class AppboyKit :
KitIntegration(),
AttributeListener,
KitIntegration.LogoutListener,
CommerceListener,
KitIntegration.EventListener,
PushListener,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ import kotlin.collections.HashMap
open class AppboyKit :
KitIntegration(),
AttributeListener,
KitIntegration.LogoutListener,
CommerceListener,
KitIntegration.EventListener,
PushListener,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ import kotlin.collections.HashMap
open class AppboyKit :
KitIntegration(),
AttributeListener,
KitIntegration.LogoutListener,
CommerceListener,
KitIntegration.EventListener,
PushListener,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@ import com.mparticle.MParticle
import com.mparticle.MParticle.IdentityType
import com.mparticle.kits.KitIntegration.ActivityListener
import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.LogoutListener
import java.util.HashMap
import java.util.LinkedList

class ComscoreKit :
KitIntegration(),
KitIntegration.EventListener,
AttributeListener,
LogoutListener,
ActivityListener {
private var isEnterprise = false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ import com.mparticle.AttributionResult
import com.mparticle.MParticle.IdentityType
import com.mparticle.identity.MParticleUser
import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.LogoutListener
import org.json.JSONException
import org.json.JSONObject

class KochavaKit :
KitIntegration(),
AttributeListener,
LogoutListener,
KitIntegration.IdentityListener {
override fun getName(): String = NAME

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import com.mparticle.internal.MPUtility
import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.CommerceListener
import com.mparticle.kits.KitIntegration.EventListener
import com.mparticle.kits.KitIntegration.LogoutListener
import com.mparticle.kits.KitIntegration.PushListener
import com.mparticle.kits.ReportingMessage
import org.json.JSONArray
Expand All @@ -31,6 +32,7 @@ class LocalyticsKit :
KitIntegration.EventListener,
CommerceListener,
AttributeListener,
LogoutListener,
PushListener,
CallToActionListener {
private var customDimensionJson: JSONArray? = null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import com.mparticle.kits.KitIntegration.ApplicationStateListener
import com.mparticle.kits.KitIntegration.AttributeListener
import com.mparticle.kits.KitIntegration.CommerceListener
import com.mparticle.kits.KitIntegration.EventListener
import com.mparticle.kits.KitIntegration.LogoutListener
import com.mparticle.kits.KitIntegration.PushListener
import com.mparticle.kits.KitIntegration.UserAttributeListener
import com.singular.sdk.SDIDAccessorHandler
Expand All @@ -38,7 +39,8 @@ open class SingularKit :
CommerceListener,
ApplicationStateListener,
UserAttributeListener,
AttributeListener {
AttributeListener,
LogoutListener {
interface DeviceAttributionCallback : SingularDeviceAttributionHandler

interface SdidAccessorHandler : SDIDAccessorHandler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ class UrbanAirshipKit :
KitIntegration.PushListener,
KitIntegration.EventListener,
CommerceListener,
KitIntegration.AttributeListener {
KitIntegration.AttributeListener,
KitIntegration.LogoutListener {
private var channelIdListener: ChannelIdListener? = null
private var configuration: UrbanAirshipConfiguration? = null

Expand Down
Loading