IBraze
The public interface for the Braze SDK. This interface is used to send and receive data to and from Braze.
Functions
Adds a new subscription for an external Braze SDK event. Note that this subscriber will be called synchronously from the running thread of the Braze SDK and may not be on the same thread as the caller of this method.
When you first start using Braze on a device, the user is considered "anonymous". You can use this method to optionally identify a user with a unique ID. These User IDs should be private and not easily obtained (e.g. not a plain email address or username). This enables the following:
Identical to .changeUser but provides an sdk auth signature for the user before any networking begins, even if the existing external id is used.
Closes the current session. The session may be reopened if a call is made to IBraze.openSession within the session timeout.
Helper method for IBraze.deserializeContentCard.
Constructs a Content Card from its Card.forJsonPut output. Useful for caching Content Card data and recreating them for your own purposes.
This function returns a deserialized in-app message from the message JSON string.
Retrieves the offline/cached list of Feature Flags from offline storage.
Retrieves the offline/cached list of Content Cards from offline storage. Useful method to synchronously check the state of Content Cards already synced to the device.
Retrieves information about Content Cards based on the currently cached data.
Retrieves information about Content Cards based on the currently cached data.
Retrieves information about Content Cards based on the currently cached data.
Returns the user currently being tracked by Braze. Note that modifying values on instances of BrazeUser for a previous user will result in those values being stored locally, but they will not be synced with the Braze server until that user becomes active again.
Requests a specific Feature Flags. This will pull the data from a local cache and does not force a refresh.
Reports a custom named event.
Reports a feed card was displayed to the user.
Reports that the feed was displayed.
In order to log a purchase, switch to logPurchase. Using this method will by default log a purchase with a quantity of one.
In order to log a purchase, switch to logPurchase.
Reports that the current user made an in app purchase. Useful for tracking and segmenting users more likely to make purchases.
Reports that the user clicked on a push notification action button.
Reports that the user clicked on the push notification. Note that integrations shouldn't be calling this method directly.
When possible, .logPushNotificationOpened should be used instead. Note that integrations shouldn't be calling this method directly.
Reports that the user clicked on a push story page.
Opens a new session or resumes the previous session. A call to IBraze.openSession within the session timeout of a call to IBraze.closeSession will cause the previous session to be resumed. This is done so that transitions from one Activity to another do not create a new session each time.
Requests a refresh of Feature Flags from the Braze server.
Removes a single subscription associated with the given activity and event class. This should be called if you want to selectively unsubscribe from an event, but do not want to remove every subscription for the activity.
Requests an immediate refresh of Content Cards. If fromCache is true, data will be pulled from offline storage. If fromCache is false, the SDK will request an immediate refresh of Content Cards from the Braze server.
Requests an immediate refresh of the news feed from the Braze server.
Requests a refresh of the news feed from offline storage. The result of this call will be reported asynchronously via a FeedUpdatedEvent, similar to a call to IBraze.requestFeedRefresh.
Requests a refresh of Braze Geofences for the specified GPS coordinate.
Requests an immediate flush of any analytics data waiting to be sent to Braze's servers.
Clients apps may call this method when location permissions are granted to request immediate initialization of geofences as appropriate. This will also request a single location update since location permissions were likely not present at the start of the user's session.
Sets the Google Advertising ID and associated ad-tracking enabled field for this device. Note that the SDK does not automatically collect this data.
Sets the signature used for SDK authentication for the currently identified user.
Subscribes to Content Cards events. The subscriber callback will be called when Content Cards is updated. The subscriber will be called with a ContentCardsUpdatedEvent.
Subscribes to Feature Flags events. The subscriber callback will be called when Feature Flags are updated. The subscriber will be called with a FeatureFlagsUpdatedEvent.
Subscribes to news feed events. The subscriber callback will be called when the news feed is updated. The subscriber will be called with a com.braze.events.FeedUpdatedEvent.
Subscribes to network failures that have occurred within the SDK.
Subscribes to in-app message events. The subscriber callback will be called when a new in-app message is sent. The subscriber will be called with a InAppMessageEvent.
Subscribes to "no matching trigger" events. The subscriber callback will be called when a open, custom event, or purchase event is sent, but there's not a corresponding in-app message that was triggered by it. The subscriber will be called with a NoMatchingTriggerEvent.
Subscribes to push notifications handled by the Braze SDK.
Subscribes to SDK Authentication failures.
Subscribes to Session start and close events. The subscriber callback will be called when a session is created or sealed. The subscriber will be called with a SessionStateChangedEvent.
Properties
The user currently being tracked by Braze. Note that modifying values on instances of BrazeUser for a previous user will result in those values being stored locally, but they will not be synced with the Braze server until that user becomes active again.
Get the device ID - a randomly generated, app specific ID that is stored on the device. A new ID will be generated if the user clears the data for the app or removes/re-installs the app. The ID will persist across Braze.changeUser calls.
The IBrazeImageLoader for the Braze instance. This IBrazeImageLoader is used for all image related actions in the Braze SDK.