The Gleap SDK for Ionic / Capacitor is the easiest way to integrate Gleap into your apps. Communicate with your users directly and build better software by discovering their everyday pain points. Gleap is your all-in-one customer feedback tool for apps and websites.
For the SDK to work, you need an API key, which you can get for free at app.gleap.ai.
🏗 Installation
Installing the Gleap SDK takes only a few seconds.
Install the Gleap package via npm.
npm install capacitor-gleap-pluginSync your capacitor dependencies:
npx cap synciOS
The plugin needs Capacitor 7 or later and an iOS deployment target of 15.0 or higher. On iOS it is a Swift package that pulls the native Gleap iOS SDK from GitHub; it still ships a podspec for apps that use CocoaPods.
Swift Package Manager (recommended). New apps: npx cap add ios --packagemanager SPM. Existing CocoaPods apps can move with npx cap spm-migration-assistant once all their plugins support SPM (see Capacitor: Swift Package Manager). Set the app target's iOS deployment target to 15.0 in Xcode, then run npx cap sync ios again so CapApp-SPM/Package.swift declares iOS 15 as well.
CocoaPods. Set platform :ios, '15.0' in ios/App/Podfile and run npx cap sync ios.
pod install fails with None of your spec sources contain Gleap (= X.Y.Z). Add the SDK from GitHub to your app target in the Podfile, with the version the plugin requires (s.dependency 'Gleap', 'X.Y.Z' in node_modules/capacitor-gleap-plugin/CapacitorGleapPlugin.podspec):target 'App' do capacitor_pods # Add your Pods here pod 'Gleap', :git => 'https://github.com/GleapSDK/Gleap-iOS-SDK.git', :tag => 'X.Y.Z'endInitialize the Gleap SDK by adding the following code to your index.js/.tsx file or main component.
import { Gleap } from 'capacitor-gleap-plugin';
// Please make sure to call this method only once!
Gleap.initialize({ API_KEY: "YOUR_API_KEY" });Install the Gleap package via npm.
npm install GleapSDK/Capacitor-SDK#capacitor-v6 --saveSync your capacitor dependencies:
npx cap syncInitialize the Gleap SDK by adding the following code to your index.js/.tsx file or main component.
import { Gleap } from 'capacitor-gleap-plugin';
// Please make sure to call this method only once!
Gleap.initialize({ API_KEY: "YOUR_API_KEY" });Install the Gleap package via npm.
npm install GleapSDK/Capacitor-SDK#capacitor-v5 --saveSync your capacitor dependencies:
npx cap syncInitialize the Gleap SDK by adding the following code to your index.js/.tsx file or main component.
import { Gleap } from 'capacitor-gleap-plugin';
// Please make sure to call this method only once!
Gleap.initialize({ API_KEY: "YOUR_API_KEY" });Install the Gleap package via npm.
npm install GleapSDK/Capacitor-SDK#capacitor-v4 --saveSync your capacitor dependencies:
npx cap syncInitialize the Gleap SDK by adding the following code to your index.js/.tsx file or main component.
import { Gleap } from 'capacitor-gleap-plugin';
// Please make sure to call this method only once!
Gleap.initialize({ API_KEY: "YOUR_API_KEY" });capacitor-gleap-plugin).🌍 Data region
Gleap stores and processes your data in the region you selected at signup: EU (default) or US. If your project lives in the US region, select the region before initializing the SDK (requires SDK v18.0.0 or newer). EU projects don't need this call.
await Gleap.setRegion({ region: "us" });
await Gleap.initialize({ API_KEY: "API_KEY" });See Data regions for all hosts and details.
Required permissions (Android)
In order to use the image picker for attachments, add the following permissions to your AndroidManifest.xml.
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />The following permissions are needed to enable audio recordings.
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.audio.pro" android:required="false" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />Required permissions (iOS)
In order to use the image picker for attachments, add the following permissions to your Info.plist.
<key>NSPhotoLibraryUsageDescription</key> <string>We need access to your photo library to allow you to select an image.</string>
<key>NSCameraUsageDescription</key> <string>We need access to your camera to take photos.</string> The following permissions are needed to enable audio recordings.
<key>NSMicrophoneUsageDescription</key> <string>We need access to your microphone to record audio with videos.</string>🤝 Need help?
We are here to help! [email protected]

