Terms, Location & Notifications
Models and methods for Terms & Conditions acceptance, location updates, push notifications, and deeplink handling.
TFTermsAndConditions
Represents a version of the Terms & Conditions document.
- iOS (Swift)
- Android (Java)
public class TFTermsAndConditions {
public enum ContentType {
case html
}
public let isLatest: Bool
public let contentType: ContentType
public let version: String
public init(
contentType: ContentType,
version: String,
isLatest: Bool,
contentURL: URL
)
/// Fetches the raw content data. Subsequent calls return the cached result.
public func getContentData(_ callback: @escaping ((Data?, Error?) -> Void))
}
public class TFTermsAndConditions {
public TFTermsAndConditions(boolean isLatest, String version, URL htmlURL)
public boolean isLatest()
public String version()
public URL htmlURL()
/**
* The SHA-256 checksum of the accepted Terms & Conditions content.
* Set automatically by {@code acceptTermsAndConditions()} after the user accepts.
* Returns {@code null} until acceptance occurs.
*/
public String contentSum()
}
Content is fetched separately via
getTermsAndConditionsContent(TFTermsAndConditions, ResultCallback<Content>).
Content
The raw content of a Terms & Conditions document.
- iOS (Swift)
- Android (Java)
Returned inline via TFTermsAndConditions.getContentData().
public class Content {
public Content(ContentType contentType, byte[] data)
public byte[] getData()
public ContentType getContentType()
/** Returns the SHA-256 checksum of the content data. */
public String contentSum()
public enum ContentType {
HTML
}
}
TFLocationProvider
Describes the source used to determine the device's location.
- iOS (Swift)
- Android (Java)
public enum TFLocationProvider {
case coreLocation(CLLocation)
case ip
}
public enum TFLocationProvider {
IP,
PRECISE
}
TFLocation
Wraps a location provider with its associated data.
- iOS (Swift)
- Android (Java)
Handled inline via TFLocationProvider (the coreLocation case carries the CLLocation).
public class TFLocation {
/** IP-based location — no coordinates needed. */
public TFLocation(TFLocationProvider provider)
/** Precise location — requires an Android Location object. */
public TFLocation(TFLocationProvider provider, Location location)
public TFLocationProvider getProvider()
public Location getLocation()
}
TFSetLocationResponse
The result of a location update request.
- iOS (Swift)
- Android (Java)
public struct TFSetLocationResponse {
public enum State {
case updated
case notSignificant
}
public let state: State
public init(state: State)
}
public class TFSetLocationResponse {
public TFSetLocationResponse(State state)
public State getState()
public enum State {
UPDATED,
NOT_SIGNIFICANT
}
}
TFPushNotificationType
Identifies the type of an incoming TrustFactor push notification, carrying its associated data.
- iOS (Swift)
- Android (Java)
public enum TFPushNotificationType: String {
case receivedSharedProfile
case operationPending
case operationDecided
}
// Abstract base — use instanceof to determine type
public abstract class TFPushNotificationType {
public Error getError()
public static class ShareApplicationProfiles extends TFPushNotificationType {
public ShareApplicationProfilesData getData()
}
public static class OperationPending extends TFPushNotificationType {
public OperationPendingData getData()
}
public static class OperationDecided extends TFPushNotificationType {}
public static class RevalidatingProfile extends TFPushNotificationType {
public RevalidatingProfileData getData()
}
public static class ShareApplicationProfilesData {
public ShareContractPayload getPayload()
}
public static class OperationPendingData {
public TFApplicationProfile getProfile()
public String getOperationId()
}
public static class RevalidatingProfileData {
public TFApplicationProfile getProfile()
}
}
TFDeeplinkType
Identifies the intent of a TrustFactor universal link.
- iOS (Swift)
- Android (Java)
public enum TFDeeplinkType {
case association
case operation
}
Not available. Deeplinks are passed directly as Uri to startOperationDecision(Uri) or as Object to applicationProfileForAssociation(Object, ...).