Skip to content
szabist edited this page Sep 3, 2021 · 21 revisions

Contents

Does Emarsys SDK share hardware id across different applications running on the same device?

If an app from vendor A including the Emarsys SDK is installed on a device and later a 2nd app from vendor B is installed on the same device, Emarsys SDK will generate two different hardware ids for the two applications. The only way to share the same Emarsys SDK hardware id across two different applications is if the app belongs to the same vendor and the app developer decides to do so and properly configures a Shared Keychain Access Group when setting up the Emarsys SDK.

Which version of the iOS platform is supported by the SDK?

We always guarantee support for the current and the previous version of iOS. Trying to support reaching a large portion of the iOS device base while also increasing the quality and efficiency of the SDK by incorporating newer and newer platform features is a delicate balancing act. As iOS devices are typically upgraded to the latest version soon after a new release is available, this in practice means that at least 95% of the iOS user base can always be reached. Currently this means iOS 11 and iOS 12. Having said that we do not automatically deprecate support for iOS 11 when e.g. iOS 13 is released. We will only deprecate support for iOS 11 when implementing some new functionality into the SDK can not any more be effectively done by using iOS 11 platform features. When this happens we issue a notice at least 3 month in advance about the planned change in platform support.

Which version of the SDK do we support?

We only offer support for the latest version of the SDK. If you run an earlier version of the SDK and report a bug, we will fix the bug only if it is still reproducible with the latest SDK version and ask you to upgrade to the newest version when released with the bug fix. In order to minimise disturbance when upgrading to a new version, we have a comprehensive regression test suite and we do our utmost best to maintain backward compatibility. In the rare case when maintaining backward compatibility is not possible, we will provide clear indication of the functionality impacted and suggestions to mitigate the problem.

Can the Emarsys Mobile SDK be integrated with React Native apps?

As React Native gives good support for building wrappers around platform native SDKs, using our Emarsys Mobile SDK in this way is doable, and we have an example repository here but we can not currently offer help to debug problems specific to using the Emarsys Mobile SDK in React Native applications.

Can the Emarsys SDK be integrated with Flutter apps?

We offer a plug-in to use the Emarsys SDK from a Flutter application.

What happens with the SDK events when the device is offline?

Emarsys SDK features an offline queue. All SDK events including e.g. logins, logouts, custom events, Predict related view and click events and requests enter this queue first. As long as the device is online, this queue is processed and events get sent to the backend continuously. While the device is offline, the queue stores the SDK events temporarily and when the SDK detects that network connectivity is back, it restarts the event sending. The events stay in the queue until response from the server is received, so the SDK can resend events in case a network error or a timeout occurs during sending or the server responds with a recoverable error code. If the server responds with a non-recoverable error code, e.g. authentication failure, the event is discarded.

What data is collected automatically by the Emarsys SDK?

Please find it here

What data is stored on the device by the Emarsys SDK?

URLSs of the Emarsys Mobile Engage back-end services:

  • EVENT_SERVICE_URL
  • CLIENT_SERVICE_URL
  • MESSAGE_INBOX_SERVICE_URL
  • DEEPLINK_SERVICE_URL
  • PREDICT_SERVICE_URL

The required tokens for the communication with the Emarsys Mobile Engage back-end services:

  • CONTACT_TOKEN
  • CLIENT_STATE
  • REFRESH_TOKEN

For the custom event tracking:

  • DEVICE_EVENT_STATE

Geofence information:

  • GEOFENCE_ENABLED
  • GEOFENCE_INITIAL_ENTER_TRIGGER

Push token:

  • PUSH_TOKEN

Hardware details:

*DEVICE_INFO

By changing the log level during setup of the SDK all this information can be printed out to the console after the setup of the Emarsys SDK.

Clone this wiki locally