Mobile App Sources

Unlike most other sources, our mobile sources aren’t just a way to pass data from one platform to another. They support push notifications and in-app messages from Customer.io Journeys!

How mobile sources work

When you integrate our mobile sources into your app, you’ll gain support for mobile messages and the ability to send your app data do downstream destinations like your analytics platform, your marketing automation suite (Customer.io Journeys), and so on.

We currently have SDKs for iOS (Swift), Android, React Native, and Flutter.

flowchart LR a(Your app)-->|Audience activity|b((Data Pipelines)) c-->|Send messages
to your audience|a b-.->d(Your analytics platform) b-.->e(Your CRM) b-->c(Customer.io Journeys)

Why don’t I see my mobile platform when I add a source?

When you look in the source list, you may only find the iOS source. What about other mobile platforms?

While we have SDKs for iOS (Swift), Android, React Native, and Flutter, you’ll use our non-iOS SDKs as Track API sources. The integration process for non-iOS SDKs is nearly identical to an iOS source. You’ll just have to create Journeys API credentials rather than setting up a mobile source in Data Pipelines.

Our mobile SDKs originally send data directly to Journeys. So far, we’ve updated our iOS SDK (3.0 and later) to support Data Pipelines natively, but we’re still working to update our other SDKs.

PlatformLatest versionNative Data Pipelines sourceJourneys (Track) API source
iOS (Swift)3.2.0< 2.13.0
Android3.10.0
React Native3.7.0
Flutter1.4.0
Expo1.0.0-beta.15

For the most part, you won’t notice significant differences between our iOS source and our other SDKs. But we’ve detailed the few minor differences below. We’re also making sure that, when we do update our other SDKs to support Data Pipelines natively, the transition will be relatively seamless; your code changes should be minimal.

an image showing an Android Track API source and an iOS native source both connected to data pipelines.

Differences between iOS and Track API-based mobile sources

Our iOS 3.x (and later) SDKs are designed to work with Data Pipelines natively. Our other SDKs work with Data Pipelines through the Track API. While we’re updating our non-iOS SDKs to use Data Pipelines natively, you may notice the following differences with non-iOS sources in the meantime.

  1. Calls will read as coming from the Track API: when you use a Customer.io Journeys-based integration with Data Pipelines, you’ll need to set up a Journeys Track API source. This means that all calls from your mobile app will read as coming from the Track API, not from your website, mobile app, server, etc.
  2. Calls don’t collect context for each request: our iOS SDK collects context for each call, with basic information about the device, page, locale, etc of the person or object causing the call. Journeys API-based SDKs don’t collect this information with every call.
  3. Less robust support for anonymous activity: You can capture anonymous events and perform other calls for people you haven’t identified yet. Our Journeys-based SDKs typically require you to identify your user before you can do anything.

Create an iOS source

To support our mobile SDKs, you’ll first need to create your sourceA source is a website or server that you want to capture data from—it’s a source of data!, providing you with API credentials you’ll use to initialize the SDK and communicate with Customer.io.

By default, your iOS source isn’t connected to anything; you have to tell us where you want to send your mobile data. As a part of this process, you’ll connect your mobile source to your Journeys workspace—Customer.io as both source and destination. You must connect your source to your Journeys destination to take advantage of push and in-app messaging features.

  1. In the Data Pipelines tab, click Sources.
  2. Click Add Source and pick the iOS option.
  3. Enter a Name your source, like My iOS App.
  4. We’ll present you with credentials that you’ll use to initialize the SDK. Copy them and keep them handy.
  5. Click Complete Setup to finish setting up your source. But you’re not done yet!
    Set your name, get your CDP API Key, and click Complete Setup
    Set your name, get your CDP API Key, and click Complete Setup
  6. Select your Journeys workspace on the right-side of the Connections page.
    select the Journeys destination you want to connect your iOS source to
    select the Journeys destination you want to connect your iOS source to
  7. Click Add source and select the source you set up in previous steps. This tells Customer.io to send data from your app to your Customer.io workspace.
    connect your iOS source to your journeys workspace
    connect your iOS source to your journeys workspace

The connections page should show that your source is connected to your Journeys workspace. Hover over a source or destination to see its active connections. You can connect your source to multiple destinations, but you must connect it to your Journeys workspace to use push and in-app messaging features.

the connections page, showing an ios source connected to a journeys destination
the connections page, showing an ios source connected to a journeys destination

Connect your source to destinations

SDKs based on our Journeys API are already connected to your Journeys workspace. But you must connect your iOS 3.0 (or later) source to your Customer.io Journeys destination to take full advantage of messaging features.

Beyond connecting to Journeys, you can also send data to other destinations. Data Pipelines lets you choose which destinations you’ll send your data to, but we don’t connect to any destinations by default. While our mobile sources make your app able to receive messages, your mobile source must send data to your Customer.io Journeys workspace so that you can capture device tokens, identify the people you want to send messages to, and so on.

Now you’re ready to integrate the SDK. See our SDK developer documentation for help integrating the appropriate SDK into your app.

Create a non-iOS source

For non-iOS sources, you’ll create a set of Journeys API credentials. These credentials automatically set up your source and connect it to your Journeys workspace, making the setup process very easy!

  1. In Journeys, go to Data & Integrations > Integrations > Customer.io API and click Mange API Credentials.

  2. Click Create Track API Key.

  3. Enter a Name for your key, like My Android App. This is how you’ll recognize your source in Data Pipelines.

  4. Click Create. Copy your Site ID and API Key and keep them handy; you’ll use these keys to initialize the SDK.

    A screen showing a single set of track API credentials
    A screen showing a single set of track API credentials

  5. Go to Data Pipelines, and make sure your source appears on the Connections page. You’ll see your source as Journeys API .

    A journeys API source connected to the Journeys workspace destination
    A journeys API source connected to the Journeys workspace destination

Now you’re ready to integrate the SDK into your app! See our SDK developer documentation for help with the integration process.

Copied to clipboard!
  Contents
Is this page helpful?