
### BaseModule
Main module abstract class for inheriting classes.
  
**Declared In:**  
lib/main/modules/BaseModule.js  
  
**Declaration:**  

<pre><code class="language-TypeScript">class BaseModule</code></pre>

  
---
---
  
### Settings
The module for managing the SDK settings.  
  
**Declared In:**  
lib/main/modules/SettingsModule.js  
  
**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/react-native/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-TypeScript">class SettingsModule extends Module</code></pre>


**Properties:**
| Property | Type | Description |
| --- | --- | --- |
| **sdk** | ISettingsOptions | [General settings](/developers/mobile-sdk/settings#general) - This group contains options related to the general functioning of mobile SDK |
| **notifications** | ISettingsOptions | [Notifications settings](/developers/mobile-sdk/settings#notifications) - This group contains options related to push notifications |
| **tracker** | ISettingsOptions | [Tracker](/developers/mobile-sdk/settings#tracker) - This group contains options related to tracking the customer activities in a mobile application |
| **inAppMessaging** | ISettingsOptions | [In-app messaging](/developers/mobile-sdk/settings#in-app-messaging) - This group contains options related to the [in-app messages](/docs/campaign/in-app-messages) feature |
| **injector** | ISettingsOptions | [Injector](/developers/mobile-sdk/settings#injector) - This group contains options related to displaying [campaigns](/docs/campaign/Mobile) |
  
**Note:**  
Learn more about settings [here](/developers/mobile-sdk/settings)
  
---
---

### Notifications
The module for managing notifications.
  
**Declared In:**  
lib/main/modules/NotificationsModule.js  
  
**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/react-native/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-TypeScript">class NotificationsModule extends Module</code></pre>

  
**Methods:**

This method sets an object for Notifications listener methods.

<pre><code class="language-TypeScript">public setListener(listener: INotificationsListener)</code></pre>

[(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/react-native-listeners#notifications-listener)

---

This method passes the Firebase Token to Synerise for notifications.

<pre><code class="language-TypeScript">public registerForNotifications(registrationToken: string, mobileAgreement: boolean | null, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#register-for-push-notifications)

---

This method verifies if a notification was sent by Synerise.

<pre><code class="language-TypeScript">public isSyneriseNotification(payload: object): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-push-notification-is-from-synerise)

---

This method verifies if a notification’s sender is Synerise and if the notification is a Simple Push campaign

<pre><code class="language-TypeScript">public isSyneriseSimplePush(payload: object): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-push-notification-is-a-simple-push-campaign)

---

This method verifies if a notification’s sender is Synerise and if the notification is a Banner campaign.

<pre><code class="language-TypeScript">public isSyneriseBanner(payload: object): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-push-notification-is-a-banner-campaign) - **REMOVED in version 1.0.0**

---

This method verifies if a notification's sender is Synerise and if the notification is a Silent Command.

<pre><code class="language-TypeScript">public isSilentCommand(payload: object): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-push-notification-is-a-silent-command)

---

This method verifies if a notification's sender is Synerise and if the notification is a Silent SDK Command.

<pre><code class="language-TypeScript">public isSilentSDKCommand(payload: object): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-push-notification-is-a-silent-sdk-command)

---

This method verifies if a notification is encrypted.

<pre><code class="language-TypeScript">public isNotificationEncrypted(payload: object): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-push-notification-is-encrypted)

---

This method decrypts the notification payload.

<pre><code class="language-TypeScript">public decryptNotification(payload: object): object | null</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#decrypt-push-notification)

---

This method handles a notification payload with a user interaction and starts activity.

<pre><code class="language-TypeScript">public handleNotification(payload: object, actionIdentifier: string | null)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#handle-synerise-push-notification)

---

---
---

### Client
The module for managing customer account data, registration, and authorization.

**Declared In:**  
lib/main/modules/ClientModule.js  
  
**Related To:**  
[ClientAccountRegisterContext](/developers/mobile-sdk/class-reference/react-native/client#clientaccountregistercontext)  
[ClientIdentityProvider](/developers/mobile-sdk/class-reference/react-native/client#clientidentityprovider)  
[ClientAuthContext](/developers/mobile-sdk/class-reference/react-native/client#clientauthcontext)  
[ClientOAuthAuthenticationContext](/developers/mobile-sdk/class-reference/react-native/client#clientoauthauthenticationcontext)  
[ClientFacebookAuthenticationContext](/developers/mobile-sdk/class-reference/react-native/client#clientfacebookauthenticationcontext)  
[ClientAppleSignInAuthenticationContext](/developers/mobile-sdk/class-reference/react-native/client#clientapplesigninauthenticationcontext)  
[ClientAccountInformation](/developers/mobile-sdk/class-reference/react-native/client#clientaccountinformation)  
[ClientAccountUpdateContext](/developers/mobile-sdk/class-reference/react-native/client#clientaccountupdatecontext)  
[Token](/developers/mobile-sdk/class-reference/react-native/client#token)  
  
**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/react-native/modules#basemodule)  
  
**Declaration:**  

<pre><code class="language-TypeScript">class ClientModule extends Module</code></pre>

  
**Methods:**

This method sets an object for customer's state listener methods.

<pre><code class="language-TypeScript">public setClientStateChangeListener(listener: IClientStateChangeListener)</code></pre>

[(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/react-native-listeners#client-state-listener)

---

This method registers a new customer with an email, password, and optional data.

<pre><code class="language-TypeScript">public registerAccount(context: ClientAccountRegisterContext, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#register-customer-account)

---

This method confirms a customer account with the confirmation token.

<pre><code class="language-TypeScript">public confirmAccountActivation(token: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#confirm-customer-account-activation)

---

This method activates a customer with email.

<pre><code class="language-TypeScript">public requestAccountActivation(email: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#request-customer-account-activation)

---

This method signs a customer in to obtain a JSON Web Token (JWT) which can be used in subsequent requests.

<pre><code class="language-TypeScript">public signIn(email: string, password: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#sign-in-a-customer)

---

This method signs a customer in to obtain a JSON Web Token (JWT) which can be used in subsequent requests.

<pre><code class="language-TypeScript">public signInConditionally(email: string, password: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#sign-in-a-customer-conditionally)

---

This method authenticates a customer with OAuth, Facebook, Google, Apple, or Synerise.

<pre><code class="language-TypeScript">public authenticate(token: string, provider: ClientIdentityProvider, context: ClientAuthContext, onSuccess: (authResult: ClientConditionalAuthResult) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-by-identityprovider)

---

This method authenticates a customer with OAuth, Facebook, Google, Apple, or Synerise.

<pre><code class="language-TypeScript">public authenticateConditionally(token: string, provider: ClientIdentityProvider, context: ClientAuthContext, onSuccess: (authResult: ClientConditionalAuthResult) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-conditionally-by-identityprovider)

---

This method authenticates a customer with OAuth.

<pre><code class="language-TypeScript">public authenticateByOAuth(accessToken: string, context: ClientOAuthAuthenticationContext, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-by-oauth-with-registration) - **REMOVED in version 1.0.0**

---

This method authenticates a customer with OAuth.

<pre><code class="language-TypeScript">public authenticateByOAuthIfRegistered(accessToken: string, authID: string | null, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-by-oauth-without-registration) - **REMOVED in version 1.0.0**

---

This method authenticates a customer with Facebook.

<pre><code class="language-TypeScript">public authenticateByFacebook(facebookToken: string, context: ClientFacebookAuthenticationContext, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-by-facebook-with-registration) - **REMOVED in version 1.0.0**

---

This method authenticates a customer with Facebook.

<pre><code class="language-TypeScript">public authenticateByFacebookIfRegistered(facebookToken: string, authID: string | null, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-by-facebook-without-registration) - **REMOVED in version 1.0.0**

---

This method authenticates a customer with Sign In With Apple.

<pre><code class="language-TypeScript">public authenticateByAppleSignIn(identityToken: string, context: ClientAppleSignInAuthenticationContext, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-by-sign-in-with-apple-with-registration) - **REMOVED in version 1.0.0**

---

This method authenticates a customer with Sign In With Apple.

<pre><code class="language-TypeScript">public authenticateByAppleSignInIfRegistered(identityToken: string, authID: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-by-sign-in-with-apple-without-registration) - **REMOVED in version 1.0.0**

---

This method authenticates a customer with Simple Profile Authentication.

<pre><code class="language-TypeScript">public simpleAuthentication(data: ClientSimpleAuthenticationData, authID: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#authenticate-customer-via-simple-profile-authentication)

---

This method checks if a customer is signed in (via Synerise Authentication - RaaS, OAuth, Facebook, Apple).

<pre><code class="language-TypeScript">public isSignedIn(): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#check-if-a-customer-is-signed-in-via-raas-oauth-facebook-apple)

---

This method checks if a customer is signed in (via Simple Profile Authentication).

<pre><code class="language-TypeScript">public isSignedInViaSimpleAuthentication(): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#check-if-a-customer-is-signed-in-via-simple-profile-authentication)

---

This method signs out a customer out.

<pre><code class="language-TypeScript">public signOut()</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#sign-out-a-customer)

---

This method signs out a customer out with a chosen mode and Determines if the method should sign out all devices

<pre><code class="language-TypeScript">public signOutWithMode(mode: ClientSignOutMode, fromAllDevices: boolean, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#sign-out-customer-with-mode-or-from-all-devices)

---

This method refreshes the customer’s current token.

<pre><code class="language-TypeScript">public refreshToken(onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-session#refresh-customer-token)

---

This method retrieves the customer’s current, active token.

<pre><code class="language-TypeScript">public retrieveToken(onSuccess: (token: Token) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-session#retrieve-customer-token)

---

This method retrieves the customer’s current UUID.

<pre><code class="language-TypeScript">public getUUID(): string</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-session#get-current-customer-uuid)

---

This method regenerates the UUID and clears the authentication token, login session, custom email, and custom identifier.

<pre><code class="language-TypeScript">public regenerateUUID()</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-session#regenerate-customer)

---

This method regenerates the UUID and clears the authentication token, login session, custom email, and custom identifier.

<pre><code class="language-TypeScript">public regenerateUUIDWithClientIdentifier(clientIdentifier: string)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-session#regenerate-customer-with-identifier)

---

This method destroys the session completely.

<pre><code class="language-TypeScript">public destroySession()</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-session#destroy-current-session)

---

This method gets a customer’s account information.

<pre><code class="language-TypeScript">public getAccount(onSuccess: (clientAccountInformation: ClientAccountInformation) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#get-customer-account-information)

---

This method updates a customer’s account’s basic information (without identification data: uuid, customId, email).

<pre><code class="language-TypeScript">public updateAccountBasicInformation(context: ClientAccountUpdateBasicInformationContext, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#update-customer-account-basic-information)

---

This method updates a customer’s account information.

<pre><code class="language-TypeScript">public updateAccount(context: ClientAccountUpdateContext, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#update-customer-account-information)

---

This method requests a customer’s password reset with email.

<pre><code class="language-TypeScript">public requestPasswordReset(email: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#request-password-reset-for-customer-account)

---

This method confirm a customer’s password reset with the new password and token provided by password reset request.

<pre><code class="language-TypeScript">public confirmPasswordReset(password: string, token: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#confirm-password-reset-for-customer-account)

---

This method changes a customer’s password.

<pre><code class="language-TypeScript">public changePassword(oldPassword: string, newPassword: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#change-customers-account-password)

---

This method requests a customer's email change.

<pre><code class="language-TypeScript">public requestEmailChange(email: string, password: string | null, externalToken: string | null, authID: string | null, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#request-email-change-for-customer-account)

---

This method confirms an email change.

<pre><code class="language-TypeScript">public confirmEmailChange(token: string, newsletterAgreement: boolean, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#confirm-email-change-for-customer-account)

---

Requests a customer's phone update. A confirmation code is sent to the phone number.

<pre><code class="language-TypeScript">public requestPhoneUpdate(phone: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#request-phone-update-on-customer-account)

---

This method confirms a phone number update. This action requires the new phone number and confirmation code as parameters.

<pre><code class="language-TypeScript">public confirmPhoneUpdate(phone: string, confirmationCode: string, smsAgreement: boolean, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#confirm-phone-update-on-customer-account)

---

This method requests a customer's account registration process with the PIN code.

<pre><code class="language-TypeScript">public requestAccountActivationByPin(email: string, onSuccess: () =&gt; void, onError: (error: Error)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#request-customer-account-activation-by-pin)

---

This method confirms a customer's account registration process with the PIN code.

<pre><code class="language-TypeScript">public confirmAccountActivationByPin(pinCode: string, email: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-authentication#confirm-customer-account-activation-by-pin)

---

This method deletes a customer's account.

<pre><code class="language-TypeScript">public deleteAccountByIdentityProvider(clientAuthFactor: string, clientIdentityProvider: ClientIdentityProvider, authID: string | null, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#delete-customer-account-by-identity-provider)

---

This method deletes a customer's account.

<pre><code class="language-TypeScript">public deleteAccount(password: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#delete-customer-account)

---

This method deletes a customer's account by OAuth.

<pre><code class="language-TypeScript">public deleteAccountByOAuth(password: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#delete-customer-account-by-oauth)

---

This method deletes a customer's account by Facebook.

<pre><code class="language-TypeScript">public deleteAccountByFacebook(password: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/client-account#delete-customer-account-by-facebook)

---
---

### Tracker
The module for sending event tracking data to Synerise backend. Tracking is performed by creating pre-defined or custom event objects and sending these to Synerise. It also includes automatic event interception by the Auto-Tracking feature.
  
**Declared In:**  
lib/main/modules/TrackerModule.js  

**Related To:**  
[Event](/developers/mobile-sdk/class-reference/react-native/events#event)  

**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/react-native/modules#basemodule)  

**Declaration:**

<pre><code class="language-TypeScript">class TrackerModule extends Module</code></pre>

  
**Methods:**

This method sets a custom identifier in the parameters of every event.

<pre><code class="language-TypeScript">public setCustomIdentifier(identifier: string)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/tracking#set-custom-identifier-for-events)

---

This method sets a custom email in the parameters of every event.

<pre><code class="language-TypeScript">public setCustomEmail(email: string)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/tracking#set-custom-email-for-events)

---

This method sends an event.

<pre><code class="language-TypeScript">public send(event: Event)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/tracking#send-event)

---

This method forces sending the events from the queue to the server.

<pre><code class="language-TypeScript">public flushEvents(onSuccess: () =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/tracking#flush-events-from-tracker)

---
---

### Injector
The module for handling Synerise UI activities such as walkthrough, banner, simple push, and so on.
  
**Declared In:**  
lib/main/modules/InjectorModule.js  
  
**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/react-native/modules#basemodule)   
  
**Declaration:**  

<pre><code class="language-TypeScript">class InjectorModule extends Module</code></pre>

  
**Methods:**

Closes an in-app message and sends an `inApp.discard` event.  

Usage examples:
- Closing a top bar or bottom bar when the user taps outside the in-app area.
- Automatically dismissing messages when navigating away from a screen.
- Controlling in-app visibility based on app logic for a smoother user experience.

  <pre><code class="language-typescript">public closeInAppMessage(campaignHash: string)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#close-in-app-message)

---

This method sets an object for Injector listener methods.

<pre><code class="language-TypeScript">public setListener(listener: IInjectorListener)</code></pre>

[(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/react-native-listeners#injector-listener)

---

This method sets an object for in-app message listener methods.

<pre><code class="language-TypeScript">public setInAppMessageListener(listener: IInjectorInAppMessageListener)</code></pre>

[(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/react-native-listeners#injector-in-app-message-listener)

---

This method sets if banners should be shown or not.

<pre><code class="language-TypeScript">public setShouldBannerPresentFlag(shouldPresentBanner: boolean)</code></pre>


---

This method fetches banners set for mobile campaigns and caches the valid ones.

<pre><code class="language-TypeScript">public fetchBanners(onSuccess: (banners: Array&lt;Object&gt;) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#fetch-banners) - **REMOVED in 0.12.0**

---

This method provides valid banners directly from SDK cache.

<pre><code class="language-TypeScript">public getBanners(): Array&lt;Object&gt;</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#get-banners) - **REMOVED in 0.12.0**

---

This method shows a banner immediately.

<pre><code class="language-TypeScript">public showBanner(banner: Object, markPresented: boolean)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#show-banner) - **REMOVED in 0.12.0**

---

This method fetches a walkthrough.

<pre><code class="language-TypeScript">public getWalkthrough()</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#get-walkthrough) - **REMOVED in version 1.0.0**

---

This method shows a walkthrough when it is loaded.

<pre><code class="language-TypeScript">public showWalkthrough()</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#show-walkthrough) - **REMOVED in version 1.0.0**

---

This method checks if a walkthrough is loaded.

<pre><code class="language-TypeScript">public isWalkthroughLoaded(): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-walkthrough-is-loaded) - **REMOVED in version 1.0.0**

---

This method checks if the walkthrough is unique compared to the previous one.

<pre><code class="language-TypeScript">public isLoadedWalkthroughUnique(): boolean</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/campaigns#check-if-is-loaded-walkthrough-unique) - **REMOVED in version 1.0.0**

---
---

### Promotions
The module for handling promotions and vouchers from Synerise SDK.
  
**Declared In:**  
lib/main/modules/PromotionsModule.js    
  
**Related To:**  
[PromotionResponse](/developers/mobile-sdk/class-reference/react-native/promotions-and-vouchers#promotionresponse)  
[Promotion](/developers/mobile-sdk/class-reference/react-native/promotions-and-vouchers#promotion)  
[AssignVoucherResponse](/developers/mobile-sdk/class-reference/react-native/promotions-and-vouchers#assignvoucherresponse)  
[VoucherCodesResponse](/developers/mobile-sdk/class-reference/react-native/promotions-and-vouchers#vouchercodesresponse)  
  
**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/react-native/modules#basemodule)  
  
**Declaration:**

<pre><code class="language-TypeScript">class PromotionsModule extends Module</code></pre>

  
**Methods:**

This method retrieves all available promotions that are defined for a customer.

<pre><code class="language-TypeScript">public getAllPromotions(onSuccess: (promotionResponse: PromotionResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#get-all-promotions-of-a-customer)

---

This method retrieves promotions that match the parameters defined in an API query.

<pre><code class="language-TypeScript">public getPromotions(apiQuery: PromotionsApiQuery, onSuccess: (promotionResponse: PromotionResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#get-promotions-with-query-parameters)

---

This method retrieves the promotion with the specified UUID.

<pre><code class="language-TypeScript">public getPromotionByUUID(uuid: string, onSuccess: (promotion: Promotion) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#get-promotion-by-uuid)

---

This method retrieves the promotion with the specified code.

<pre><code class="language-TypeScript">public getPromotionByCode(code: string, onSuccess: (promotion: Promotion) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#get-promotion-by-code)

---

This method activates the promotion with the specified UUID.

<pre><code class="language-TypeScript">public activatePromotionByUUID(uuid: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#activate-promotion-by-uuid)

---

This method activates the promotion with the specified code.

<pre><code class="language-TypeScript">public activatePromotionByCode(code: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#activate-promotion-by-code)

---

This method activates promotions with a code or with UUID in a batch.

<pre><code class="language-TypeScript">public activatePromotionsBatch(promotionsIdentifiers: Array&lt;PromotionIdentifier&gt;, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#activate-promotions-in-a-batch)

---

This method deactivates the promotion with the specified UUID.

<pre><code class="language-TypeScript">public deactivatePromotionByUUID(uuid: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#deactivate-promotion-by-uuid)

---

This method deactivates the promotion with the specified code.

<pre><code class="language-TypeScript">public deactivatePromotionByCode(code: string, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#deactivate-promotion-by-code)

---

This method deactivates promotions with a code or with UUID in a batch.

<pre><code class="language-TypeScript">public deactivatePromotionsBatch(promotionsIdentifiers: Array&lt;PromotionIdentifier&gt;, onSuccess: () =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#deactivate-promotions-in-a-batch)

---

This method retrieves an assigned voucher code or assigns a voucher from a pool identified by UUID to the profile.

When the voucher is assigned for the first time, a [voucherCode.assigned](/docs/assets/events/event-reference/loyalty#vouchercodeassigned) event is produced.

<pre><code class="language-TypeScript">public getOrAssignVoucher(poolUuid: string, onSuccess: (assignVoucherRespone: AssignVoucherResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#get-or-assign-voucher-from-pool)

---

This method assigns a voucher from a pool identified by UUID to the profile.

A [voucherCode.assigned](/docs/assets/events/event-reference/loyalty#vouchercodeassigned) event is produced.

<pre><code class="language-TypeScript">public assignVoucherCode(poolUuid: string, onSuccess: (assignVoucherRespone: AssignVoucherResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#assign-voucher-code-from-pool)

---

This method retrieves voucher codes for a customer.

<pre><code class="language-TypeScript">public getAssignedVoucherCodes(onSuccess: (voucherCodesResponse: VoucherCodesResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/promotions#get-voucher-codes-assigned-to-customer)

---
---

### Content
The module for handling content from Synerise backend such as documents, recommendations, and so on.
  
**Declared In:**  
lib/main/modules/ContentModule.js  
  
**Related To:**  
[RecommendationResponse](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#recommendationresponse)  
[Recommendation](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#recommendation)  
[DocumentApiQuery](/developers/mobile-sdk/class-reference/react-native/recommendations-and-documents#documentapiquery)  
[ScreenViewApiQuery](/developers/mobile-sdk/class-reference/react-native/miscellaneous#screenviewapiquery)
[BrickworksApiQuery](/developers/mobile-sdk/class-reference/react-native/miscellaneous#brickworksapiquery)
  
**Inherits From:**  
[Module](/developers/mobile-sdk/class-reference/react-native/modules#basemodule)   
  
**Declaration:**

<pre><code class="language-TypeScript">class ContentModule extends Module</code></pre>

  
**Methods:**

---

This method generates the document assigned to a slug.

<pre><code class="language-TypeScript">public getDocument(slug: string, onSuccess: (document: object) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#get-document) - **REMOVED in version 1.0.0**

---

This method generates the document that is defined for the provided slug.

<pre><code class="language-TypeScript">public generateDocument(slug: string, onSuccess: (document: Document) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#generate-document)

---

This method generates the document that is defined for the provided slug.

<pre><code class="language-TypeScript">public generateDocumentWithApiQuery(slug: string, onSuccess: (document: Document) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#generate-document-with-query-parameters)

---

This method generates documents that are defined for parameters provided in the query object.

<pre><code class="language-TypeScript">public getDocuments(apiQuery: DocumentsApiQuery, onSuccess: (documents: Array&lt;object&gt;) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#get-documents) - **REMOVED in version 1.0.0**

---

This method generates recommendations that are defined for the options provided. The recommendations are generated by using a document with an insert.  

For instructions, see ["Displaying AI recommendations > With documents and screen views"](/developers/mobile-sdk/displaying-recommendations/documents).

<pre><code class="language-TypeScript">public getRecommendations(options: RecommendationOptions, onSuccess: (recommendationResponse: RecommendationResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#get-recommendations) - **REMOVED in version 1.0.0**

---

This method generates recommendations that are defined for the options provided. The recommendations are generated by using a document with an insert.  

For instructions, see ["Displaying AI recommendations > With documents and screen views"](/developers/mobile-sdk/displaying-recommendations/documents).

<pre><code class="language-TypeScript">public getRecommendationsV2(options: RecommendationOptions, onSuccess: (recommendationResponse: RecommendationResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#get-recommendations-v2)

---

This method generates the customer's highest-priority screen view campaign.

<pre><code class="language-TypeScript">public getScreenView(onSuccess: (screenViewResponse: ScreenViewResponse) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#get-screen-view) - **REMOVED in version 1.0.0**

---

This method generates a customer's highest-priority screen view campaign from the feed with the provided feed slug.

<pre><code class="language-TypeScript">public generateScreenView(slug: String, onSuccess: (screenView: ScreenView) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#generate-screen-view)

---

This method generates a customer's highest-priority screen view campaign from the feed with the provided feed slug.

<pre><code class="language-TypeScript">public generateScreenViewWithApiQuery(apiQuery: ScreenViewApiQuery, onSuccess: (screenView: ScreenView) =&gt; void, onError: (error: Error) =&gt; void)</code></pre>

[(Click for more details)](/developers/mobile-sdk/method-reference/react-native/content#generate-screen-view-with-query-parameters)

---