Troubleshooting mobile issues
UpdatedHaving 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 Customer.io support.
This page is focused on our SDKs
If you’ve written your own mobile integration with Customer.io, we may not be able to troubleshoot your app.
Before you contact Customer.io 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 Customer.io 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.
SDK | Latest version |
---|---|
iOS | 3.4.1 |
Android | 4.2.0 |
React Native | 3.9.0 |
Flutter | 1.5.2 |
Expo | 1.0.0-beta.15 |
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 Customer.io, 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 Customer.io 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 Customer.io 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'
}
CustomerIO.Builder(
siteId = "your-site-id",
apiKey = "your-api-key",
appContext = this
)
.logLevel("debug")
.build()
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",
region: Region.us,
//config options go here
logLevel: "debug"
),
);