Mobile SDK - FAQs
Answering the most asked questions
Ryan Quinn avatar
Written by Ryan Quinn
Updated over a week ago

SDK Sizes

The size of the SDKs will vary but Mobile SDK sizes are roughly:

  • iOS: ~2.5mb

  • Android: ~3mb ( will shrink on install with any shared dependencies etc )

Do you have any Xamarin Support?

  • No, you will have to rely on community libraries if it is needed.

Do you have any React Native Support?

  • We do! Our React Native wrapper was released June 24, 2021

  • Installation information can be found in our Developer Docs here:

  • Previously we would point customers to (unofficial and unsupported) community libraries like

  • Old saved reply/macros, for context: Intercom doesn't directly support installation for React Native, but we are aware of a 3rd party developer who has developed a wrapper for integrating the Messenger with this. You can check it out here. While this is not something that we support directly or have resources to dedicate to helping with, some of our customers have found this to work well. And just as a heads up, it's not a repository that we own or support, so when there are issues, they tend to persist for a while longer.

Does it support multiple languages?

  • Yes and it is based on the language of the OS

  • It is different to the"Browser language" as the Mobile SDKs do not load the Messenger in a browser

  • "Browser language" is only applicable to web integrations. Related article: Messenger - Web vs Mobile SDK (vs Mobile Web)

  • We also support language_override

  • We do not automatically track mobile user's language in an attribute like we do for web. If a customer wants to target outbound content at mobile users based on language they will need to setup tracking themself.

Does it support video upload on mobile

No, we don’t support video upload on mobile at this time.

Do the mobile SDKs support Right To Left languages(RTL)?

Currently, we don't officially support RTL in the mobile SDKs. However, newer features in the SDKs such as the Help Center do support it, which is why you will see a reference to RTL in newer releases of the SDKs. We do plan to fully support RTL in the future but for now, we don't currently support RTL.

Can you initialize / switch multiple app_ids dynamically

  • Android

    • Yes, instead of using Intercom.intialize(application,api_key,app_id) to initialize the app call Intercom.registerForLaterInitialisation(this);

    • Then later in the app, when ready to set the app_id call Intercom.intialize(application,api_key,app_id)

    • To switch again

      • logout of current session Intercom.client().logout()

      • initialise again via Intercom.intialize(application,api_key,app_id)

Do the Android/iOS mobile SDKs maintain session data on uninstalling and reinstalling of the app?

  • No they do not

  • For iOS: the apps are sandbox so the new installation will not have awareness of any previous install.

  • For Android: all the data will be gone on uninstall

If an app is upgraded e.g. via App/Play Store or in dev, the session data will be maintained.

How does Intercom store session data on the mobile device of an app using our SDK?

We store a file identity.icm that contains an anonymous UserId for unidentified users. For identified users we store their email (if they have provided one), their userid and intercom id. We use this to prevent re-registering a previously registered user. In terms of a session and whether we create a new one, this is determined by the time interval since the last session. The default here is 20 seconds. We don’t store anything on disk to track this.

Can the Android SDK be installed on an app that doesn't have Google Play Services i.e. the app is installed via Huawei App Gallery instead of Google Play Store?

No, Google Play Services is required for our Android SDK.


Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts

Did this answer your question?