interface SentianceCore {
    addSdkStatusUpdateListener(onSdkStatusUpdated: ((sdkStatus: SdkStatus) => void)): Promise<EmitterSubscription>;
    addSdkUserActivityUpdateListener(onUserActivityUpdated: ((userActivity: UserActivity) => void)): Promise<EmitterSubscription>;
    addTripMetadata(metadata: MetadataObject): Promise<boolean>;
    addTripTimeoutListener(onTripTimedOut: (() => void)): Promise<EmitterSubscription>;
    addUserMetadataField(label: string, value: string): Promise<void>;
    addUserMetadataFields(label: MetadataObject): Promise<void>;
    createUser(options: UserCreationOptions): Promise<CreateUserResult>;
    disableBatteryOptimization(): Promise<void>;
    disableDetections(): Promise<DisableDetectionsResult>;
    enableDetections(): Promise<EnableDetectionsResult>;
    enableDetectionsWithExpiryDate(expiryEpochTimeMs: null | number): Promise<EnableDetectionsResult>;
    ensureInitialized(): Promise<void>;
    getDiskQuotaLimit(): Promise<string>;
    getDiskQuotaUsage(): Promise<string>;
    getInitState(): Promise<SdkInitState>;
    getMobileQuotaLimit(): Promise<string>;
    getMobileQuotaUsage(): Promise<string>;
    getSdkStatus(): Promise<SdkStatus>;
    getTransmittableDataTypes(): Promise<TransmittableDataType[]>;
    getUserActivity(): Promise<UserActivity>;
    getUserId(): Promise<null | string>;
    getUserTags(): Promise<UserTags>;
    getVersion(): Promise<string>;
    getWiFiQuotaLimit(): Promise<string>;
    getWiFiQuotaUsage(): Promise<string>;
    isAllowedToUseMobileData(): Promise<boolean>;
    isAppSessionDataCollectionEnabled(): Promise<boolean>;
    isTripOngoing(type: TripType): Promise<boolean>;
    isUserLinked(): Promise<boolean>;
    linkUser(linker: Linker): Promise<UserLinkingResult>;
    linkUserWithAuthCode(authCode: string): Promise<UserLinkingResult>;
    listenTripTimeout(): Promise<void>;
    listenUserActivityUpdates(): Promise<void>;
    removeUserMetadataField(label: string): Promise<void>;
    requestUserAccessToken(): Promise<UserAccessToken>;
    reset(): Promise<ResetResult>;
    setAppSessionDataCollectionEnabled(enabled: boolean): Promise<void>;
    setIsAllowedToUseMobileData(isAllowed: boolean): Promise<void>;
    setTransmittableDataTypes(types: TransmittableDataType[]): Promise<void>;
    setUserTags(tags: UserTags): Promise<void>;
    startTrip(metadata: null | MetadataObject, hint: TransportMode): Promise<void>;
    stopTrip(): Promise<void>;
    submitDetections(): Promise<void>;
    updateSdkNotification(title: string, message: string): Promise<void>;
    userExists(): Promise<boolean>;
    userLinkCallback(linkResult: boolean): void;
}

Methods

  • Parameters

    • onSdkStatusUpdated: ((sdkStatus: SdkStatus) => void)
        • (sdkStatus): void
        • Parameters

          Returns void

    Returns Promise<EmitterSubscription>

  • Parameters

    • onUserActivityUpdated: ((userActivity: UserActivity) => void)
        • (userActivity): void
        • Parameters

          Returns void

    Returns Promise<EmitterSubscription>

  • Parameters

    Returns Promise<boolean>

  • Parameters

    • onTripTimedOut: (() => void)
        • (): void
        • Returns void

    Returns Promise<EmitterSubscription>

  • Parameters

    • label: string
    • value: string

    Returns Promise<void>

  • Parameters

    Returns Promise<void>

  • Returns Promise<void>

  • Resolves when the Sentiance SDK has finished initializing asynchronously.

    • Resolves immediately if the SDK is already initialized.
    • Throws a SdkInitializationError on every failure path. The error's reason carries the typed failure (a SdkInitializationFailureReason value), for example "NOT_TRIGGERED" when the host app never called the native initializer (initialization must happen on the main thread from Application.onCreate / AppDelegate didFinishLaunching), or the matching failure reason when init was attempted and failed.

    Call this before any SDK API to make sure the SDK is initialized.

    Returns Promise<void>

  • Returns Promise<string>

  • Returns Promise<string>

  • Returns Promise<string>

  • Returns Promise<string>

  • Returns Promise<null | string>

  • Returns the tags currently set for the Sentiance user, as previously provided to SentianceCore.setUserTags.

    You must have initialized the SDK, and a Sentiance user must exist on the device, before invoking this function.

    Returns Promise<UserTags>

    the current user tags, or an empty object if no user tags have been set.

    with reason "NO_USER" if a Sentiance user does not exist.

  • Returns Promise<string>

  • Returns Promise<string>

  • Returns Promise<string>

  • Returns Promise<boolean>

  • Returns Promise<boolean>

  • Parameters

    Returns Promise<boolean>

  • Returns Promise<boolean>

  • Returns Promise<void>

  • Returns Promise<void>

  • Parameters

    • label: string

    Returns Promise<void>

  • Parameters

    • enabled: boolean

    Returns Promise<void>

  • Parameters

    • isAllowed: boolean

    Returns Promise<void>

  • Parameters

    Returns Promise<void>

  • Sets the tags for the current Sentiance user. The provided tags fully replace any previously set user tags (whole-set replacement); passing an empty object clears all user tags.

    You can include up to 6 tags (key-value pairs), and each tag component (key or value) must be at most 256 characters. Avoid putting sensitive personal information (such as a person's name, email address, or other personal details) in tag keys or values, as user tags may be uploaded to the Sentiance Cloud Platform when your app is configured to do so.

    You must have initialized the SDK, and a Sentiance user must exist on the device, before invoking this function.

    Parameters

    • tags: UserTags

      The user tags to set. May be empty (to clear).

    Returns Promise<void>

    with reason "NO_USER" if a Sentiance user does not exist, or "INVALID_TAGS" if the supplied tags do not adhere to the maximum allowed tag count, or if a key/value component exceeds the maximum allowed character count.

    import { setUserTags, UserTaggingError } from "@sentiance-react-native/core";

    try {
    await setUserTags({ role: "driver", fleet: "brussels" });
    } catch (error) {
    if (error instanceof UserTaggingError) {
    if (error.reason === "NO_USER") {
    // No Sentiance user exists yet
    } else if (error.reason === "INVALID_TAGS") {
    // The supplied tag set was rejected
    }
    }
    }
  • Returns Promise<void>

  • Returns Promise<void>

  • Parameters

    • title: string
    • message: string

    Returns Promise<void>

  • Returns Promise<boolean>

  • Parameters

    • linkResult: boolean

    Returns void