getting-started.md
May 11, 2026 ยท View on GitHub
Getting Started
Requirements
- React Native 0.83.0 or later
- Android:
- Giphy SDK only supports projects that have been upgraded to androidx
- Requires minSdkVersion 24
- A Giphy Android SDK key from the Giphy Developer Portal. Please remember, you should use a separate key for every platform (Android, iOS, Web) you add our SDKs to.
- iOS:
- iOS 15.1 or later
- Xcode 16 and later
- A Giphy iOS SDK key from the Giphy Developer Portal. Please remember, you should use a separate key for every platform (Android, iOS, Web) you add our SDKs to.
Installation
๐จ Expo: This package is not available in the Expo Go app. Learn how you can use it with custom dev clients.
yarn add @giphy/react-native-sdk
or using npm
npm install @giphy/react-native-sdk --save
Go to your ios folder and run:
pod install
New architecture setup (Fabric)
This library supports new architecture! In order to use the new architecture some extra steps are needed.
iOS
Install pods with this flag inside ios folder:
RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
Android
Set newArchEnabled to true inside android/gradle.properties and then run:
yarn android
If you have issues with running android build you can try to generate codegen before the build using this command:
cd android && ./gradlew generateCodegenArtifactsFromSchema
Troubleshooting
Why do I get iOS linker errors
This StackOverflow thread may be helpful if you experience issues linking your iOS project.
GIFs Are Not Playing on Android
If you encounter an issue where GIFs appear as static images instead of animating, this may be due to a dependency conflict between React Native and the Fresco library used by our SDK.
The current SDK supports React Native 0.83.0 and later. If you are using an older SDK version, upgrade first.
If you still need to force Fresco versions, use the Fresco version that matches your React Native version.
Please check the exact version of Fresco used by the specific React Native version you are working with, as this may vary.
Add a block like this to android/build.gradle(:app) right before dependencies:
configurations.configureEach {
resolutionStrategy {
forcedModules = [
'com.facebook.fresco:fresco:3.2.0',
'com.facebook.fresco:animated-gif:3.2.0',
'com.facebook.fresco:animated-base:3.2.0',
'com.facebook.fresco:animated-drawable:3.2.0',
'com.facebook.fresco:animated-webp:3.2.0',
'com.facebook.fresco:webpsupport:3.2.0',
'com.facebook.fresco:imagepipeline-okhttp3:3.2.0',
'com.facebook.fresco:middleware:3.2.0',
'com.facebook.fresco:nativeimagetranscoder:3.2.0'
]
}
}
Feel free to open an issue here in this repo if you run into any problems.
Basic Usage
We offer two solutions for the SDK user interface - pre-built templates which handle the entirety of the GIPHY experience, and a Grid-Only implementation which allows for endless customization.
See customization to determine what's best for you.
- use Giphy Dialog for the plug and play GIPHY experience (example).
- use Giphy Grid View for a more customizable solution (example).