# MoEngage: Developer Guide (SDKs)

## Developer Guide (SDKs)

### SDKs

- [SDK Integration Guide](https://moengage.com/docs/developer-guide/introduction.md): Integrate MoEngage SDKs across mobile, web, and cross-platform frameworks for customer engagement.
- [Connect Your IDE to MoEngage Docs](https://moengage.com/docs/developer-guide/connect-your-ide-to-moengage-docs.md): Connect your IDE to the MoEngage docs MCP server so your AI assistant can reference current SDK documentation while you integrate.
- [TV and OTT Integrations](https://moengage.com/docs/developer-guide/tv-and-ott-integrations/getting-started/tv-and-ott-integrations.md): Integrate MoEngage with TV and OTT platforms to track user behavior and send personalized messages.

#### iOS SDK

- [Release Checklist](https://moengage.com/docs/developer-guide/ios-sdk/checklist/release-checklist.md): Verify your MoEngage iOS SDK integration against this checklist before submitting to the App Store.
- [Compliance](https://moengage.com/docs/developer-guide/ios-sdk/compliance/compliance.md): Manage data tracking opt-outs and IDFA/IDFV privacy controls in your iOS app using the MoEngage SDK.
- [Manual Integration](https://moengage.com/docs/developer-guide/ios-sdk/manual-integration/manual-integration.md): Install and configure MoEngage iOS SDK frameworks manually without using a dependency manager.
- [iOS SDK Deprecated Versions](https://moengage.com/docs/developer-guide/ios-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage iOS SDK major versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.
- [Framework Size Impact](https://moengage.com/docs/developer-guide/ios-sdk/framework-size-impact/framework-size-impact.md): Review the compressed and uncompressed size impact of each MoEngage iOS SDK framework.
- [Apple TV](https://moengage.com/docs/developer-guide/ios-sdk/apple-tv/apple-tv.md): Learn about MoEngage SDK support for Apple TV including data tracking, in-app, and cards features.
- [iOS Sample App](https://moengage.com/docs/developer-guide/ios-sdk/sample-app/i-os-sample-app.md): Explore the MoEngage iOS sample application on GitHub as a reference for your SDK integration.

##### SDK Integration

###### Basic

- [SDK Integration](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/basic/sdk-integration.md): Install the MoEngage iOS SDK using Swift Package Manager or CocoaPods for your project.
- [SDK Initialization](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/basic/sdk-initialization.md): Initialize the MoEngage iOS SDK in your AppDelegate using your Workspace ID and data center.
- [Data Center](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/basic/data-center.md): Configure data center redirection in the MoEngage iOS SDK to route data to the correct cluster.
- [Configuring Project for Architecture Compatibility](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/basic/Configuring-Project-for-Architecture-Compatibility.md): Configure your Xcode project for arm64 architecture compatibility with MoEngage iOS SDK v10.x.x.
- [Integration through CocoaPods](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/basic/integration-through-cocoa-pods.md): Install the MoEngage iOS SDK using CocoaPods dependency manager for your Xcode project.

###### Advanced

- [Custom Proxy Domain - iOS](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/advanced/custom-proxy-domain-ios.md): Route MoEngage SDK traffic through your own subdomain to bypass ad blockers on iOS.
- [JWT Authentication](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/advanced/jwt-authentication.md): Secure your MoEngage data collection by implementing JWT authentication in your iOS application.
- [Add-On Security](https://moengage.com/docs/developer-guide/ios-sdk/sdk-integration/advanced/add-on-security.md): Encrypt data stored by the MoEngage iOS SDK on device using Keychain and encrypted storage.

##### Data Tracking

###### Basic

- [Install/Update differentiation](https://moengage.com/docs/developer-guide/ios-sdk/data-tracking/basic/install-update-differentiation.md): Differentiate between app installs and updates in your iOS app using the MoEngage appStatus API.
- [Tracking user attributes](https://moengage.com/docs/developer-guide/ios-sdk/data-tracking/basic/tracking-user-attributes.md): Track user attributes and set unique identifiers for cross-platform identification in the iOS SDK.
- [Setting Unique Id for SDK versions below 9.23.0](https://moengage.com/docs/developer-guide/ios-sdk/data-tracking/basic/setting-unique-id-for-sdk-versions-below-9-23-0.md): Set a unique user ID for login and logout in MoEngage iOS SDK versions below 9.23.0.
- [Tracking events](https://moengage.com/docs/developer-guide/ios-sdk/data-tracking/basic/tracking-events.md): Track custom user events and their attributes in your iOS app using the MoEngage SDK.

###### Advanced

- [Tracking Locale](https://moengage.com/docs/developer-guide/ios-sdk/data-tracking/advanced/tracking-locale.md): Track the locale settings of your user's device in your iOS app using the MoEngage SDK.
- [Session and Source Tracking](https://moengage.com/docs/developer-guide/ios-sdk/data-tracking/advanced/session-and-source-tracking.md): Track user sessions and deep-link source information in your iOS app using the MoEngage SDK.
- [Personalize Experience Events tracking](https://moengage.com/docs/developer-guide/ios-sdk/data-tracking/advanced/personalize-experience-events-tracking.md): Report impression and click events for experiences from the MoEngage Personalize API in your iOS app.

##### Push

###### Basic

- [iOS Push Integration Tutorial](https://moengage.com/docs/developer-guide/ios-sdk/push/basic/ios-push-integration-tutorial.md): Step-by-step instructions for integrating the MoEngage iOS SDK to send, receive, and track rich push notifications.
- [Push Notifications](https://moengage.com/docs/developer-guide/ios-sdk/push/basic/push-notifications.md): Set up push notifications in your iOS app with MoEngage including APNS, templates, and geofencing.
- [APNS Authentication Key](https://moengage.com/docs/developer-guide/ios-sdk/push/basic/apns-authentication-key.md): Generate and upload an APNs Authentication Key to the MoEngage Dashboard for iOS push delivery.
- [APNS Certificate/PEM file (legacy)](https://moengage.com/docs/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy.md): Create and upload a legacy APNs certificate in PEM format for iOS push notifications with MoEngage.
- [Actionable Notifications](https://moengage.com/docs/developer-guide/ios-sdk/push/basic/actionable-notifications.md): Add custom action buttons to standard iOS push notifications using the MoEngage SDK.

###### Optional

- [Transactional Live Activity](https://moengage.com/docs/developer-guide/ios-sdk/push/optional/transactional-live-activity.md): Display real-time transactional updates on the iPhone Lock Screen using MoEngage Live Activities.
- [Broadcast Live Activity](https://moengage.com/docs/developer-guide/ios-sdk/push/optional/broadcast-live-activity.md): Display real-time broadcast updates on the iPhone Lock Screen using MoEngage Broadcast Live Activities.
- [Push templates](https://moengage.com/docs/developer-guide/ios-sdk/push/optional/push-templates.md): Add custom push notification templates with Notification Content Extension in your iOS app.
- [Push Handled by Application](https://moengage.com/docs/developer-guide/ios-sdk/push/optional/push-handled-by-application.md): Handle push notification display and tracking yourself using the MoEngage iOS SDK messaging APIs.
- [Real-Time Triggers](https://moengage.com/docs/developer-guide/ios-sdk/push/optional/real-time-triggers.md): Set up device-triggered push notifications that fire instantly when a user performs an event on iOS.
- [iOS Notification Center](https://moengage.com/docs/developer-guide/ios-sdk/push/optional/i-os-notification-center.md): Add an inbox view controller to your iOS app to display read and unread push notifications.
- [Location triggered](https://moengage.com/docs/developer-guide/ios-sdk/push/optional/location-triggered.md): Set up geofence-based location-triggered push notifications in your iOS app with the MoEngage SDK.

###### Advanced

- [Custom Notification Handling](https://moengage.com/docs/developer-guide/ios-sdk/push/advanced/custom-notification-handling.md): Customize badge reset, notification sounds, and action handling in iOS push with the MoEngage SDK.

##### In-App Messages

- [In-App Nativ](https://moengage.com/docs/developer-guide/ios-sdk/in-app-messages/in-app-nativ.md): Display contextual in-app messages to your iOS app users using the MoEngage In-App NATIV SDK.
- [Custom Action Handling](https://moengage.com/docs/developer-guide/ios-sdk/in-app-messages/custom-action-handling.md): Handle deep link callbacks and custom actions from MoEngage in-app messages in your iOS app.

##### Personalize

- [Personalize SDK](https://moengage.com/docs/developer-guide/ios-sdk/personalize/personalize-sdk.md)

##### Cards

- [Cards in iOS](https://moengage.com/docs/developer-guide/ios-sdk/cards/cards-in-i-os.md): Create and display card campaigns in your iOS app using the MoEngage Cards SDK via SPM or CocoaPods.
- [Self Handled Cards](https://moengage.com/docs/developer-guide/ios-sdk/cards/self-handled-cards.md): Build custom card views in your iOS app using the MoEngage self-handled cards SDK and APIs.

##### Migration

- [Migration to SDK version 9.0.0](https://moengage.com/docs/developer-guide/ios-sdk/migration/migration-to-sdk-version-9-0-0.md): Migrate your MoEngage iOS SDK to version 9.0.0 with updated class names and initialization methods.
- [Migration to SDK version 8.2.0](https://moengage.com/docs/developer-guide/ios-sdk/migration/migration-to-sdk-version-8-2-0.md): Migrate your MoEngage iOS SDK to version 8.2.0 with updated pod names, imports, and initialization.
- [Migration to SDK version 7.0.0](https://moengage.com/docs/developer-guide/ios-sdk/migration/migration-to-sdk-version-7-0-0.md): Migrate your MoEngage iOS SDK integration to version 7.0.0 with updated initialization and config.
- [Migration to SDK version 6.0.0](https://moengage.com/docs/developer-guide/ios-sdk/migration/migration-to-sdk-version-6-0-0.md): Migrate your MoEngage iOS SDK integration to version 6.0.0 with updated initialization and APIs.
- [Migration Of MoEngage SDK From Cocoapods To SPM](https://moengage.com/docs/developer-guide/ios-sdk/migration/migration-of-moengage-sdk-from-cocoapods-to-spm.md)

##### OS Updates

- [iOS 15](https://moengage.com/docs/developer-guide/ios-sdk/os-updates/i-os-15.md): Review iOS 15 behavior changes that affect push notification appearance and MoEngage SDK features.

##### Troubleshooting and FAQs

- [Troubleshooting and FAQs - iOS SDK](https://moengage.com/docs/developer-guide/ios-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-ios.md): Enable SDK logs and find answers to common MoEngage iOS SDK integration and debugging questions.

#### Android SDK

- [Release Checklist](https://moengage.com/docs/developer-guide/android-sdk/checklist/release-checklist.md): Verify your MoEngage Android SDK integration against this checklist before releasing your app.
- [Android SDK Deprecated Versions](https://moengage.com/docs/developer-guide/android-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage Android SDK major versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.
- [Android TV](https://moengage.com/docs/developer-guide/android-sdk/android-tv/android-tv.md): Integrate MoEngage features like data tracking, in-app messages, and cards into your Android TV app.
- [Android Sample App](https://moengage.com/docs/developer-guide/android-sdk/sample-app/android-sample-app.md): Explore the MoEngage Android sample app on GitHub as a reference for your SDK integration.

##### SDK Integration

###### Basic Integration

- [Install Using BOM](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/basic-integration/Install-Using-BOM.md): Use the MoEngage Bill of Materials to manage compatible Android SDK module versions.
- [Configuring Build Settings](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/basic-integration/configuring-build-settings.md): Configure your Android project build settings by adding the Maven repository and enabling Java 8.
- [SDK Initialization](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/basic-integration/sdk-initialization.md): Initialize the MoEngage Android SDK in your Application class using your Workspace ID and data center.
- [Exclude MoEngage Storage File from Auto-Backup](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/basic-integration/exclude-mo-engage-storage-file-from-auto-backup.md): Exclude MoEngage storage files from Android auto-backup to prevent data corruption after restore.

###### Advanced or Optional

- [Custom Proxy Domain - Android](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/advanced-or-optional/custom-proxy-domain-android.md): Route MoEngage SDK traffic through your own subdomain to bypass ad blockers on Android.
- [JWT Authentication](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/advanced-or-optional/jwt-authentication.md): Secure your MoEngage data collection by implementing JWT authentication in your Android app.
- [Installing SDK using Artifact Id](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/advanced-or-optional/installing-sdk-using-artifact-id.md): Install MoEngage Android SDK modules individually using their Maven Central artifact IDs.
- [Network Security Configuration](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/advanced-or-optional/network-security-configuration.md): Whitelist MoEngage SDK domains in your custom Android network security configuration.
- [Add-On Security](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/advanced-or-optional/add-on-security.md): Encrypt data stored by the MoEngage Android SDK on device using the encrypted storage module.
- [SDK Build Specifications](https://moengage.com/docs/developer-guide/android-sdk/sdk-integration/advanced-or-optional/sdk-configuration.md): Review the build specifications and library versions used to compile the MoEngage Android SDK.

##### Data Tracking

###### Basic

- [Enable Advertising Identifier Tracking](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/basic/enable-advertising-identifier-tracking.md): Enable advertising identifier tracking in the MoEngage Android SDK for accurate device analytics.
- [Track Install or Update](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/basic/track-install-or-update.md): Differentiate between app installs and updates in the MoEngage Android SDK using the setAppStatus API.
- [Track User Attributes](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/basic/track-user-attributes.md): Track user attributes and set unique identifiers for user identification in the MoEngage Android SDK.
- [Setting Unique Id for SDK versions below 13.6.00](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/basic/setting-unique-id-for-sdk-versions-below-13-6-00.md): Set a unique user ID for login and logout in MoEngage Android SDK versions below 13.6.00.
- [Track Events](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/basic/track-events.md): Track custom user events and their attributes in your Android app using the MoEngage SDK.

###### Advanced or Optional

- [Tracking Locale](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/advanced-or-optional/tracking-locale.md): Optionally track the device locale in your Android app using the MoEngage SDK.
- [Configuring Opt-outs](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/advanced-or-optional/configuring-opt-outs.md): Configure tracking opt-outs for device identifiers like GAID and Android ID in the MoEngage Android SDK.
- [Device Identifier Tracking](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/advanced-or-optional/device-identifier-tracking.md): Enable or disable Android ID and advertising identifier tracking in the MoEngage Android SDK.
- [Personalize Experience Events Tracking](https://moengage.com/docs/developer-guide/android-sdk/data-tracking/advanced-or-optional/personalize-experience-events-tracking.md): Track impression and click events for personalized experiences from the MoEngage Personalize API on Android.

##### Push

###### Basic

- [Push Configuration](https://moengage.com/docs/developer-guide/android-sdk/push/basic/push-configuration.md): Configure push notification metadata, icons, and Firebase settings for the MoEngage Android SDK.
- [FCM Authentication](https://moengage.com/docs/developer-guide/android-sdk/push/basic/fcm-authentication.md): Generate and upload an FCM private key to the MoEngage Dashboard for Android push notification delivery.
- [Notification Runtime Permissions](https://moengage.com/docs/developer-guide/android-sdk/push/basic/notification-runtime-permissions.md): Handle Android 13 notification runtime permissions in your app using the MoEngage SDK.
- [Push token registration and Display](https://moengage.com/docs/developer-guide/android-sdk/push/basic/push-token-registration-and-display.md): Set up push token registration and notification display with FCM in the MoEngage Android SDK.

###### Advanced

- [Callbacks and Customisation](https://moengage.com/docs/developer-guide/android-sdk/push/advanced/callbacks-and-customisation.md): Customize push notification display and behavior in your Android app using the MoEngage PushMessageListener.
- [Push Display Handled by Application](https://moengage.com/docs/developer-guide/android-sdk/push/advanced/push-display-handled-by-application.md): Handle push notification display yourself and track impressions and clicks with the MoEngage Android SDK.

###### Optional

- [Push Amplification](https://moengage.com/docs/developer-guide/android-sdk/push/optional/push-amplification.md): Install the MoEngage push-amp module to improve push notification delivery rates on Android.
- [Device Triggered](https://moengage.com/docs/developer-guide/android-sdk/push/optional/device-triggered.md): Install the MoEngage realtime-trigger module to enable device-triggered push notifications on Android.
- [Location Triggered](https://moengage.com/docs/developer-guide/android-sdk/push/optional/location-triggered.md): Set up geofence-based location-triggered push notifications in your Android app with the MoEngage SDK.
- [Notification Center](https://moengage.com/docs/developer-guide/android-sdk/push/optional/notification-center.md): Add a notification center to your Android app to display push notification history using MoEngage SDK.
- [Push Templates](https://moengage.com/docs/developer-guide/android-sdk/push/optional/push-templates.md): Add rich push notification templates with timers and progress bars to your Android app using MoEngage.
- [Heads Up Notification](https://moengage.com/docs/developer-guide/android-sdk/push/optional/heads-up-notification.md): Configure heads-up push notifications using Android notification channels in the MoEngage SDK.

###### Push AMP+

- [Push AMP Plus Integration](https://moengage.com/docs/developer-guide/android-sdk/push/optional/push-amp-plus/push-amp-plus-integration.md): Integrate MoEngage Push Amp+ to improve push notification delivery rates on Android OEM devices.
- [Steps to Remove Mi SDK Dependency](https://moengage.com/docs/developer-guide/android-sdk/push/optional/push-amp-plus/steps-to-remove-mi-sdk-dependency.md): Remove the discontinued Xiaomi Mi Push SDK dependency from your MoEngage Android integration.
- [Configuring HMS Push Kit](https://moengage.com/docs/developer-guide/android-sdk/push/optional/push-amp-plus/configuring-hms-push-kit.md): Configure Huawei HMS Push Kit in your Android app for MoEngage push notification delivery.
- [Configuring Huawei Push on MoEngage](https://moengage.com/docs/developer-guide/android-sdk/push/optional/push-amp-plus/configuring-huawei-push-on-mo-engage.md): Set up Huawei Push Kit callback URLs and HTTPS certificates on the MoEngage Dashboard.

##### In-App Messages

- [In-App NATIV](https://moengage.com/docs/developer-guide/android-sdk/in-app-messages/in-app-nativ.md): Display contextual in-app messages to your Android app users using the MoEngage In-App NATIV SDK.

##### Personalize

- [Personalize SDK](https://moengage.com/docs/developer-guide/android-sdk/personalize/personalize-sdk.md): Fetch and track personalized experience and offering campaigns natively from your Android app using the MoEngage Personalize SDK.

##### Cards

- [Cards](https://moengage.com/docs/developer-guide/android-sdk/cards/cards.md): Set up MoEngage Cards to deliver persistent inbox and newsfeed messages to your Android app users.
- [Self Handled Cards](https://moengage.com/docs/developer-guide/android-sdk/cards/self-handled-cards.md): Build custom card views in your Android app using the MoEngage self-handled Cards SDK.

##### Compliance

- [Prepare for Google Play's data disclosure requirements](https://moengage.com/docs/developer-guide/android-sdk/compliance/prepare-for-google-plays-data-disclosure-requirements.md): Review MoEngage Android SDK data collection details to complete Google Play's Data Safety disclosure.
- [Compliance](https://moengage.com/docs/developer-guide/android-sdk/compliance/compliance.md): Enable or disable data tracking and manage user consent in the MoEngage Android SDK.

##### Migration

- [Updating to 12.x.xx from 11.x.xx](https://moengage.com/docs/developer-guide/android-sdk/migration/updating-to-12xxx-from-11xxx.md): Migrate to MoEngage Android SDK 12.x.xx with updated build configs and modularized InApp and Push.
- [Updating to 11.x.xx from 10.x.xx](https://moengage.com/docs/developer-guide/android-sdk/migration/updating-to-11xxx-from-10xxx.md): Migrate to MoEngage Android SDK 11.x.xx with updated APIs, Java 8 support, and modular geofence setup.
- [Migration to 10.x.xx](https://moengage.com/docs/developer-guide/android-sdk/migration/migration-to-10xxx.md): Migrate to MoEngage Android SDK 10.x.xx with updated APIs, removed GCM support, and behavioral changes.
- [Migration from 4.x to 5.x (One time activity)](https://moengage.com/docs/developer-guide/android-sdk/migration/migration-from-4x-to-5x-one-time-activity.md): Migrate your MoEngage Android SDK integration from version 4.x to 5.x with updated receivers and APIs.
- [Moving from Manifest to Code based Integration](https://moengage.com/docs/developer-guide/android-sdk/migration/moving-from-manifest-to-code-based-integration.md): Migrate your MoEngage Android SDK setup from manifest metadata to code-based initialization.
- [Migration To Maven Central](https://moengage.com/docs/developer-guide/android-sdk/migration/migration-to-maven-central.md): Migrate your MoEngage Android SDK dependencies from JCenter to Maven Central.
- [Migrating from addon-inbox 6.0.2](https://moengage.com/docs/developer-guide/android-sdk/migration/migrating-from-addon-inbox-602.md): Migrate from addon-inbox 6.0.2 to the updated inbox-core and inbox-ui modules in MoEngage Android SDK.

##### OS Updates

- [Android 12](https://moengage.com/docs/developer-guide/android-sdk/os-updates/android-12.md): Review Android 12 behavior changes that affect push notifications and deep links in MoEngage campaigns.

##### Performance

- [SDK Performance](https://moengage.com/docs/developer-guide/android-sdk/performance/sdk-performance.md): Review MoEngage Android SDK performance benchmarks for initialization time, memory, and battery impact.
- [SDK Size Impact](https://moengage.com/docs/developer-guide/android-sdk/performance/sdk-size-impact.md): Review the APK and App Bundle size impact of each MoEngage Android SDK artifact.

##### Troubleshooting and FAQs

- [How To Use the MoEngage SDK Logger?](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-use-the-moengage-sdk-logger.md): Use the MoEngage SDK logger from your dashboard to debug implementation issues without sharing builds.
- [What Are the Scenarios Where the SDK Logger Is Not Usable?](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/what-are-the-scenarios-where-the-sdk-logger-is-not-usable.md): Learn about scenarios where the MoEngage SDK logger cannot help, such as integration and UI issues.
- [Troubleshooting and FAQs](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs.md): Find answers to common MoEngage Android SDK questions about debugging, logging, and integration.
- [Troubleshooting Push Redirection](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-push-redirection.md): Resolve common issues with deep linking, push CTA buttons, and rich landing page redirection on Android.
- [Troubleshooting Images](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-images.md): Troubleshoot common image rendering issues in Android push notifications including icon problems.
- [Troubleshooting In-App](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-in-app.md): Troubleshoot issues with MoEngage in-app messages not rendering or displaying correctly on Android.
- [Troubleshooting Exceptions](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-exceptions.md): Fix common MoEngage Android SDK exceptions related to in-app messages, lifecycle, and compatibility.
- [How to fix Token Drop?](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-fix-token-drop.md): Learn why push token drops occur in your Android app and how to fix them for reliable delivery.
- [How to share Android MoEngage SDK logs](https://moengage.com/docs/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-share-android-moengage-sdk-logs.md): Enable and share verbose MoEngage Android SDK logs with the support team to resolve issues faster.

#### Web SDK

- [Web SDK Deprecated Versions](https://moengage.com/docs/developer-guide/web-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage Web SDK versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.

##### Web SDK Overview

- [Web SDK Overview](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-overview/web-sdk-overview.md): Explore the MoEngage Web SDK modules for push notifications, analytics, on-site messaging, and more.
- [Web-SDK Browser Compatibility Matrix](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-overview/web-sdk-browser-compatibility-matrix.md): Check browser and platform compatibility for MoEngage Web SDK features including push and cards.

##### Web SDK Integration

###### Basic Integration

- [Web SDK Integration](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/basic-integration/web-sdk-integration.md): Integrate the MoEngage Web SDK on your website using script-based or manual initialization methods.

###### Advanced Integration

- [Content Security Policy (CSP) Nonce Support](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/advanced-integration/content-security-policy-csp-nonce-support.md): Configure CSP nonce support for the MoEngage Web SDK to comply with strict Content Security Policies.
- [Debugging Mode](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/advanced-integration/debugging-mode.md): Enable debug logging in the MoEngage Web SDK to troubleshoot integration issues in the browser console.
- [Cookies used by Web SDK](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/advanced-integration/cookies-used-by-web-sdk.md): Review the first-party cookies used by the MoEngage Web SDK for device and session tracking.
- [Web SDK Lifecycle Callbacks](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/advanced-integration/web-sdk-lifecycle-callbacks.md): Listen for MoEngage Web SDK lifecycle events like initialization and settings fetch completion.
- [Custom Proxy Domain - Web](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/advanced-integration/custom-proxy-domain-web.md): Route MoEngage Web SDK traffic through your own subdomain to bypass ad blockers and improve data accuracy.
- [Bot Traffic Blocking](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/advanced-integration/bot-traffic-blocking.md): Block bot and crawler traffic from affecting your MoEngage analytics and billing using user agent filtering.
- [Web SDK Opt-out](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/advanced-integration/web-sdk-opt-out.md): Disable the MoEngage Web SDK to stop data tracking and comply with user privacy preferences.

###### Optional

- [Native Browser API Support](https://moengage.com/docs/developer-guide/web-sdk/web-sdk-integration/optional-integration/native-browser-api-support.md): Integrate Native Browser API Support for the MoEngage Web SDK in applications that patch or override native browser APIs.

##### Data Tracking

- [Setting Unique Id for SDK versions below 2.52.2](https://moengage.com/docs/developer-guide/web-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-2-52-2.md): Set a unique user ID for login and logout in MoEngage Web SDK versions below 2.52.2.
- [Web SDK Data Tracking Introduction](https://moengage.com/docs/developer-guide/web-sdk/data-tracking/web-sdk-data-tracking-introduction.md): Learn about user attribute and event tracking capabilities in the MoEngage Web SDK.
- [Web SDK User Attributes Tracking](https://moengage.com/docs/developer-guide/web-sdk/data-tracking/web-sdk-user-attributes-tracking.md): Track user attributes like email, name, and gender on your website using the MoEngage Web SDK.
- [Web SDK Events Tracking](https://moengage.com/docs/developer-guide/web-sdk/data-tracking/web-sdk-events-tracking.md): Track user actions and event attributes on your website using the MoEngage Web SDK.
- [Configure Data opt-out in Web SDK](https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk.md): Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.

##### Web Push

- [Safari Web Push for iOS and iPadOS](https://moengage.com/docs/developer-guide/web-sdk/web-push/safari-web-push-for-i-os-and-i-pad-os.md): Set up web push notifications for Safari on iOS and iPadOS 16.4+ using a Progressive Web App.
- [Web Push Overview](https://moengage.com/docs/developer-guide/web-sdk/web-push/web-push-overview.md): Review Web Push prerequisites, browser support, and feature availability across platforms with MoEngage.
- [Configure and Integrate Web Push](https://moengage.com/docs/developer-guide/web-sdk/web-push/configure-and-integrate-web-push.md): Set up the service worker and SDK initialization to send web push notifications with MoEngage.
- [Configure Self-Handled Opt-In](https://moengage.com/docs/developer-guide/web-sdk/web-push/configure-self-handled-opt-in.md): Control when and where the browser push permission prompt appears using MoEngage self-handled opt-in.
- [Opted Out Users](https://moengage.com/docs/developer-guide/web-sdk/web-push/opted-out-users.md): Track push notification opt-in interactions and analyze user subscription behavior with MoEngage.

##### Onsite Messaging

- [Configure and Integrate On-site Messaging](https://moengage.com/docs/developer-guide/web-sdk/onsite-messaging/configure-and-integrate-on-site-messaging.md): Configure on-site messaging campaigns to show personalized pop-ups and banners on your website.
- [Self Handled On-Site Messaging](https://moengage.com/docs/developer-guide/web-sdk/onsite-messaging/self-handled-on-site-messaging.md): Receive on-site messaging campaign data as JSON and build custom UI for your website.

##### Cards

- [Cards](https://moengage.com/docs/developer-guide/web-sdk/cards/cards.md): Set up MoEngage Cards to deliver targeted inbox and newsfeed messages on your website.
- [Self Handled Cards](https://moengage.com/docs/developer-guide/web-sdk/cards/self-handled-cards.md): Fetch card campaign data via the MoEngage SDK and build custom card UI on your website.

##### Integration Validation

- [MoEngage Assist Chrome Extension](https://moengage.com/docs/developer-guide/web-sdk/integration-validation/moengage-assist-chrome-extension.md): Install the MoEngage Assist Chrome extension to debug your Web SDK integration, inspect live event payloads, and troubleshoot campaigns.

##### Migration

- [Standardizing Web SDK APIs for Cross-Platform Consistency](https://moengage.com/docs/developer-guide/web-sdk/migration/standardizing-web-sdk-apis-for-cross-platform-consistency.md): Learn how to migrate MoEngage Web SDK APIs from snake_case to camelCase. Ensure cross-platform consistency and avoid deprecation warnings with this transition guide.

##### Other Supported Web SDK Integration

- [User Login in AMP (Older Process)](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/user-login-in-amp-older-process.md): Track user login events on your AMP pages using the older MoEngage AMP analytics process.
- [WebView - WebSDK Support](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/web-view-web-sdk-support.md): Enable the MoEngage Web SDK inside a mobile app WebView on Android and iOS, including the JavaScript and storage settings the SDK requires.
- [SDK Support for Browser Extensions](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/sdk-support-for-browser-extensions.md): Use the MoEngage Web SDK inside Google Chrome browser extensions for analytics and event tracking.
- [Google Tag Manager (GTM) Templates](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/google-tag-manager-gtm-templates.md): Deploy the MoEngage Web SDK using Google Tag Manager templates without writing code on your website.
- [Smart TV integration](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/smart-tv-integration.md): Integrate MoEngage Web SDK with LG webOS and Samsung Tizen smart TVs for analytics and messaging.
- [Single Page App (SPA) Support](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/single-page-app-spa-support.md): Configure the MoEngage Web SDK to track page views in single page applications and PWAs.
- [Integrating with other Web Frameworks](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/integrating-with-other-web-frameworks.md): Integrate MoEngage Web SDK with React JS, Angular, or any other web framework.
- [Configure and Integrate AMP Event Analytics](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/configure-and-integrate-amp-event-analytics.md): Track user attributes and events on your AMP pages using the MoEngage AMP analytics plugin.
- [Configure and Integrate AMP Web Push](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/configure-and-integrate-amp-web-push.md): Enable web push notifications on your AMP pages using the MoEngage AMP Web Push integration.
- [Integrate MoEngage with MCP UI Apps](https://moengage.com/docs/developer-guide/web-sdk/other-supported-web-sdk-integration/integrate-moengage-with-mcp-ui-apps.md): Learn how to integrate the MoEngage Web SDK into MCP UI  applications. Configure CSP, initialize the SDK, and track user behavior via MCP UI apps.

#### Personalize SDK

- [Web Personalization - V2](https://moengage.com/docs/developer-guide/personalize-sdk/sdk-integration/web-personalization-v2.md): Integrate the MoEngage Personalize SDK to deliver personalized website experiences to your visitors.
- [Offerings events tracking](https://moengage.com/docs/developer-guide/personalize-sdk/sdk-integration/offerings-events-tracking.md): Track impression and click events for MoEngage Offerings fetched via the Personalize SDK or API.
- [Personalize API Experience events tracking](https://moengage.com/docs/developer-guide/personalize-sdk/sdk-integration/personalize-api-experience-events-tracking.md): Track impression and click events for API experiences created via the MoEngage Personalize API.
- [fetchExperiences - MoEngage Personalize SDK](https://moengage.com/docs/developer-guide/personalize-sdk/sdk-integration/self-handled-personalize-api-experiences.md): Fetch personalized experience payloads for the current user and render them using your own frontend components.
- [Content Security Policy (CSP) and Impact on Personalize](https://moengage.com/docs/developer-guide/personalize-sdk/sdk-integration/content-security-policy-csp-and-impact-on-personalize.md): Learn how to configure CSP to work seamlessly with MoEngage Personalize.
- [Custom Attributes](https://moengage.com/docs/developer-guide/personalize-sdk/sdk-integration/custom-attributes.md): Learn how to define and use custom attributes to personalize user experiences on your website.

#### Ecommerce Platforms

- [WooCommerce](https://moengage.com/docs/developer-guide/ecommerce-platforms/woo-commerce/woocommerce.md): Integrate your WooCommerce store with MoEngage using Google Tag Manager for event and user tracking.
- [Magento](https://moengage.com/docs/developer-guide/ecommerce-platforms/magento/magento.md): Integrate MoEngage Web SDK into your Magento store using Google Tag Manager or direct integration.

##### Shopify

- [Shopify 2.0](https://moengage.com/docs/developer-guide/ecommerce-platforms/shopify/shopify-20.md): Install and configure the MoEngage app on your Shopify 2.0 store for cross-channel engagement.
- [Events and User Data Tracking](https://moengage.com/docs/developer-guide/ecommerce-platforms/shopify/events-and-user-data-tracking.md): Send behavioral data from your Shopify store to MoEngage to build segments, trigger campaigns, and personalize communication.
- [User Data Sync](https://moengage.com/docs/developer-guide/ecommerce-platforms/shopify/user-data-sync.md): Sync your existing Shopify users and order history to MoEngage for segmentation and engagement.
- [Sync Your Product Catalog](https://moengage.com/docs/developer-guide/ecommerce-platforms/shopify/sync-product-catalog.md): Sync your Shopify product catalog to MoEngage to generate personalized recommendations for customers.
- [Validate Your Shopify Integration](https://moengage.com/docs/developer-guide/ecommerce-platforms/shopify/validate-integration.md): Validate your MoEngage Shopify integration to ensure user events and data are tracked correctly.
- [User Profile Management with Shopify](https://moengage.com/docs/developer-guide/ecommerce-platforms/shopify/user-profile-management-with-shopify.md): Understand how user profiles transition from anonymous to registered and how merging works with Shopify.
- [FAQs](https://moengage.com/docs/developer-guide/ecommerce-platforms/shopify/faqs.md): Find answers to common questions about the installation, configuration, and use of the MoEngage Shopify integration.

#### React Native SDK

- [Compliance](https://moengage.com/docs/developer-guide/react-native-sdk/compliance/compliance.md): Enable or disable data tracking and the MoEngage React Native SDK from the JavaScript layer.
- [TV Support](https://moengage.com/docs/developer-guide/react-native-sdk/tv/tv-support.md): Learn about MoEngage SDK support for Android TV and Apple TV in your React Native applications.
- [React Native Sample App](https://moengage.com/docs/developer-guide/react-native-sdk/sample-app/react-native-sample-app.md): Explore the MoEngage React Native sample application as a reference for integrating the SDK.
- [React Native SDK Deprecated Versions](https://moengage.com/docs/developer-guide/react-native-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage React Native SDK major versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.

##### Overview

- [Getting Started with React Native SDK](https://moengage.com/docs/developer-guide/react-native-sdk/overview/getting-started-with-react-native-sdk.md): Get started with the MoEngage React Native SDK for push notifications, in-app messages, and tracking.

##### SDK Integration

- [Limitations](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/limitations.md): Review features not supported or requiring native implementation in the MoEngage React Native plugin.

###### React Native

###### SDK Installation

- [Framework Dependency](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/framework-dependency.md): Install the MoEngage React Native plugin using npm and link your native dependencies.
- [Android Build Configuration](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/android.md): Configure Android build settings and add required dependencies for the MoEngage React Native SDK.
- [iOS](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/ios.md): Set up iOS dependencies for the MoEngage React Native SDK with Turbo architecture support.

###### SDK Initialization

###### File Based Initialization

- [File Based Initialization](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/file-based-initialization/file-based-initialization.md): Use file-based initialization to configure MoEngage React Native SDK with native config files.
- [Migration and Precedence](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/file-based-initialization/migration-and-precedence.md): Migrate your MoEngage React Native SDK from manual initialization to file-based configuration.

###### Manual Initialization

- [Framework Initialization](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/framework-initialization.md): Initialize the MoEngage React Native plugin in your App.js or App.ts after the component mounts.
- [Android](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/android.md): Initialize the MoEngage SDK in your Android Application class for React Native integration.
- [iOS](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/ios.md): Initialize the MoEngage SDK in your iOS AppDelegate for React Native integration.

###### Expo

- [Installation](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/expo/installation.md): Add the MoEngage SDK to your React Native Expo project using the npx expo install command.
- [Configure the MoEngage Expo SDK](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/expo/configure-the-moengage-expo-sdk.md): Configure the MoEngage Expo SDK plugin parameters and platform-specific initialization files.
- [Initialization](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/expo/initialization.md): Initialize the MoEngage SDK in your React Native Expo app to activate tracking and messaging.

###### Advanced

- [JWT Authentication](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/advanced/jwt-authentication.md): Secure your MoEngage data collection by implementing JWT authentication in your React Native application.

##### Data Tracking

- [Tracking User Attributes and User Identity](https://moengage.com/docs/developer-guide/react-native-sdk/data-tracking/tracking-user-attributes-and-user-identity.md): Track user attributes and set identifiers for identity resolution in the React Native SDK.
- [Enable Advertising Identifier Tracking](https://moengage.com/docs/developer-guide/react-native-sdk/data-tracking/enable-advertising-identifier-tracking.md): Enable advertising identifier tracking in your React Native app for accurate device analytics.
- [Install/Update](https://moengage.com/docs/developer-guide/react-native-sdk/data-tracking/install-update.md): Differentiate between app installs and updates in your React Native app using MoEngage setAppStatus.
- [Setting Unique Id for SDK versions below 11.2.0](https://moengage.com/docs/developer-guide/react-native-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-1120.md): Set a unique user ID for login and logout in React Native SDK versions below 11.2.0.
- [Tracking Events](https://moengage.com/docs/developer-guide/react-native-sdk/data-tracking/tracking-events.md): Track user events and their properties using the MoEngage React Native SDK for campaigns.
- [Delete User From MoEngage Server](https://moengage.com/docs/developer-guide/react-native-sdk/data-tracking/delete-user-from-moengage-server.md): Delete the current user from the MoEngage server using the React Native SDK on Android.

##### Push

###### Basic

- [Android Push Configuration](https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/android-push-configuration.md): Set up and configure Android push notifications for your React Native app using MoEngage and Firebase.
- [Android Notification Runtime Permissions](https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/android-notification-runtime-permissions.md): Handle Android 13 notification runtime permissions in your React Native app using the MoEngage SDK.
- [iOS Push Configuration](https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration.md): Configure iOS push notifications with APNS certificates and entitlements for your React Native app.
- [Push Callback](https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/push-callback.md): Set up push token and push click callback listeners in the MoEngage React Native SDK.

###### Set Up iOS Notification Extensions for Rich Push and Impression Tracking

- [Set Up iOS Notification Extensions for Rich Push and Impression Tracking](https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/integrating-moengage-service-and-content-extensions/set-up-ios-notification-extensions-for-rich-push-and-impression-tracking.md): Required configuration to enable push impression tracking and rich media notifications on iOS. Skipping this results in missing impression metrics and rich push failures.
- [Migrate To The Extension Integrator Tool](https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/integrating-moengage-service-and-content-extensions/migrating-to-the-extension-integrator-tool.md): Migrate from a manual iOS notification extension setup to the MoEngage Extension Integrator Tool in your React Native app.

###### Optional

- [Location Triggered](https://moengage.com/docs/developer-guide/react-native-sdk/push/optional/location-triggered.md): Install and configure the MoEngage Geofence SDK for location-triggered push in React Native.
- [Notification Center](https://moengage.com/docs/developer-guide/react-native-sdk/push/optional/notification-triggered.md): Install the MoEngage Inbox plugin for notification-triggered messaging in your React Native app.

##### In App Messages

- [InApp NATIV](https://moengage.com/docs/developer-guide/react-native-sdk/in-app-messages/inapp-nativ.md): Configure and display in-app messages in your React Native app using the MoEngage SDK.

##### Personalize

- [Personalize SDK](https://moengage.com/docs/developer-guide/react-native-sdk/personalize/personalize-sdk.md): Learn how to integrate the MoEngage Personalize SDK for React Native to fetch personalized content, handle offering campaigns, and track performance.
- [Personalize Data Payload](https://moengage.com/docs/developer-guide/react-native-sdk/personalize/personalize-data-payload.md): Review the data models and payload structure returned by the MoEngage React Native Personalize SDK.

##### Cards

- [Framework Initialization](https://moengage.com/docs/developer-guide/react-native-sdk/cards/initialization/framework-initialization.md): Initialize the MoEngage Cards plugin in your React Native app after the component mounts.
- [Self Handled Cards](https://moengage.com/docs/developer-guide/react-native-sdk/cards/self-handled-cards.md): Build custom card views in your React Native app using the MoEngage self-handled cards SDK and APIs.
- [Cards Data Payload](https://moengage.com/docs/developer-guide/react-native-sdk/cards/cards-data-payload.md): Review the data models and payload structure returned by the MoEngage React Native Cards SDK.

###### Installation

- [Framework Dependency](https://moengage.com/docs/developer-guide/react-native-sdk/cards/installation/framework-dependency.md): Install the MoEngage Cards plugin for React Native using the npm package manager.
- [Android](https://moengage.com/docs/developer-guide/react-native-sdk/cards/installation/android.md): Configure Android dependencies for the MoEngage React Native Cards plugin in your project.
- [iOS](https://moengage.com/docs/developer-guide/react-native-sdk/cards/installation/ios.md): Set up iOS dependencies for the MoEngage React Native Cards plugin with architecture support.

##### Troubleshooting and FAQs

- [Troubleshooting and FAQs - React Native](https://moengage.com/docs/developer-guide/react-native-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-react.md): Find answers to common MoEngage React Native SDK issues with push, callbacks, in-app messages, and iOS build configuration.

#### Flutter SDK

- [Compliance](https://moengage.com/docs/developer-guide/flutter-sdk/compliance/compliance.md): Enable or disable data tracking and the MoEngage Flutter SDK from Dart.
- [Flutter Sample App](https://moengage.com/docs/developer-guide/flutter-sdk/sample-app/flutter-sample-app.md): Explore the MoEngage Flutter sample app on GitHub as a reference for integrating the SDK.
- [Flutter SDK Deprecated Versions](https://moengage.com/docs/developer-guide/flutter-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage Flutter SDK major versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.

##### Overview

- [Getting Started with Flutter SDK](https://moengage.com/docs/developer-guide/flutter-sdk/overview/getting-started-with-flutter-sdk.md): Get started with the MoEngage Flutter SDK for push notifications, in-app messages, and event tracking.

##### SDK Integration

- [Limitations](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/limitations.md): Review unsupported features and native integration requirements when using the MoEngage Flutter plugin.

###### SDK Installation

- [Framework Dependency](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-installation/framework-dependency.md): Install the MoEngage Flutter SDK by adding moengage_flutter to your pubspec.yaml file.
- [Android](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-installation/android.md): Add the required Android dependencies and AndroidX libraries for the MoEngage Flutter SDK.
- [iOS](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-installation/ios.md): Set up the MoEngage iOS SDK dependency in your Flutter project using CocoaPods or Swift Package Manager.

###### SDK Initialization

###### File Based Initialization

- [File Based Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/file-based-initialization.md): Configure MoEngage Flutter SDK initialization using native configuration files instead of code.
- [Migration and Precedence](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/migration-and-precedence.md): Migrate your MoEngage Flutter SDK from code-based initialization to file-based configuration.

###### Manual Initialization

- [Framework Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/framework-initialization.md): Initialize the MoEngage Flutter plugin in your app widget's initState using MoEngageFlutter.
- [Android SDK Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/android-sdk-initialization.md): Initialize the MoEngage Flutter SDK in your Android application class with your workspace ID.
- [iOS SDK Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/ios-sdk-initialization.md): Initialize the MoEngage Flutter SDK in your iOS AppDelegate using the MoEngageInitializer instance.
- [Web SDK Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/web-sdk-initialization.md): Add the MoEngage Web SDK initialization script to your Flutter web application's index.html file.

###### Advanced

- [JWT Authentication](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/advanced/jwt-authentication.md): Secure your MoEngage data collection by implementing JWT authentication in your Flutter application.

##### Data Tracking

- [Tracking User Attributes and User Identity](https://moengage.com/docs/developer-guide/flutter-sdk/data-tracking/tracking-user-attributes-and-user-identity.md): Track user attributes and set identifiers in the MoEngage Flutter SDK for cross-platform identification.
- [Delete User From MoEngage Server](https://moengage.com/docs/developer-guide/flutter-sdk/data-tracking/delete-user-from-moengage-server.md): Delete the current user from the MoEngage server using the deleteUser() method in the Flutter SDK.
- [Enable Advertising Identifier Tracking](https://moengage.com/docs/developer-guide/flutter-sdk/data-tracking/enable-advertising-identifier-tracking.md): Enable advertising identifier tracking in your Flutter app for accurate device analytics.
- [Install/Update Differentiation](https://moengage.com/docs/developer-guide/flutter-sdk/data-tracking/install-update-differentiation.md): Differentiate between app installs and updates in your Flutter app using the MoEngage setAppStatus API.
- [Setting Unique Id for SDK versions below 9.2.0](https://moengage.com/docs/developer-guide/flutter-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-920.md): Set a unique user ID for login and logout handling in MoEngage Flutter SDK versions below 9.2.0.
- [Tracking Events](https://moengage.com/docs/developer-guide/flutter-sdk/data-tracking/tracking-events.md): Track custom user events and their properties in your Flutter app using the MoEngage trackEvent API.

##### Push

###### Basic

- [Android Push Configuration](https://moengage.com/docs/developer-guide/flutter-sdk/push/basic/android-push-configuration.md): Configure push notifications for Android in your Flutter app including FCM setup and permissions.
- [Android Notification Runtime Permissions](https://moengage.com/docs/developer-guide/flutter-sdk/push/basic/android-notification-runtime-permissions.md): Handle Android 13 notification runtime permissions in your Flutter app using the MoEngage SDK.
- [iOS Push Configuration](https://moengage.com/docs/developer-guide/flutter-sdk/push/basic/ios-push-configuration.md): Configure iOS push notifications in your Flutter app using APNs authentication keys or certificates.
- [Push Callback](https://moengage.com/docs/developer-guide/flutter-sdk/push/basic/push-callback.md): Register for push click callbacks in your Flutter app to handle notification interactions with MoEngage.

###### Set Up iOS Notification Extensions for Rich Push and Impression Tracking

- [Set Up iOS Notification Extensions for Rich Push and Impression Tracking](https://moengage.com/docs/developer-guide/flutter-sdk/push/basic/integrating-moengage-service-and-content-extension-in-ios/set-up-ios-notification-extensions-for-rich-push-and-impression-tracking.md): Required configuration to enable push impression tracking and rich media notifications on iOS. Skipping this results in missing impression metrics and rich push failures.
- [Migrate To The Extension Integrator Tool](https://moengage.com/docs/developer-guide/flutter-sdk/push/basic/integrating-moengage-service-and-content-extension-in-ios/migrating-to-the-extension-integrator-tool.md): Migrate from a manual iOS notification extension setup to the MoEngage Extension Integrator Tool in your Flutter app.

###### Optional

- [Location Triggered](https://moengage.com/docs/developer-guide/flutter-sdk/push/optional/location-triggered.md): Add location-triggered geofence push notifications to your Flutter app using the MoEngage plugin.
- [Notification Center](https://moengage.com/docs/developer-guide/flutter-sdk/push/optional/notification-center.md): Add a notification center inbox to your Flutter app using the MoEngage inbox plugin.

##### In-App Messages

- [InApp NATIV](https://moengage.com/docs/developer-guide/flutter-sdk/in-app-messages/inapp-nativ.md): Display in-app messages in your Flutter app using the MoEngage SDK with platform-specific configuration.

##### Personalize

- [Personalize SDK](https://moengage.com/docs/developer-guide/flutter-sdk/personalize/personalize-sdk.md): Learn how to integrate the MoEngage Personalize SDK for Flutter to fetch personalized content, handle offering campaigns, and track performance.
- [Personalize Data Payload](https://moengage.com/docs/developer-guide/flutter-sdk/personalize/personalize-data-payload.md): Review the data models and payload structure returned by the MoEngage Flutter Personalize SDK.

##### Cards

- [Self Handled Cards](https://moengage.com/docs/developer-guide/flutter-sdk/cards/self-handled-cards.md): Build custom card views in your Flutter app using the MoEngage self-handled cards SDK and APIs.

##### Troubleshooting and FAQs

- [Troubleshooting and FAQs - Flutter](https://moengage.com/docs/developer-guide/flutter-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-flutter.md): Find solutions to common MoEngage Flutter SDK issues with notifications, callbacks, and in-app messages.

#### Cordova SDK

- [Compliance](https://moengage.com/docs/developer-guide/cordova-sdk/compliance/compliance.md): Opt out of data tracking and enable or disable the MoEngage Cordova SDK from the JavaScript layer.
- [Cordova SDK Deprecated Versions](https://moengage.com/docs/developer-guide/cordova-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage Cordova SDK major versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.

##### SDK Integration

- [Limitations](https://moengage.com/docs/developer-guide/cordova-sdk/sdk-integration/limitations.md): Review unsupported features and native integration requirements when using the MoEngage Cordova plugin.

###### SDK Installation

- [Framework Dependency](https://moengage.com/docs/developer-guide/cordova-sdk/sdk-integration/sdk-installation/framework-dependency.md): Add the cordova-moengage-core plugin to your Cordova project and configure platform settings.
- [Android SDK Installation](https://moengage.com/docs/developer-guide/cordova-sdk/sdk-integration/sdk-installation/android-sdk-installation.md): Add the MoEngage Android SDK dependency to your Cordova project using BOM or manual configuration.
- [iOS Installation](https://moengage.com/docs/developer-guide/cordova-sdk/sdk-integration/sdk-installation/ios-installation.md): Install the MoEngage iOS SDK in your Cordova project using CocoaPods dependency management.

###### SDK Initialization

- [Framework Initialization](https://moengage.com/docs/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/framework-initialization.md): Initialize the MoEngage Cordova plugin in your application using the MoECordova.init() method.
- [Android SDK Initialization](https://moengage.com/docs/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/android-sdk-initialization.md): Initialize the MoEngage SDK in your Android application's onCreate method for Cordova integration.
- [iOS SDK Initialization](https://moengage.com/docs/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/ios-sdk-initialization.md): Initialize the MoEngage Cordova SDK in your iOS application using code-based initialization.

##### Data Tracking

- [Delete User From MoEngage Server](https://moengage.com/docs/developer-guide/cordova-sdk/data-tracking/delete-user-from-moengage-server.md): Delete the current user from the MoEngage server using the Cordova SDK on Android.
- [Enable Advertising Identifier Tracking](https://moengage.com/docs/developer-guide/cordova-sdk/data-tracking/enable-advertising-identifier-tracking.md): Enable advertising identifier tracking in your Cordova app for accurate device analytics.
- [Install/Update differentiation](https://moengage.com/docs/developer-guide/cordova-sdk/data-tracking/install-update-differentiation.md): Set the app status as install or update in the MoEngage Cordova SDK for migration tracking.
- [Tracking User Attributes and User Identity](https://moengage.com/docs/developer-guide/cordova-sdk/data-tracking/tracking-user-attributes.md): Track user attributes and manage login and logout states using the MoEngage Cordova SDK.
- [Tracking Events](https://moengage.com/docs/developer-guide/cordova-sdk/data-tracking/tracking-events.md): Track user actions and event attributes using the MoEngage Cordova SDK for segmentation and campaigns.

##### Push

###### Basic

- [Android Push Configuration](https://moengage.com/docs/developer-guide/cordova-sdk/push/basic/android-push-configuration.md): Configure Android push notifications in your Cordova app including FCM setup and push token handling.
- [Android Notification Runtime Permissions](https://moengage.com/docs/developer-guide/cordova-sdk/push/basic/android-notification-runtime-permissions.md): Handle Android 13 notification runtime permissions in your Cordova app using the MoEngage SDK.
- [iOS Push Configuration ](https://moengage.com/docs/developer-guide/cordova-sdk/push/basic/ios-push-configuration-7xx.md): Configure iOS push notifications in your Cordova app including APNS certificates and push registration.
- [Push Callback](https://moengage.com/docs/developer-guide/cordova-sdk/push/basic/push-callback.md): Set up JavaScript callbacks for push notification click events in the MoEngage Cordova SDK.

###### Optional

- [Location Triggered](https://moengage.com/docs/developer-guide/cordova-sdk/push/optional/location-triggered.md): Add geofence-based location-triggered push notifications to your Cordova app using MoEngage.

##### In App Messages

- [InApp NATIV](https://moengage.com/docs/developer-guide/cordova-sdk/in-app-messages/inapp-nativ.md): Set up MoEngage in-app NATIV campaigns in your Cordova app to show contextual messages to users.

##### Migration

- [Migrating to 4.x.x](https://moengage.com/docs/developer-guide/cordova-sdk/migration/migrating-to-4xx.md): Migrate your MoEngage Cordova plugin from version 3.2.0 or below to the 4.x.x release.

##### Troubleshooting and FAQs

- [Troubleshooting and FAQs - Cordova](https://moengage.com/docs/developer-guide/cordova-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-cordova.md): Find answers to common MoEngage Cordova SDK questions and Android-specific troubleshooting steps.

#### Unity SDK

- [Compliance](https://moengage.com/docs/developer-guide/unity-sdk/compliance/compliance.md): Opt out of data tracking or enable and disable the MoEngage SDK in your Unity application.
- [Unity SDK Deprecated Versions](https://moengage.com/docs/developer-guide/unity-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage Unity SDK major versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.

##### SDK Integration

- [SDK Installation](https://moengage.com/docs/developer-guide/unity-sdk/sdk-integration/sdk-installation/sdk-installation.md): Download and import the MoEngage Unity package into your project using the Unity Editor.
- [Limitations](https://moengage.com/docs/developer-guide/unity-sdk/sdk-integration/limitations.md): Review unsupported features and native integration requirements when using the MoEngage Unity plugin.

###### SDK Initialization

- [SDK Initialization](https://moengage.com/docs/developer-guide/unity-sdk/sdk-integration/sdk-initialization/sdk-initialization.md): Attach the MoEGameObject script to your Unity scene and configure your MoEngage App ID.

###### Manual Initialization

- [Android](https://moengage.com/docs/developer-guide/unity-sdk/sdk-integration/sdk-initialization/manual-initialization/android.md): Manually initialize the MoEngage SDK in your Unity project's Android Application class.

###### File Based Initialization

- [Android](https://moengage.com/docs/developer-guide/unity-sdk/sdk-integration/sdk-initialization/file-based-initialization/android.md): Use file-based initialization to configure the MoEngage SDK in your Unity project's Android library plugin.
- [iOS](https://moengage.com/docs/developer-guide/unity-sdk/sdk-integration/sdk-initialization/file-based-initialization/ios.md): Initialize the MoEngage SDK in your Unity project's iOS configuration file with your workspace ID.

##### Data Tracking

- [Delete User From MoEngage Server](https://moengage.com/docs/developer-guide/unity-sdk/data-tracking/delete-user-from-moengage-server.md): Delete the current user from the MoEngage server using the Unity SDK on Android.
- [Enable Advertising Identifier Tracking](https://moengage.com/docs/developer-guide/unity-sdk/data-tracking/enable-advertising-identifier-tracking.md): Enable advertising identifier tracking in your Unity app using the MoEngage SDK for analytics.
- [Install/Update Differentiation](https://moengage.com/docs/developer-guide/unity-sdk/data-tracking/install-update-differentiation.md): Differentiate between app installs and updates in your Unity app using the MoEngage setAppStatus API.
- [Tracking User Attributes](https://moengage.com/docs/developer-guide/unity-sdk/data-tracking/tracking-user-attributes.md): Track user attributes and manage login and logout states using the MoEngage Unity SDK.
- [Tracking Events](https://moengage.com/docs/developer-guide/unity-sdk/data-tracking/tracking-events.md): Track custom user events and their properties in your Unity app using the MoEngage TrackEvent API.

##### Push

###### Basic

- [Android Push Configuration](https://moengage.com/docs/developer-guide/unity-sdk/push/basic/android-push-configuration.md): Configure Android push notifications in your Unity app including Firebase and push token setup.
- [Android Notification Runtime Permissions](https://moengage.com/docs/developer-guide/unity-sdk/push/basic/android-notification-runtime-permissions.md): Handle Android 13 notification runtime permissions in your Unity app using the MoEngage SDK.
- [iOS Push Configuration](https://moengage.com/docs/developer-guide/unity-sdk/push/basic/ios-push-configuration.md): Configure iOS push notifications in your Unity app including APNS certificates and push registration.
- [Push Callback](https://moengage.com/docs/developer-guide/unity-sdk/push/basic/push-callback.md): Set up push notification click observers to handle notification interactions in the MoEngage Unity SDK.

###### Optional

- [Configuring Push Templates](https://moengage.com/docs/developer-guide/unity-sdk/push/optional/configuring-push-templates.md): Import the RichNotifications package to add push notification templates in your Unity app.
- [Location Triggered](https://moengage.com/docs/developer-guide/unity-sdk/push/optional/location-triggered.md): Import the Geofence package to enable location-triggered push notifications in your Unity app.

##### In App Messages

- [InApp NATIV](https://moengage.com/docs/developer-guide/unity-sdk/in-app-messages/inapp-nativ.md): Display contextual in-app NATIV campaigns in your Unity app using the MoEngage SDK.

##### Troubleshooting and FAQs

- [Troubleshooting and FAQs - Unity](https://moengage.com/docs/developer-guide/unity-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-unity.md): Find answers to common MoEngage Unity SDK questions and Android-specific troubleshooting steps.

#### Capacitor SDK

- [Compliance](https://moengage.com/docs/developer-guide/capacitor-sdk/compliance/compliance.md): Enable or disable data tracking and the MoEngage Capacitor SDK from the JavaScript layer.
- [Capacitor Sample App](https://moengage.com/docs/developer-guide/capacitor-sdk/sample-app/capacitor-sample-app.md): Explore the MoEngage Capacitor sample application on GitHub as a reference for SDK integration.
- [Capacitor SDK Deprecated Versions](https://moengage.com/docs/developer-guide/capacitor-sdk/deprecated-versions/deprecated-versions.md): Check the support status of MoEngage Capacitor SDK major versions: which are current, which are still supported, and which are deprecated, along with deprecation dates.

##### SDK Integration

###### Basic

###### SDK Installation

- [Framework Dependency](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/framework-dependency.md): Add the MoEngage Capacitor plugin to your project and configure native platform dependencies.
- [Android SDK Installation](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/android-sdk-installation.md): Install the MoEngage Android SDK in your Capacitor project using BOM or manual dependency configuration.
- [iOS SDK Installation](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/ios-sdk-installation.md): Install the MoEngage iOS SDK in your Capacitor project by running the ionic capacitor sync command.

###### SDK Initialization

- [Framework Initialization](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/framework-initialization.md): Initialize the MoEngage Capacitor plugin in your Ionic app using the appropriate lifecycle callback.
- [Android SDK Initialization](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/android-sdk-initialization.md): Initialize the MoEngage Android SDK in your Capacitor app's Application class with your Workspace ID.
- [iOS SDK Initialization](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/ios-sdk-initialization.md): Initialize the MoEngage iOS SDK in your Capacitor app's AppDelegate with your Workspace ID.

###### File Based Initialization

- [File Based Initialization](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/file-based-initlialization/file-based-initialization.md)
- [Migration And Precedence](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/file-based-initlialization/migration-and-precedence.md)

###### Advanced

- [JWT Authentication](https://moengage.com/docs/developer-guide/capacitor-sdk/sdk-integration/advanced/jwt-authentication.md): Secure your MoEngage data collection by implementing JWT authentication in your application.

##### Data Tracking

- [Delete User From MoEngage Server](https://moengage.com/docs/developer-guide/capacitor-sdk/data-tracking/delete-user-from-moengage-server.md): Delete the current user from the MoEngage server using the Capacitor SDK on Android.
- [Enable Advertising Identifier Tracking](https://moengage.com/docs/developer-guide/capacitor-sdk/data-tracking/enable-advertising-identifier-tracking.md): Enable advertising identifier tracking in your Capacitor app for accurate device analytics.
- [Install/Update Differentiation](https://moengage.com/docs/developer-guide/capacitor-sdk/data-tracking/install-update-differentiation.md): Set the app status as install or update in the MoEngage Capacitor SDK for migration tracking.
- [Tracking User Attributes and User Identity](https://moengage.com/docs/developer-guide/capacitor-sdk/data-tracking/tracking-user-attributes.md): Track user attributes and manage login and logout states using the MoEngage Capacitor SDK.
- [Tracking Events](https://moengage.com/docs/developer-guide/capacitor-sdk/data-tracking/tracking-events.md): Track user actions and event properties using the MoEngage Capacitor SDK for segmentation and campaigns.
- [Setting Unique ID for SDK versions below 6.0.0](https://moengage.com/docs/developer-guide/capacitor-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-6.0.0.md): Set the user attribute unique ID and manage login and logout states using the legacy setUniqueId() API in Capacitor SDK versions below 6.0.0.

##### Push

###### Basic

- [Android Notification Runtime Permissions](https://moengage.com/docs/developer-guide/capacitor-sdk/push/basic/android-notification-runtime-permissions.md): Handle Android 13 notification runtime permissions in your Capacitor app using the MoEngage SDK.
- [Android Push Configuration](https://moengage.com/docs/developer-guide/capacitor-sdk/push/basic/android-push-configuration.md): Configure Android push notifications in your Capacitor app including FCM setup and push registration.
- [iOS Push Configuration](https://moengage.com/docs/developer-guide/capacitor-sdk/push/basic/ios-push-configuration.md): Configure iOS push notifications in your Capacitor app including APNS certificates and registration.
- [Push Callback](https://moengage.com/docs/developer-guide/capacitor-sdk/push/basic/push-callback.md): Set up listeners for push token generation and notification click events in the MoEngage Capacitor SDK.

###### Optional

- [Location Triggered](https://moengage.com/docs/developer-guide/capacitor-sdk/push/optional/location-triggered.md): Add geofence-based location-triggered push notifications to your Capacitor app using MoEngage.

##### In-App Messages

- [InApp NATIV](https://moengage.com/docs/developer-guide/capacitor-sdk/in-app-messages/inapp-nativ.md): Set up MoEngage in-app NATIV campaigns in your Capacitor app to show contextual messages to users.

##### Troubleshooting and FAQs

- [Troubleshooting and FAQs - Capacitor](https://moengage.com/docs/developer-guide/capacitor-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-capacitor.md): Troubleshoot common Capacitor SDK issues including missing MoEngage logs and configuration problems.

#### Ionic SDK

- [SDK Installation](https://moengage.com/docs/developer-guide/ionic-sdk/sdk-integration/sdk-installation.md): Add the cordova-moengage-core plugin to your Ionic project and configure your workspace ID.

#### SDK Lifecycle & Policies

- [SDK Deprecation Policy](https://moengage.com/docs/developer-guide/sdk-lifecycle-and-policies/sdk-deprecation-policy.md): Learn how MoEngage deprecates SDK versions, when you are notified, what happens to your integration on a deprecated version, and how to check your version status.
- [Deprecation for Older Platform Versions](https://moengage.com/docs/developer-guide/sdk-lifecycle-and-policies/deprecation-for-older-platform-versions.md): Review deprecated Android API levels and iOS versions in MoEngage SDK releases after April 2025.

#### Components for SDK

- [Real-time Uninstall Tracking](https://moengage.com/docs/developer-guide/components-for-sdk/tracking/real-time-uninstall-tracking.md): Track app uninstalls in real time using Firebase Cloud Functions instead of daily silent push notifications.

##### Javascript Bridge

- [JavaScript Bridge for HTML In-Apps](https://moengage.com/docs/developer-guide/components-for-sdk/javascript-bridge/javascript-bridge-for-html-in-apps.md): Use the MoEngage JavaScript bridge API to interact with the SDK from HTML in-app message templates.
- [JavaScript Bridge for On-Site Messaging and Landing Pages](https://moengage.com/docs/developer-guide/components-for-sdk/javascript-bridge/javascript-bridge-for-on-site-messaging-and-landing-pages.md): Use the MoEngage JavaScript bridge to track events, clicks, dismissals, and form submissions from on-site messaging campaigns and landing pages.

##### Push Notification

- [Android Push Configuration For Hybrid Applications](https://moengage.com/docs/developer-guide/components-for-sdk/push-notification/android-push-configuration-for-hybrid-applications.md): Configure Android push notification metadata and FCM authentication for your hybrid MoEngage app.

#### Partner Integrations

- [Getting FCM Server Key](https://moengage.com/docs/developer-guide/partner-integrations/firebase/getting-fcm-server-key.md): Locate your Firebase Cloud Messaging server key in the Firebase console for MoEngage integration.
