Localytics Destination
Localytics quick info
Localytics accepts Track, Page, and Identify calls. If you reference it in the Integrations object, call it “Localytics”.
Localytics accepts device-mode data from both Analytics.js and mobile sources. It does not accept data in cloud-mode.
Our Localytics mobile destination code is open sourced on GitHub. Feel free to check it out: iOS, Android.
Getting Started
Once the Segment library is integrated with your site or app, toggle Localytics on in your Segment destinations, and add your application’s App Key which you can find in your Localytics app settings. These new settings will take up to an hour to propogate to all of your existing users. For new users it’ll be instanteneous!
If you are using version 1.3.0 or higher of the Segment-Localytics Android SDK,
you can include a localytics.xml
file in your Android project’s res/values
folder to define your settings. Note that any settings entered in the Segment UI
will override the equivalent values defined in your localytics.xml
file. You
can read more about the localytics.xml
file in Localytics’s documentation
here.
Including a settings xml file in conjunction with a Segment-Localytics iOS SDK is not yet supported.
Note: Localytics does not accept cloud-mode data, so you must use a device-mode library ( such as Analytics.js, iOS/Android or React Native), with the Localytics SDKs bundled in order to send data to Localytics.
You must also add the Maven Localytics repo (since Localytics doesn’t publish it on Maven Central). You can see an example of how to add that here.
React Native set up
To add the Localytics device-mode SDK to a React Native project:
- Navigate to the root folder of your project, and run a
yarn add localytics
command to add the destination SDK to your project. - Add an
import
statement to your project, as in the example below.import Localytics from '@segment/analytics-react-native-localytics'
- In the same project file, add the destination to the
using
list in theawait
command.await analytics.setup('YOUR_WRITE_KEY', { // Add any of your Device-mode destinations. This ensures they load before continuing. using: Localytics // ... })
- Finally, change to your iOS development folder (
cd ios
) and runpod install
.
Identify
When you call identify
, we’ll set the Localytics
customer Id, and set any special Localytics traits you provide, such as name
,
or email
, and any custom traits as well.
Track
Whenever you call track
, we’ll log an event with
Localytics. track
takes the name of the event and any
optional properties you want to associate with the event.
Push Notifications
Push notifications on Android require a bit of extra work to setup.
-
First, you need to make sure Localytics is being bundled. You can find out more information about bundled integrations in our Android documentation.
-
Follow Localytics’ documentation to set up the permission in your AndroidManifest.xml. Specifically, the AndroidManifest changes regarding the
GcmReceiver
,GcmListenerService
,InstanceIDListenerServer
, andPushTrackingActivity
classes. -
In lieu of step four, you will register the Push receiver in your Activity or Application class within a Segment
onIntegrationReady
method:
@Override protected void onResume() {
super.onResume();
Analytics.with(this).onIntegrationReady(BundledIntegration.LOCALYTICS, new Callback() {
@Override public void onIntegrationReady(Object integration) {
Localytics.registerPush("YOUR-SENDER-ID");
}
});
}
Supported Sources and Connection Modes
Before you start, make sure Localytics supports the source type and connection mode you’ve chosen to implement. You can learn more about connection modes here.
Web | Mobile | Server | |
---|---|---|---|
📱 Device-mode | ✅ | ✅ | ⬜️ |
☁️ Cloud-mode | ⬜️ | ⬜️ | ⬜️ |
This destination requires that you use a Device-based Connection Mode for Mobile data. Make sure you package the Localytics mobile SDK with the Segment mobile library.
Settings
Segment lets you change these destination settings from the Segment app without having to touch any code.
App Key
You can find your App Key in your Localytics Settings page.
Custom Dimensions
Localytics only accepts custom dimensions that have been pre-set in your app. Make sure to set these up in Localytics first, under Settings > Apps and then editing your app settings. You should then map the trait
in an identify call or the property
in a track call to the corresponding custom dimension you want to send. For e.g. you might map gender
with custom dimension 0
. You can read more about custom dimensions here
Session Timeout Interval
If an App stays in the background for more than this many seconds, start a new session when it returns to foreground.
Use Organization Scope for Attributes
This allows a user to set the profileScope
of attributes within Localytics to Organization. If this is enabled, the attributes that you set for a user will be available across all of your apps in Localytics. If it’s unchecked, we’ll use the default SDK behavior of Application scoping.
This page was last modified: 23 Mar 2021
Need support?
Questions? Problems? Need more info? Contact us, and we can help!