Upgrade from 6.x to 7.0.0
Version 7.0.0 of the Customer.io React Native SDK uses version 5.0.0 of our native iOS and Android SDKs. You don't need to change your code, but you need to update your iOS pods once.
What changed?
Version 7.0.0 of the React Native SDK uses version 5.0.0 of the Customer.io iOS and Android SDKs. You don’t need to change your JavaScript code or your AppDelegate. Your Podfile stays the same, unless you set up live notifications.
- iOS 15 and Android 7.0 (API level 24): The native SDKs now require these versions. Every version of React Native that the SDK supports already requires iOS 15.1 and API level 24, so you don’t need to change your deployment target or
minSdkVersion. The SDK’s Android module now defaults to aminSdkVersionof 24. CioFirebaseWrappercomes fromcustomerio-ios: If you send push notifications through Firebase Cloud Messaging (FCM), thecustomerio-reactnative/fcmpod now installsCioFirebaseWrapperfrom thecustomerio-iospackage, at the same version as the rest of the iOS SDK. It no longer uses the separatecustomerio-ios-fcmpackage. The pod still installsFirebaseMessagingfor you.- Newer Android libraries: The Android SDK now brings in
firebase-messaging26.0.0,play-services-base18.11.1, and WorkManager (androidx.work) 2.12.0. - Android build: Your app needs
compileSdk36 or later and Android Gradle plugin 8.9.1 or later. This requirement isn’t new in 7.0.0, but apps on React Native 0.77 to 0.80 might need to raise these versions. See Minimum requirements.
Upgrade process
-
Update the SDK:
BASHnpm install customerio-reactnative@7 # or yarn add customerio-reactnative@7 -
If you set up live notifications, change the
CustomerIOLiveActivitiesTemplatesandCustomerIOLiveActivitiesAttributesversions in your widget extension’s Podfile target to5.0.0. -
Update the Customer.io pods. If you use FCM, run:
BASHcd ios pod update CustomerIO CioFirebaseWrapperIf you use APNs, run
pod update CustomerIOfrom youriosfolder instead.You only need to do this once, when you upgrade from 6.x. Your
Podfile.lockstill lists the 6.x pods, so a plainpod installstops with an error, andpod repo updatedoesn’t fix it. -
If your Android app pins older versions of
firebase-messaging,play-services-base, or WorkManager, update them to at least 26.0.0, 18.11.1, and 2.12.0. -
Rebuild your app.
Known limitation
React Native Firebase 27 includes Firebase only through Swift Package Manager, so you can’t use it with customerio-reactnative/fcm yet. Version 6.x has the same limitation.