Troubleshooting mobile issues

Having trouble with your mobile integration, push notifications, or in-app messages? Here are a few things that can help you fix the problem or gather information if you need to get in touch with support.

 This page is focused on our SDKs

If you’ve written your own mobile integration with, we may not be able to troubleshoot your app.

Before you contact Support

If you’re having trouble with push notifications and in-app messages, there are a few things you can do to troubleshoot the problem before you contact Support. These are common troubleshooting tips that are likely to fix your problem—and are the starting point for most of our SDK-related support conversations.

Otherwise, we’ll help you gather the information you’ll need if you do need to contact us.

1. Update the SDK

If you’re having trouble with your mobile integration, check your SDK version and see if there’s an update available. We’re constantly improving our SDKs, and you’ll get the best experience if you’re using the latest version.

Minor version updates typically include bug fixes.

SDKLatest version
React Native3.8.0

2. Run CIO SDK Tools

If you use our iOS SDK or have problems in iOS with React Native or Flutter, you can use CIO SDK Tools to help diagnose problems.

This is a node package that you can run from inside or outside your app’s project folder. After you install it, you can run the doctor command to check your SDK configuration and get tips to fix problems.

npx cio-sdk-tools@latest doctor /path/to/project

If you’re using our Android or Expo SDKs, move ahead to the next section. Our SDK tools don’t support Android and Expo yet, but we’re actively developing them to add support as soon as we can.

3. Check out troubleshooting tips

We have individual troubleshooting pages for each of our SDKs. We provide tips on these pages for some commonly seen problems, like issues displaying images in rich push notifications, problems registering device tokens to people in, getting in-app notifications and so on.

We may have already seen and solved your problem!

4. Compare your implementation to our sample apps

We’ve added sample apps to all of our SDKs. We use these sample apps to test changes to our SDKs, so we know they represent functioning apps. You can compare the appropriate sample app to your app and look for differences to pinpoint issues.

5. Check out our community

We have a community where you can ask questions, share tips, and get help from other users.

Someone in the community may have encountered and solved the problem you’re having!

6. Gather logs and contact support

If you do need to contact support, you’ll first need to enable debug logging in your app and replicate the issue so we can see what’s happening in your app and help troubleshoot the problem.

To enable debug logging, you’ll set logLevel to debug when you initialize the SDK.

CustomerIO.initialize(siteId: "YOUR SITE ID", apiKey: "YOUR API KEY", region: Region.US) { config in 
    config.logLevel = 'debug' 
  siteId = "your-site-id",
  apiKey = "your-api-key",
  appContext = this
import { CustomerIO, CustomerioConfig } from 'customerio-reactnative';

const data = new CustomerioConfig()
data.logLevel = CioLogLevel.debug

CustomerIO.initialize(env, data) 
import 'package:customer_io/customer_io.dart';
import 'package:customer_io/customer_io_config.dart';
import 'package:customer_io/customer_io_enums.dart';

await CustomerIO.initialize(
    config: CustomerIOConfig(
        siteId: "YOUR_SITE_ID",
        apiKey: "YOUR_API_KEY",
        //config options go here
        logLevel: "debug"
Copied to clipboard!
Is this page helpful?
Chat with AI