To send push notifications to iOS users, it is required to generate the APNs Auth Key file for your application and upload it to the MoEngage dashboard. Refer the link to generate Auth key.
First you will have to create an APNS certificate and upload in the dashboard to be able to send push notifications in iOS. Follow the steps below to do that :
Once the APNS Certificate is uploaded, enable Push Entitlement in the Xcode project. For that select your app target, then go to Capabilities. Here enable the Push Notifications capability for your app as shown below :
We make use of silent pushes to track uninstalls. For tracking uninstalls of all the users, enable Remote Notification background mode in-app capabilities for the same as shown below :
After this you will have to register for push notification by using registerForPush method of the plugin as shown below :
//This is only for iOSimport ReactMoE from 'react-native-moengage'ReactMoE.registerForPush();
Plugin gets all the remote notification-related callbacks, therefore you won’t receive any of them in your AppDelegate. Therefore, you will have to add observers for the notifications provided by plugin instead.
To support Rich Push (images/videos/audio in the notification) and Templates in your React Native app, set up the iOS Notification Service and Content Extensions:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MoEngage","colors":{"primary":"#2E69FF","light":"#6691FF","dark":"#2554CC"},"logo":{"light":"https://mintcdn.com/moengage/VG5pJbeZsDUmdCZM/logo/light.svg?fit=max\u0026auto=format\u0026n=VG5pJbeZsDUmdCZM\u0026q=85\u0026s=28ca5909311cb6ffe01738e1503b5e64","dark":"https://mintcdn.com/moengage/VG5pJbeZsDUmdCZM/logo/dark.svg?fit=max\u0026auto=format\u0026n=VG5pJbeZsDUmdCZM\u0026q=85\u0026s=728a767d8fb8d3434575a28de18d08c5","href":"https://www.moengage.com/docs/"},"favicon":"https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/logo/favicon.svg?fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=9d13744d3b616913967983f324947bb5","api":{"examples":{"languages":["curl"]}},"appearance":{"default":"system"},"background":{"decoration":"gradient","color":{"light":"#FFFFFF","dark":"#121212"}},"navbar":{"links":[{"href":"/user-guide/contact-support/raise-a-support-ticket-through-moengage-dashboard","label":"Support"},{"href":"https://www.moengage.com/request-demo","label":"Request Demo"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.moengage.com/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/moengage","x":"https://x.com/i/flow/login?redirect_after_login=%2Fmoengage","youtube":"https://www.youtube.com/c/MoEngage_Global","facebook":"https://www.facebook.com/moengage","github":"https://github.com/moengage"},"links":[{"header":"Support","items":[{"label":"Contact Support","href":"https://www.moengage.com/docs/user-guide/contact-support/raise-a-support-ticket-through-moengage-dashboard"},{"label":"AIRA Support Bot","href":"https://www.moengage.com/docs/user-guide/contact-support/aira-support-bot/aira-overview"},{"label":"Suggest a Feature","href":"https://www.moengage.com/docs/user-guide/contact-support/suggest-a-feature"},{"label":"System Status","href":"https://status.moengage.com"}]},{"header":"Learn","items":[{"label":"MoEngage Academy","href":"https://academy.moengage.com/student/catalog"},{"label":"Use Cases","href":"https://www.moengage.com/docs/use-cases/introduction"},{"label":"Release Notes","href":"https://www.moengage.com/docs/release-notes/subscribe-to-release-notes"},{"label":"Blog","href":"https://www.moengage.com/blog"}]},{"header":"For AI Tools","items":[{"label":"Setup Guide","href":"https://www.moengage.com/docs/documentation-access-to-agents"},{"label":"llms.txt","href":"https://www.moengage.com/docs/llms.txt"},{"label":"llms-full.txt","href":"https://www.moengage.com/docs/llms-full.txt"}]}]},"seo":{"metatags":{"google-site-verification":"ICNaPDX9oefbF09W1b5_U9PDnlkyfyKSRbIap6_dW6o"},"indexing":"all"},"fonts":{"heading":{"family":"circular","source":"https://app-cdn.moengage.com/images/Fonts/CircularXXWeb-Regular.woff2","format":"woff2"},"body":{"family":"circular","source":"https://app-cdn.moengage.com/images/Fonts/CircularXXWeb-Regular.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode"],"display":"header"},"interaction":{"drilldown":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"ja","href":"ja"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"moengage","hasAudioNarration":false,"actualSubdomain":"moengage","customDomains":["moengage.com"],"gitSource":{"type":"github","owner":"moengage","repo":"moengage-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecc143001d7bfa48398d64","collectionId":"2b0b7da9-5471-4730-b53e-9284fce40153","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecc143001d7bfa48398d64"},"feedback":{"thumbs":true,"edits":false,"contextualFeedback":{"allowEmail":true},"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aed9e350e1747ee9b9b0553","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"en","tag":"Guide","count":1188},{"language":"ja","tag":"ガイド","count":1180},{"language":"en","tag":"User Guide","count":799},{"language":"ja","tag":"ユーザーガイド","count":798},{"language":"en","tag":"Campaigns and Channels","count":437},{"language":"ja","tag":"キャンペーンとチャネル","count":437},{"language":"en","tag":"Partner Integrations","count":390},{"language":"ja","tag":"パートナー統合","count":383},{"language":"en","tag":"SDKs","count":338},{"language":"en","tag":"Developer Guide (SDKs)","count":327},{"language":"ja","tag":"SDK","count":308},{"language":"ja","tag":"開発者ガイド(SDK)","count":297},{"language":"en","tag":"Use Cases","count":218},{"language":"ja","tag":"ユースケース","count":218},{"language":"en","tag":"API Guide","count":183},{"language":"ja","tag":"APIガイド","count":183},{"language":"en","tag":"Endpoints","count":177},{"language":"ja","tag":"エンドポイント","count":177},{"language":"en","tag":"Release Notes","count":140},{"language":"ja","tag":"リリースノート","count":136}],"searchSettings":{"maxResults":8,"isFiltersEnabled":true}},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":false,"type":"email"}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"starterQuestions":[{"_id":"69a03c84f0b21f38ae93fdfb","deploymentId":"68bea8f8fe02728a34cf2acf","questionText":"How do I track user events?","status":"active","generatedBy":"manual","createdAt":"2026-02-26T12:28:52.454Z","updatedAt":"2026-02-26T12:28:52.454Z","__v":0}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/moengage/0a209f0cf9e21c6c/style.css"}],"page":{"pagePath":"developer-guide/react-native-sdk/push/basic/ios-push-configuration","slug":"/developer-guide/react-native-sdk/push/basic/ios-push-configuration","pageMetadata":{"title":"iOS Push Configuration","description":"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.","href":"/developer-guide/react-native-sdk/push/basic/ios-push-configuration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Info,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`push-configuration`,children:`Push Configuration`}),`\n`,_jsx(_components.p,{children:`Following are the two ways to configure Push Notification`}),`\n`,_jsx(Heading,{level:`3`,id:`apns-authentication-key`,children:`APNS Authentication Key:`}),`\n`,_jsxs(_components.p,{children:[`To send push notifications to iOS users, it is required to generate the APNs Auth Key file for your application and upload it to the MoEngage dashboard. Refer the `,_jsx(_components.a,{href:`https://www.moengage.com/docs/developer-guide/ios-sdk/push/basic/apns-authentication-key`,children:`link`}),` to generate Auth key.`]}),`\n`,_jsx(Heading,{level:`3`,id:`apns-certificate`,children:`APNS Certificate:`}),`\n`,_jsx(_components.p,{children:`First you will have to create an APNS certificate and upload in the dashboard to be able to send push notifications in iOS. Follow the steps below to do that :`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.moengage.com/docs/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy#create-an-apns-certificate-in-developer-account`,children:`Create an APNS certificate`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.moengage.com/docs/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy#converting-certificate-to-pem-format`,children:`Convert the resultant certificate to .pem format`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.moengage.com/docs/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy#uploading-pem-file-to-moengage-dashboard`,children:`Upload .pem file to MoEngage Dashboard`})}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`adding-push-entitlement-to-your-project`,children:`Adding Push Entitlement to your Project:`}),`\n`,_jsx(_components.p,{children:`Once the APNS Certificate is uploaded, enable Push Entitlement in the Xcode project. For that select your app target, then go to Capabilities. Here enable the Push Notifications capability for your app as shown below :`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/enable-push-notification-1.png?fit=max\u0026auto=format\u0026n=Jtvf10ggM77HdKvB\u0026q=85\u0026s=93b0a5b812e2bbe3cd5a4049725364d0`,alt:`Enable Push Notification 1`,\"data-og-width\":`1624`,width:`1624`,\"data-og-height\":`582`,height:`582`,\"data-path\":`images/enable-push-notification-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/enable-push-notification-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=Jtvf10ggM77HdKvB\u0026q=85\u0026s=b244218d6fdfcbdc02f8664c879f950e 280w, https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/enable-push-notification-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=Jtvf10ggM77HdKvB\u0026q=85\u0026s=e8c77c38695b6e2374a1cbb2151afa65 560w, https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/enable-push-notification-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=Jtvf10ggM77HdKvB\u0026q=85\u0026s=8445661c0ff4f4252b8fd3cc5c50636b 840w, https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/enable-push-notification-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Jtvf10ggM77HdKvB\u0026q=85\u0026s=a4c187b2fa8afbdf4c1bb84f81a5cf1d 1100w, https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/enable-push-notification-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Jtvf10ggM77HdKvB\u0026q=85\u0026s=2ae190fabeeb23d11a2aa9d487c9b8d3 1650w, https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/enable-push-notification-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Jtvf10ggM77HdKvB\u0026q=85\u0026s=4c945c5410382b8825466c6e867b95cb 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`uninstall-tracking`,children:`Uninstall Tracking:`}),`\n`,_jsx(_components.p,{children:`We make use of silent pushes to track uninstalls. For tracking uninstalls of all the users, enable Remote Notification background mode in-app capabilities for the same as shown below :`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/images/uninstall-tracking-1.png?fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=9bb879ff610a0f33fa76cd2b86c47700`,alt:`Uninstall Tracking 1`,\"data-og-width\":`1620`,width:`1620`,\"data-og-height\":`834`,height:`834`,\"data-path\":`images/uninstall-tracking-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/images/uninstall-tracking-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=d7ff846c5e9761f5328b9da2868aca6a 280w, https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/images/uninstall-tracking-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=2d27f96f727437c37e4dcbf5cef8a1a4 560w, https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/images/uninstall-tracking-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=71ac0f6e7719a5b62c4ad2551851b67b 840w, https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/images/uninstall-tracking-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=2539053496e84bcec661b8620acb58bb 1100w, https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/images/uninstall-tracking-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=d13170e2c640b9153340ddef50b4a0e8 1650w, https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/images/uninstall-tracking-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=1ee29e37d51ebc66bf9c8b22544d7346 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`push-registration`,children:`Push Registration:`}),`\n`,_jsxs(_components.p,{children:[`After this you will have to register for push notification by using\\xA0`,_jsx(_components.strong,{children:`registerForPush`}),`\\xA0method of the plugin as shown below :`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`3`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`//This is only for iOS`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ReactMoE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'react-native-moengage'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ReactMoE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`registerForPush`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Plugin gets all the remote notification-related callbacks, therefore you won’t receive any of them in your AppDelegate. Therefore, you will have to add observers for the notifications provided by plugin instead.`})}),`\n`,_jsx(Heading,{level:`2`,id:`provisional-push-registration`,children:`Provisional Push Registration:`}),`\n`,_jsx(Info,{children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`This feature is supported from version `,_jsx(_components.em,{children:_jsx(_components.strong,{children:`11.1.0`})}),` of the plugin.`]}),`\n`]})}),`\n`,_jsxs(_components.p,{children:[`To register for provisional push notification, call `,_jsx(_components.em,{children:_jsx(_components.strong,{children:`registerForProvisionalPush`})}),` Api of the plugin as shown below\\xA0`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`5`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ReactMoE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'react-native-moengage'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// This API is only for iOS`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ReactMoE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`registerForProvisionalPush`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`rich-push-and-templates-support`,children:`Rich Push and Templates Support:`}),`\n`,_jsx(_components.p,{children:`To support Rich Push (images/videos/audio in the notification) and Templates in your React Native app, set up the iOS Notification Service and Content Extensions:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`developer-guide/react-native-sdk/push/basic/integrating-moengage-service-and-content-extensions/set-up-ios-notification-extensions-for-rich-push-and-impression-tracking`,children:`Integrate Service and Content Extension`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`or you can manually integrate Rich Push and Push Templates. For more information, refer the below docs:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.moengage.com/docs/developer-guide/ios-sdk/push/basic/ios-push-integration-tutorial#optional`,children:`Rich Push`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.moengage.com/docs/developer-guide/ios-sdk/push/optional/push-templates`,children:`Push Templates`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"iOS Push Configuration","description":"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.","href":"/developer-guide/react-native-sdk/push/basic/ios-push-configuration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Push Configuration","slug":"push-configuration","depth":2,"children":[{"title":"APNS Authentication Key:","slug":"apns-authentication-key","depth":3,"children":[]},{"title":"APNS Certificate:","slug":"apns-certificate","depth":3,"children":[]}]},{"title":"Adding Push Entitlement to your Project:","slug":"adding-push-entitlement-to-your-project","depth":2,"children":[]},{"title":"Uninstall Tracking:","slug":"uninstall-tracking","depth":2,"children":[]},{"title":"Push Registration:","slug":"push-registration","depth":2,"children":[]},{"title":"Provisional Push Registration:","slug":"provisional-push-registration","depth":2,"children":[]},{"title":"Rich Push and Templates Support:","slug":"rich-push-and-templates-support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/moengage/992523b3cb2256cd/script.js"],"subdomain":"moengage","siteName":"MoEngage","title":"iOS Push Configuration - MoEngage","relatedPagesConfig":{"enabled":false,"limit":3,"mode":"manual"},"contextualStarterQuestions":[{"_id":"6a0ec8dcadda77f5a0a370a1","deploymentId":"68bea8f8fe02728a34cf2acf","questionText":"How do I generate an APNs Auth Key?","status":"active","generatedBy":"contextual","path":"developer-guide/react-native-sdk/push/basic/ios-push-configuration","createdAt":"2026-05-21T08:57:00.904Z","updatedAt":"2026-05-21T08:57:00.904Z","__v":0},{"_id":"6a0ec8dcadda77f5a0a370a2","deploymentId":"68bea8f8fe02728a34cf2acf","questionText":"How do I enable push in Xcode?","status":"active","generatedBy":"contextual","path":"developer-guide/react-native-sdk/push/basic/ios-push-configuration","createdAt":"2026-05-21T08:57:00.904Z","updatedAt":"2026-05-21T08:57:00.904Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/developer-guide/react-native-sdk/push/basic/ios-push-configuration","matchLevel":0},"ja":{"href":"/ja/developer-guide/react-native-sdk/push/basic/ios-push-configuration","matchLevel":1}}},"lastModified":"2026-05-21T08:56:47.754Z","originalFileLocation":"developer-guide/react-native-sdk/push/basic/ios-push-configuration.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MoEngage\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"iOS Push Configuration - MoEngage\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MoEngage\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://moengage.mintlify.site/docs/_mintlify/api/og/v2?division=Basic\u0026amp;title=iOS+Push+Configuration\u0026amp;description=Configure+iOS+push+notifications+with+APNS+certificates+and+entitlements+for+your+React+Native+app.\u0026amp;theme=c3ae899dab8a83c2adcd0e76\u0026amp;signature=5b14670b0497460976452d00902f10ea6bfa9fcd5eb5daaa998e3f8fd4fb25b3\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"iOS Push Configuration - MoEngage\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://moengage.mintlify.site/docs/_mintlify/api/og/v2?division=Basic\u0026amp;title=iOS+Push+Configuration\u0026amp;description=Configure+iOS+push+notifications+with+APNS+certificates+and+entitlements+for+your+React+Native+app.\u0026amp;theme=c3ae899dab8a83c2adcd0e76\u0026amp;signature=5b14670b0497460976452d00902f10ea6bfa9fcd5eb5daaa998e3f8fd4fb25b3\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MoEngage\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2E69FF\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"ICNaPDX9oefbF09W1b5_U9PDnlkyfyKSRbIap6_dW6o\">\u003clink data-mint-head rel=\"canonical\" href=\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://moengage.com/docs/ja/developer-guide/react-native-sdk/push/basic/ios-push-configuration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://moengage.com/#organization\",\"name\":\"MoEngage\",\"url\":\"https://moengage.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/moengage/VG5pJbeZsDUmdCZM/logo/light.svg?fit=max\u0026auto=format\u0026n=VG5pJbeZsDUmdCZM\u0026q=85\u0026s=28ca5909311cb6ffe01738e1503b5e64\"}},{\"@type\":\"WebSite\",\"@id\":\"https://moengage.com/docs#website\",\"name\":\"MoEngage\",\"url\":\"https://moengage.com/docs\",\"publisher\":{\"@id\":\"https://moengage.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration#webpage\",\"url\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration\",\"name\":\"iOS Push Configuration\",\"description\":\"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.\",\"dateModified\":\"2026-05-21T08:56:47.754Z\",\"isPartOf\":{\"@id\":\"https://moengage.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SDKs\",\"item\":\"https://moengage.com/docs/developer-guide/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React Native SDK\",\"item\":\"https://moengage.com/docs/developer-guide/react-native-sdk/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Push\",\"item\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Basic\",\"item\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/android-push-configuration\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"iOS Push Configuration\",\"item\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration#article\",\"headline\":\"iOS Push Configuration\",\"name\":\"iOS Push Configuration\",\"description\":\"Configure iOS push notifications with APNS certificates and entitlements for your React Native app.\",\"url\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration\",\"mainEntityOfPage\":{\"@id\":\"https://moengage.com/docs/developer-guide/react-native-sdk/push/basic/ios-push-configuration#webpage\"},\"dateModified\":\"2026-05-21T08:56:47.754Z\",\"publisher\":{\"@id\":\"https://moengage.com/#organization\"},\"isPartOf\":{\"@id\":\"https://moengage.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MoEngage\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MoEngage","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"User Guide","pages":[{"title":"User Guide","href":"/user-guide/introduction"}]},{"tab":"Developer Guide (SDKs)","groups":[{"group":"SDKs","pages":[{"title":"SDK Integration Guide","href":"/developer-guide/introduction"},{"title":"Connect Your IDE to MoEngage Docs","href":"/developer-guide/connect-your-ide-to-moengage-docs"},{"group":"iOS SDK","root":{"title":"MoEngage iOS SDK","href":"/developer-guide/ios-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the iOS SDK","href":"/developer-guide/ios-sdk/sdk-integration/overview"},"pages":[{"group":"Basic","pages":[{"title":"SDK Integration","href":"/developer-guide/ios-sdk/sdk-integration/basic/sdk-integration"},{"title":"SDK Initialization","href":"/developer-guide/ios-sdk/sdk-integration/basic/sdk-initialization"},{"title":"Data Center","href":"/developer-guide/ios-sdk/sdk-integration/basic/data-center"},{"title":"Configuring Project for Architecture Compatibility","href":"/developer-guide/ios-sdk/sdk-integration/basic/Configuring-Project-for-Architecture-Compatibility"},{"title":"Integration through CocoaPods","href":"/developer-guide/ios-sdk/sdk-integration/basic/integration-through-cocoa-pods"}]},{"group":"Advanced","pages":[{"title":"Custom Proxy Domain - iOS","href":"/developer-guide/ios-sdk/sdk-integration/advanced/custom-proxy-domain-ios"},{"title":"JWT Authentication","href":"/developer-guide/ios-sdk/sdk-integration/advanced/jwt-authentication"},{"title":"Add-On Security","href":"/developer-guide/ios-sdk/sdk-integration/advanced/add-on-security"}]}]},{"group":"Data Tracking","root":{"title":"Data Tracking in iOS","href":"/developer-guide/ios-sdk/data-tracking/overview"},"pages":[{"group":"Basic","pages":[{"title":"Install/Update differentiation","href":"/developer-guide/ios-sdk/data-tracking/basic/install-update-differentiation"},{"title":"Tracking user attributes","href":"/developer-guide/ios-sdk/data-tracking/basic/tracking-user-attributes"},{"title":"Setting Unique Id for SDK versions below 9.23.0","href":"/developer-guide/ios-sdk/data-tracking/basic/setting-unique-id-for-sdk-versions-below-9-23-0"},{"title":"Tracking events","href":"/developer-guide/ios-sdk/data-tracking/basic/tracking-events"}]},{"group":"Advanced","pages":[{"title":"Tracking Locale","href":"/developer-guide/ios-sdk/data-tracking/advanced/tracking-locale"},{"title":"Session and Source Tracking","href":"/developer-guide/ios-sdk/data-tracking/advanced/session-and-source-tracking"},{"title":"Personalize Experience Events tracking","href":"/developer-guide/ios-sdk/data-tracking/advanced/personalize-experience-events-tracking"}]}]},{"group":"Push","root":{"title":"Push Notifications in iOS","href":"/developer-guide/ios-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"iOS Push Integration Tutorial","href":"/developer-guide/ios-sdk/push/basic/ios-push-integration-tutorial"},{"title":"Push Notifications","href":"/developer-guide/ios-sdk/push/basic/push-notifications"},{"title":"APNS Authentication Key","href":"/developer-guide/ios-sdk/push/basic/apns-authentication-key"},{"title":"APNS Certificate/PEM file (legacy)","href":"/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy"},{"title":"Actionable Notifications","href":"/developer-guide/ios-sdk/push/basic/actionable-notifications"}]},{"group":"Optional","pages":[{"title":"Transactional Live Activity","href":"/developer-guide/ios-sdk/push/optional/transactional-live-activity"},{"title":"Broadcast Live Activity","href":"/developer-guide/ios-sdk/push/optional/broadcast-live-activity"},{"title":"Push templates","href":"/developer-guide/ios-sdk/push/optional/push-templates"},{"title":"Push Handled by Application","href":"/developer-guide/ios-sdk/push/optional/push-handled-by-application"},{"title":"Real-Time Triggers","href":"/developer-guide/ios-sdk/push/optional/real-time-triggers"},{"title":"iOS Notification Center","href":"/developer-guide/ios-sdk/push/optional/i-os-notification-center"},{"title":"Location triggered","href":"/developer-guide/ios-sdk/push/optional/location-triggered"}]},{"group":"Advanced","pages":[{"title":"Custom Notification Handling","href":"/developer-guide/ios-sdk/push/advanced/custom-notification-handling"}]}]},{"group":"In-App Messages","root":{"title":"In-App Messages in iOS","href":"/developer-guide/ios-sdk/in-app-messages/overview"},"pages":[{"title":"In-App Nativ","href":"/developer-guide/ios-sdk/in-app-messages/in-app-nativ"},{"title":"Custom Action Handling","href":"/developer-guide/ios-sdk/in-app-messages/custom-action-handling"}]},{"title":"Personalize SDK","sidebarTitle":"Personalize","href":"/developer-guide/ios-sdk/personalize/personalize-sdk"},{"title":"Recommendations","href":"/developer-guide/ios-sdk/recommendations/recommendations"},{"group":"Cards","root":{"title":"Card Campaigns in iOS","href":"/developer-guide/ios-sdk/cards/overview"},"pages":[{"title":"Cards in iOS","href":"/developer-guide/ios-sdk/cards/cards-in-i-os"},{"title":"Self Handled Cards","href":"/developer-guide/ios-sdk/cards/self-handled-cards"}]},{"title":"Release Checklist","href":"/developer-guide/ios-sdk/checklist/release-checklist"},{"title":"Compliance","href":"/developer-guide/ios-sdk/compliance/compliance"},{"title":"Manual Integration","href":"/developer-guide/ios-sdk/manual-integration/manual-integration"},{"title":"iOS SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/ios-sdk/deprecated-versions/deprecated-versions"},{"group":"Migration","root":{"title":"iOS SDK Migration","href":"/developer-guide/ios-sdk/migration/overview"},"pages":[{"title":"Migration to SDK version 9.0.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-9-0-0"},{"title":"Migration to SDK version 8.2.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-8-2-0"},{"title":"Migration to SDK version 7.0.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-7-0-0"},{"title":"Migration to SDK version 6.0.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-6-0-0"},{"title":"Migration Of MoEngage SDK From Cocoapods To SPM","href":"/developer-guide/ios-sdk/migration/migration-of-moengage-sdk-from-cocoapods-to-spm"}]},{"title":"Framework Impact","href":"/developer-guide/ios-sdk/framework-size-impact/framework-size-impact"},{"title":"iOS 15","sidebarTitle":"OS Updates","href":"/developer-guide/ios-sdk/os-updates/i-os-15"},{"title":"Apple TV","href":"/developer-guide/ios-sdk/apple-tv/apple-tv"},{"title":"Troubleshooting and FAQs - iOS SDK","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/ios-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-ios"},{"title":"iOS Sample App","sidebarTitle":"Sample App","href":"/developer-guide/ios-sdk/sample-app/i-os-sample-app"}]},{"group":"Android SDK","root":{"title":"MoEngage Android SDK","href":"/developer-guide/android-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Android SDK","href":"/developer-guide/android-sdk/sdk-integration/overview"},"pages":[{"group":"Basic Integration","pages":[{"title":"Install Using BOM","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/Install-Using-BOM"},{"title":"Configuring Build Settings","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/configuring-build-settings"},{"title":"SDK Initialization","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/sdk-initialization"},{"title":"Exclude MoEngage Storage File from Auto-Backup","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/exclude-mo-engage-storage-file-from-auto-backup"}]},{"group":"Advanced or Optional","pages":[{"title":"Custom Proxy Domain - Android","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/custom-proxy-domain-android"},{"title":"JWT Authentication","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/jwt-authentication"},{"title":"Installing SDK using Artifact Id","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/installing-sdk-using-artifact-id"},{"title":"Network Security Configuration","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/network-security-configuration"},{"title":"Add-On Security","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/add-on-security"},{"title":"SDK Build Specifications","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/sdk-configuration"}]}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Android","href":"/developer-guide/android-sdk/data-tracking/overview"},"pages":[{"group":"Basic","pages":[{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/android-sdk/data-tracking/basic/enable-advertising-identifier-tracking"},{"title":"Track Install or Update","href":"/developer-guide/android-sdk/data-tracking/basic/track-install-or-update"},{"title":"Track User Attributes","href":"/developer-guide/android-sdk/data-tracking/basic/track-user-attributes"},{"title":"Setting Unique Id for SDK versions below 13.6.00","href":"/developer-guide/android-sdk/data-tracking/basic/setting-unique-id-for-sdk-versions-below-13-6-00"},{"title":"Track Events","href":"/developer-guide/android-sdk/data-tracking/basic/track-events"}]},{"group":"Advanced or Optional","pages":[{"title":"Tracking Locale","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/tracking-locale"},{"title":"Configuring Opt-outs","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/configuring-opt-outs"},{"title":"Device Identifier Tracking","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/device-identifier-tracking"},{"title":"Personalize Experience Events Tracking","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/personalize-experience-events-tracking"}]}]},{"group":"Push","root":{"title":"Push Notifications in Android","href":"/developer-guide/android-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Push Configuration","href":"/developer-guide/android-sdk/push/basic/push-configuration"},{"title":"FCM Authentication","href":"/developer-guide/android-sdk/push/basic/fcm-authentication"},{"title":"Notification Runtime Permissions","href":"/developer-guide/android-sdk/push/basic/notification-runtime-permissions"},{"title":"Push Token Registration and Display","href":"/developer-guide/android-sdk/push/basic/push-token-registration-and-display"},{"title":"Push Token Registration and Display (Legacy)","href":"/developer-guide/android-sdk/push/basic/push-token-registration-and-display-legacy"}]},{"group":"Advanced","pages":[{"title":"Callbacks and Customisation","href":"/developer-guide/android-sdk/push/advanced/callbacks-and-customisation"},{"title":"Push Display Handled by Application","href":"/developer-guide/android-sdk/push/advanced/push-display-handled-by-application"}]},{"group":"Optional","pages":[{"group":"Push AMP+","pages":[{"title":"Push AMP Plus Integration","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/push-amp-plus-integration"},{"title":"Steps to Remove Mi SDK Dependency","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/steps-to-remove-mi-sdk-dependency"},{"title":"Configuring HMS Push Kit","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/configuring-hms-push-kit"},{"title":"Configuring Huawei Push on MoEngage","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/configuring-huawei-push-on-mo-engage"}]},{"title":"Push Amplification","href":"/developer-guide/android-sdk/push/optional/push-amplification"},{"title":"Device Triggered","href":"/developer-guide/android-sdk/push/optional/device-triggered"},{"title":"Location Triggered","href":"/developer-guide/android-sdk/push/optional/location-triggered"},{"title":"Notification Center","href":"/developer-guide/android-sdk/push/optional/notification-center"},{"title":"Push Templates","href":"/developer-guide/android-sdk/push/optional/push-templates"},{"title":"Heads Up Notification","href":"/developer-guide/android-sdk/push/optional/heads-up-notification"}]}]},{"title":"In-App NATIV","sidebarTitle":"In-App Messages","href":"/developer-guide/android-sdk/in-app-messages/in-app-nativ"},{"title":"Personalize SDK","sidebarTitle":"Personalize","href":"/developer-guide/android-sdk/personalize/personalize-sdk"},{"title":"Recommendations","href":"/developer-guide/android-sdk/recommendations/recommendations"},{"group":"Cards","root":{"title":"Card Campaigns in Android","href":"/developer-guide/android-sdk/cards/overview"},"pages":[{"title":"Cards","href":"/developer-guide/android-sdk/cards/cards"},{"title":"Cards in Jetpack Compose","href":"/developer-guide/android-sdk/cards/cards-ui-compose"},{"title":"Self Handled Cards","href":"/developer-guide/android-sdk/cards/self-handled-cards"}]},{"title":"Release Checklist","href":"/developer-guide/android-sdk/checklist/release-checklist"},{"group":"Compliance","root":{"title":"Android Data Disclosure and Consent","href":"/developer-guide/android-sdk/compliance/overview"},"pages":[{"title":"Prepare for Google Play's data disclosure requirements","href":"/developer-guide/android-sdk/compliance/prepare-for-google-plays-data-disclosure-requirements"},{"title":"Compliance","href":"/developer-guide/android-sdk/compliance/compliance"}]},{"title":"Android SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/android-sdk/deprecated-versions/deprecated-versions"},{"group":"Migration","root":{"title":"Android SDK Migration","href":"/developer-guide/android-sdk/migration/overview"},"pages":[{"title":"Migrating to Firebase Installation ID","href":"/developer-guide/android-sdk/migration/migrating-to-firebase-installation-id"},{"title":"Updating to 12.x.xx from 11.x.xx","href":"/developer-guide/android-sdk/migration/updating-to-12xxx-from-11xxx"},{"title":"Updating to 11.x.xx from 10.x.xx","href":"/developer-guide/android-sdk/migration/updating-to-11xxx-from-10xxx"},{"title":"Migration to 10.x.xx","href":"/developer-guide/android-sdk/migration/migration-to-10xxx"},{"title":"Migration from 4.x to 5.x (One time activity)","href":"/developer-guide/android-sdk/migration/migration-from-4x-to-5x-one-time-activity"},{"title":"Moving from Manifest to Code based Integration","href":"/developer-guide/android-sdk/migration/moving-from-manifest-to-code-based-integration"},{"title":"Migration To Maven Central","href":"/developer-guide/android-sdk/migration/migration-to-maven-central"},{"title":"Migrating from addon-inbox 6.0.2","href":"/developer-guide/android-sdk/migration/migrating-from-addon-inbox-602"}]},{"title":"Android 12","sidebarTitle":"OS Updates","href":"/developer-guide/android-sdk/os-updates/android-12"},{"title":"Android TV","href":"/developer-guide/android-sdk/android-tv/android-tv"},{"group":"Performance","root":{"title":"Android SDK Performance and Size","href":"/developer-guide/android-sdk/performance/overview"},"pages":[{"title":"SDK Performance","href":"/developer-guide/android-sdk/performance/sdk-performance"},{"title":"SDK Size Impact","href":"/developer-guide/android-sdk/performance/sdk-size-impact"}]},{"group":"Troubleshooting and FAQs","root":{"title":"Android Troubleshooting and FAQs","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/overview"},"pages":[{"title":"How To Use the MoEngage SDK Logger?","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-use-the-moengage-sdk-logger"},{"title":"What Are the Scenarios Where the SDK Logger Is Not Usable?","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/what-are-the-scenarios-where-the-sdk-logger-is-not-usable"},{"title":"Troubleshooting and FAQs","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs"},{"title":"Troubleshooting Push Redirection","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-push-redirection"},{"title":"Troubleshooting Images","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-images"},{"title":"Troubleshooting In-App","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-in-app"},{"title":"Troubleshooting Exceptions","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-exceptions"},{"title":"How to Fix Installation ID Drop?","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-fix-installation-id-drop"},{"title":"How to fix Token Drop? (Legacy)","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-fix-token-drop"},{"title":"How to share Android MoEngage SDK logs","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-share-android-moengage-sdk-logs"}]},{"title":"Android Sample App","sidebarTitle":"Sample App","href":"/developer-guide/android-sdk/sample-app/android-sample-app"}]},{"group":"Web SDK","root":{"title":"MoEngage Web SDK","href":"/developer-guide/web-sdk/overview"},"pages":[{"group":"Web SDK Overview","root":{"title":"Web SDK Overview","href":"/developer-guide/web-sdk/web-sdk-overview/web-sdk-overview"},"pages":[{"title":"Web-SDK Browser Compatibility Matrix","href":"/developer-guide/web-sdk/web-sdk-overview/web-sdk-browser-compatibility-matrix"}]},{"group":"Web SDK Integration","root":{"title":"Integrating the Web SDK","href":"/developer-guide/web-sdk/web-sdk-integration/overview"},"pages":[{"group":"Basic Integration","pages":[{"title":"Web SDK Integration","href":"/developer-guide/web-sdk/web-sdk-integration/basic-integration/web-sdk-integration"}]},{"group":"Advanced Integration","pages":[{"title":"Content Security Policy (CSP) Nonce Support","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/content-security-policy-csp-nonce-support"},{"title":"Debugging Mode","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/debugging-mode"},{"title":"Cookies used by Web SDK","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/cookies-used-by-web-sdk"},{"title":"Web SDK Lifecycle Callbacks","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/web-sdk-lifecycle-callbacks"},{"title":"Custom Proxy Domain - Web","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/custom-proxy-domain-web"},{"title":"Bot Traffic Blocking","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/bot-traffic-blocking"},{"title":"Web SDK Opt-out","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/web-sdk-opt-out"}]},{"group":"Optional","pages":[{"title":"Native Browser API Support","href":"/developer-guide/web-sdk/web-sdk-integration/optional-integration/native-browser-api-support"}]}]},{"group":"Data Tracking","root":{"title":"Data Tracking on the Web","href":"/developer-guide/web-sdk/data-tracking/overview"},"pages":[{"title":"Web SDK Data Tracking Introduction","href":"/developer-guide/web-sdk/data-tracking/web-sdk-data-tracking-introduction"},{"title":"Setting Unique Id for SDK versions below 2.52.2","href":"/developer-guide/web-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-2-52-2"},{"title":"Web SDK User Attributes Tracking","href":"/developer-guide/web-sdk/data-tracking/web-sdk-user-attributes-tracking"},{"title":"Web SDK Events Tracking","href":"/developer-guide/web-sdk/data-tracking/web-sdk-events-tracking"},{"title":"Configure Data opt-out in Web SDK","href":"/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk"}]},{"group":"Web Push","root":{"title":"Web Push Notifications","href":"/developer-guide/web-sdk/web-push/overview"},"pages":[{"title":"Web Push Overview","href":"/developer-guide/web-sdk/web-push/web-push-overview"},{"title":"Safari Web Push for iOS and iPadOS","href":"/developer-guide/web-sdk/web-push/safari-web-push-for-i-os-and-i-pad-os"},{"title":"Configure and Integrate Web Push","href":"/developer-guide/web-sdk/web-push/configure-and-integrate-web-push"},{"title":"Configure Self-Handled Opt-In","href":"/developer-guide/web-sdk/web-push/configure-self-handled-opt-in"},{"title":"Opted Out Users","href":"/developer-guide/web-sdk/web-push/opted-out-users"}]},{"group":"Onsite Messaging","root":{"title":"On-Site Messaging","href":"/developer-guide/web-sdk/onsite-messaging/overview"},"pages":[{"title":"Configure and Integrate On-site Messaging","href":"/developer-guide/web-sdk/onsite-messaging/configure-and-integrate-on-site-messaging"},{"title":"Self Handled On-Site Messaging","href":"/developer-guide/web-sdk/onsite-messaging/self-handled-on-site-messaging"}]},{"group":"Cards","root":{"title":"Card Campaigns on the Web","href":"/developer-guide/web-sdk/cards/overview"},"pages":[{"title":"Cards","href":"/developer-guide/web-sdk/cards/cards"},{"title":"Self Handled Cards","href":"/developer-guide/web-sdk/cards/self-handled-cards"}]},{"title":"MoEngage Assist Chrome Extension","sidebarTitle":"Integration Validation","href":"/developer-guide/web-sdk/integration-validation/moengage-assist-chrome-extension"},{"title":"Web SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/web-sdk/deprecated-versions/deprecated-versions"},{"title":"Standardizing Web SDK APIs for Cross-Platform Consistency","sidebarTitle":"Migration","href":"/developer-guide/web-sdk/migration/standardizing-web-sdk-apis-for-cross-platform-consistency"},{"group":"Other Supported Web SDK Integration","root":{"title":"Other Web SDK Integrations","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/overview"},"pages":[{"title":"User Login in AMP (Older Process)","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/user-login-in-amp-older-process"},{"title":"WebView - WebSDK Support","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/web-view-web-sdk-support"},{"title":"SDK Support for Browser Extensions","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/sdk-support-for-browser-extensions"},{"title":"Google Tag Manager (GTM) Templates","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/google-tag-manager-gtm-templates"},{"title":"Smart TV integration","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/smart-tv-integration"},{"title":"Single Page App (SPA) Support","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/single-page-app-spa-support"},{"title":"Integrating with other Web Frameworks","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/integrating-with-other-web-frameworks"},{"title":"Configure and Integrate AMP Event Analytics","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/configure-and-integrate-amp-event-analytics"},{"title":"Configure and Integrate AMP Web Push","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/configure-and-integrate-amp-web-push"},{"title":"Integrate MoEngage with MCP UI Apps","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/integrate-moengage-with-mcp-ui-apps"}]}]},{"group":"Personalize SDK","root":{"title":"MoEngage Personalize SDK","href":"/developer-guide/personalize-sdk/overview"},"pages":[{"title":"Web Personalization - V2","href":"/developer-guide/personalize-sdk/sdk-integration/web-personalization-v2"},{"title":"Offerings events tracking","href":"/developer-guide/personalize-sdk/sdk-integration/offerings-events-tracking"},{"title":"Personalize API Experience events tracking","href":"/developer-guide/personalize-sdk/sdk-integration/personalize-api-experience-events-tracking"},{"title":"fetchExperiences - MoEngage Personalize SDK","href":"/developer-guide/personalize-sdk/sdk-integration/self-handled-personalize-api-experiences"},{"title":"Content Security Policy (CSP) and Impact on Personalize","href":"/developer-guide/personalize-sdk/sdk-integration/content-security-policy-csp-and-impact-on-personalize"},{"title":"Custom Attributes","href":"/developer-guide/personalize-sdk/sdk-integration/custom-attributes"}]},{"group":"Ecommerce Platforms","root":{"title":"Ecommerce Platform Integrations","href":"/developer-guide/ecommerce-platforms/overview"},"pages":[{"group":"Shopify","root":{"title":"Shopify Integration","href":"/developer-guide/ecommerce-platforms/shopify/overview"},"pages":[{"title":"Shopify 2.0","href":"/developer-guide/ecommerce-platforms/shopify/shopify-20"},{"title":"Events and User Data Tracking","href":"/developer-guide/ecommerce-platforms/shopify/events-and-user-data-tracking"},{"title":"User Data Sync","href":"/developer-guide/ecommerce-platforms/shopify/user-data-sync"},{"title":"Sync Your Product Catalog","href":"/developer-guide/ecommerce-platforms/shopify/sync-product-catalog"},{"title":"Validate Your Shopify Integration","href":"/developer-guide/ecommerce-platforms/shopify/validate-integration"},{"title":"User Profile Management with Shopify","href":"/developer-guide/ecommerce-platforms/shopify/user-profile-management-with-shopify"},{"title":"FAQs","href":"/developer-guide/ecommerce-platforms/shopify/faqs"}]},{"title":"WooCommerce","href":"/developer-guide/ecommerce-platforms/woo-commerce/woocommerce"},{"title":"Magento","href":"/developer-guide/ecommerce-platforms/magento/magento"}]},{"group":"React Native SDK","root":{"title":"MoEngage React Native SDK","href":"/developer-guide/react-native-sdk/overview"},"pages":[{"title":"Getting Started with React Native SDK","sidebarTitle":"Overview","href":"/developer-guide/react-native-sdk/overview/getting-started-with-react-native-sdk"},{"group":"SDK Integration","root":{"title":"Integrating the React Native SDK","href":"/developer-guide/react-native-sdk/sdk-integration/overview"},"pages":[{"group":"React Native","pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/framework-dependency"},{"title":"Android Build Configuration","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/android"},{"title":"iOS","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/ios"}]},{"group":"SDK Initialization","pages":[{"group":"File Based Initialization","pages":[{"title":"File Based Initialization","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/file-based-initialization/file-based-initialization"},{"title":"Migration and Precedence","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/file-based-initialization/migration-and-precedence"}]},{"group":"Manual Initialization","pages":[{"title":"Framework Initialization","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/framework-initialization"},{"title":"Android","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/android"},{"title":"iOS","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/ios"}]}]}]},{"group":"Expo","pages":[{"title":"Installation","href":"/developer-guide/react-native-sdk/sdk-integration/expo/installation"},{"title":"Configure the MoEngage Expo SDK","href":"/developer-guide/react-native-sdk/sdk-integration/expo/configure-the-moengage-expo-sdk"},{"title":"Initialization","href":"/developer-guide/react-native-sdk/sdk-integration/expo/initialization"}]},{"group":"Advanced","pages":[{"title":"JWT Authentication","href":"/developer-guide/react-native-sdk/sdk-integration/advanced/jwt-authentication"}]},{"title":"Limitations","href":"/developer-guide/react-native-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in React Native","href":"/developer-guide/react-native-sdk/data-tracking/overview"},"pages":[{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/react-native-sdk/data-tracking/tracking-user-attributes-and-user-identity"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/react-native-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update","href":"/developer-guide/react-native-sdk/data-tracking/install-update"},{"title":"Setting Unique Id for SDK versions below 11.2.0","href":"/developer-guide/react-native-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-1120"},{"title":"Tracking Events","href":"/developer-guide/react-native-sdk/data-tracking/tracking-events"},{"title":"Delete User From MoEngage Server","href":"/developer-guide/react-native-sdk/data-tracking/delete-user-from-moengage-server"}]},{"group":"Push","root":{"title":"Push Notifications in React Native","href":"/developer-guide/react-native-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/react-native-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","description":"Handle Android 13 notification runtime permissions in your React Native app using the MoEngage SDK.","href":"/developer-guide/react-native-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration","href":"/developer-guide/react-native-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","description":"Set up push token and push click callback listeners in the MoEngage React Native SDK.","href":"/developer-guide/react-native-sdk/push/basic/push-callback"},{"group":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","pages":[{"title":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","href":"/developer-guide/react-native-sdk/push/basic/integrating-moengage-service-and-content-extensions/set-up-ios-notification-extensions-for-rich-push-and-impression-tracking"},{"title":"Migrate To The Extension Integrator Tool","href":"/developer-guide/react-native-sdk/push/basic/integrating-moengage-service-and-content-extensions/migrating-to-the-extension-integrator-tool"}]}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/react-native-sdk/push/optional/location-triggered"},{"title":"Notification Center","href":"/developer-guide/react-native-sdk/push/optional/notification-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In App Messages","href":"/developer-guide/react-native-sdk/in-app-messages/inapp-nativ"},{"group":"Personalize","root":{"title":"Personalize in React Native","href":"/developer-guide/react-native-sdk/personalize/overview"},"pages":[{"title":"Personalize SDK","href":"/developer-guide/react-native-sdk/personalize/personalize-sdk"},{"title":"Personalize Data Payload","href":"/developer-guide/react-native-sdk/personalize/personalize-data-payload"}]},{"title":"Recommendations","href":"/developer-guide/react-native-sdk/recommendations/recommendations"},{"group":"Cards","root":{"title":"Card Campaigns in React Native","href":"/developer-guide/react-native-sdk/cards/overview"},"pages":[{"group":"Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/react-native-sdk/cards/installation/framework-dependency"},{"title":"Android","href":"/developer-guide/react-native-sdk/cards/installation/android"},{"title":"iOS","href":"/developer-guide/react-native-sdk/cards/installation/ios"}]},{"title":"Framework Initialization","href":"/developer-guide/react-native-sdk/cards/initialization/framework-initialization"},{"title":"Self Handled Cards","href":"/developer-guide/react-native-sdk/cards/self-handled-cards"},{"title":"Cards Data Payload","href":"/developer-guide/react-native-sdk/cards/cards-data-payload"}]},{"title":"Compliance","href":"/developer-guide/react-native-sdk/compliance/compliance"},{"title":"TV Support","href":"/developer-guide/react-native-sdk/tv/tv-support"},{"title":"React Native Sample App","sidebarTitle":"Sample App","href":"/developer-guide/react-native-sdk/sample-app/react-native-sample-app"},{"title":"Migrate the MoEngage React Native SDK From CocoaPods to Swift Package Manager","sidebarTitle":"Migration","href":"/developer-guide/react-native-sdk/migration/migration-of-moengage-sdk-from-cocoapods-to-spm"},{"title":"Troubleshooting and FAQs - React Native","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/react-native-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-react"},{"title":"React Native SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/react-native-sdk/deprecated-versions/deprecated-versions"}]},{"group":"Flutter SDK","root":{"title":"MoEngage Flutter SDK","href":"/developer-guide/flutter-sdk/overview"},"pages":[{"title":"Getting Started with Flutter SDK","sidebarTitle":"Overview","href":"/developer-guide/flutter-sdk/overview/getting-started-with-flutter-sdk"},{"group":"SDK Integration","root":{"title":"Integrating the Flutter SDK","href":"/developer-guide/flutter-sdk/sdk-integration/overview"},"pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-installation/framework-dependency"},{"title":"Android","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-installation/android"},{"title":"iOS","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-installation/ios"}]},{"group":"SDK Initialization","pages":[{"group":"File Based Initialization","pages":[{"title":"File Based Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/file-based-initialization"},{"title":"Migration and Precedence","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/migration-and-precedence"}]},{"group":"Manual Initialization","pages":[{"title":"Framework Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/framework-initialization"},{"title":"Android SDK Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/android-sdk-initialization"},{"title":"iOS SDK Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/ios-sdk-initialization"},{"title":"Web SDK Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/web-sdk-initialization"}]}]},{"group":"Advanced","pages":[{"title":"JWT Authentication","href":"/developer-guide/flutter-sdk/sdk-integration/advanced/jwt-authentication"}]},{"title":"Limitations","href":"/developer-guide/flutter-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Flutter","href":"/developer-guide/flutter-sdk/data-tracking/overview"},"pages":[{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/flutter-sdk/data-tracking/tracking-user-attributes-and-user-identity"},{"title":"Delete User From MoEngage Server","href":"/developer-guide/flutter-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/flutter-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update Differentiation","href":"/developer-guide/flutter-sdk/data-tracking/install-update-differentiation"},{"title":"Setting Unique Id for SDK versions below 9.2.0","href":"/developer-guide/flutter-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-920"},{"title":"Tracking Events","href":"/developer-guide/flutter-sdk/data-tracking/tracking-events"}]},{"group":"Push","root":{"title":"Push Notifications in Flutter","href":"/developer-guide/flutter-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/flutter-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","href":"/developer-guide/flutter-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration","href":"/developer-guide/flutter-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","href":"/developer-guide/flutter-sdk/push/basic/push-callback"},{"group":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","pages":[{"title":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","href":"/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"},{"title":"Migrate To The Extension Integrator Tool","href":"/developer-guide/flutter-sdk/push/basic/integrating-moengage-service-and-content-extension-in-ios/migrating-to-the-extension-integrator-tool"}]}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/flutter-sdk/push/optional/location-triggered"},{"title":"Notification Center","href":"/developer-guide/flutter-sdk/push/optional/notification-center"}]}]},{"title":"InApp NATIV","sidebarTitle":"In-App Messages","href":"/developer-guide/flutter-sdk/in-app-messages/inapp-nativ"},{"group":"Personalize","root":{"title":"Personalize in Flutter","href":"/developer-guide/flutter-sdk/personalize/overview"},"pages":[{"title":"Personalize SDK","href":"/developer-guide/flutter-sdk/personalize/personalize-sdk"},{"title":"Personalize Data Payload","href":"/developer-guide/flutter-sdk/personalize/personalize-data-payload"}]},{"title":"Self Handled Cards","sidebarTitle":"Cards","href":"/developer-guide/flutter-sdk/cards/self-handled-cards"},{"title":"Compliance","href":"/developer-guide/flutter-sdk/compliance/compliance"},{"title":"Troubleshooting and FAQs - Flutter","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/flutter-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-flutter"},{"title":"Flutter Sample App","sidebarTitle":"Sample App","href":"/developer-guide/flutter-sdk/sample-app/flutter-sample-app"},{"title":"Flutter SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/flutter-sdk/deprecated-versions/deprecated-versions"}]},{"group":"Cordova SDK","root":{"title":"MoEngage Cordova SDK","href":"/developer-guide/cordova-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Cordova SDK","href":"/developer-guide/cordova-sdk/sdk-integration/overview"},"pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-installation/framework-dependency"},{"title":"Android SDK Installation","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-installation/android-sdk-installation"},{"title":"iOS Installation","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-installation/ios-installation"}]},{"group":"SDK Initialization","pages":[{"title":"Framework Initialization","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/framework-initialization"},{"title":"Android SDK Initialization","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/android-sdk-initialization"},{"title":"iOS SDK Initialization","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/ios-sdk-initialization"}]},{"title":"Limitations","href":"/developer-guide/cordova-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Cordova","href":"/developer-guide/cordova-sdk/data-tracking/overview"},"pages":[{"title":"Delete User From MoEngage Server","href":"/developer-guide/cordova-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/cordova-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update differentiation","href":"/developer-guide/cordova-sdk/data-tracking/install-update-differentiation"},{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/cordova-sdk/data-tracking/tracking-user-attributes"},{"title":"Tracking Events","href":"/developer-guide/cordova-sdk/data-tracking/tracking-events"}]},{"group":"Push","root":{"title":"Push Notifications in Cordova","href":"/developer-guide/cordova-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/cordova-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","href":"/developer-guide/cordova-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration ","href":"/developer-guide/cordova-sdk/push/basic/ios-push-configuration-7xx"},{"title":"Push Callback","href":"/developer-guide/cordova-sdk/push/basic/push-callback"}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/cordova-sdk/push/optional/location-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In App Messages","href":"/developer-guide/cordova-sdk/in-app-messages/inapp-nativ"},{"title":"Compliance","href":"/developer-guide/cordova-sdk/compliance/compliance"},{"title":"Cordova SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/cordova-sdk/deprecated-versions/deprecated-versions"},{"title":"Migrating to 4.x.x","sidebarTitle":"Migration","href":"/developer-guide/cordova-sdk/migration/migrating-to-4xx"},{"title":"Troubleshooting and FAQs - Cordova","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/cordova-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-cordova"}]},{"group":"Unity SDK","root":{"title":"MoEngage Unity SDK","href":"/developer-guide/unity-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Unity SDK","href":"/developer-guide/unity-sdk/sdk-integration/overview"},"pages":[{"title":"SDK Installation","href":"/developer-guide/unity-sdk/sdk-integration/sdk-installation/sdk-installation"},{"group":"SDK Initialization","pages":[{"title":"SDK Initialization","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/sdk-initialization"},{"group":"Manual Initialization","pages":[{"title":"Android","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/manual-initialization/android"}]},{"group":"File Based Initialization","pages":[{"title":"Android","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/file-based-initialization/android"},{"title":"iOS","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/file-based-initialization/ios"}]}]},{"title":"Limitations","href":"/developer-guide/unity-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Unity","href":"/developer-guide/unity-sdk/data-tracking/overview"},"pages":[{"title":"Delete User From MoEngage Server","href":"/developer-guide/unity-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/unity-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update Differentiation","href":"/developer-guide/unity-sdk/data-tracking/install-update-differentiation"},{"title":"Tracking User Attributes","href":"/developer-guide/unity-sdk/data-tracking/tracking-user-attributes"},{"title":"Tracking Events","href":"/developer-guide/unity-sdk/data-tracking/tracking-events"}]},{"group":"Push","root":{"title":"Push Notifications in Unity","href":"/developer-guide/unity-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/unity-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","href":"/developer-guide/unity-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration","href":"/developer-guide/unity-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","href":"/developer-guide/unity-sdk/push/basic/push-callback"}]},{"group":"Optional","pages":[{"title":"Configuring Push Templates","href":"/developer-guide/unity-sdk/push/optional/configuring-push-templates"},{"title":"Location Triggered","href":"/developer-guide/unity-sdk/push/optional/location-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In App Messages","href":"/developer-guide/unity-sdk/in-app-messages/inapp-nativ"},{"title":"Compliance","href":"/developer-guide/unity-sdk/compliance/compliance"},{"title":"Troubleshooting and FAQs - Unity","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/unity-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-unity"},{"title":"Unity SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/unity-sdk/deprecated-versions/deprecated-versions"}]},{"group":"Capacitor SDK","root":{"title":"MoEngage Capacitor SDK","href":"/developer-guide/capacitor-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Capacitor SDK","href":"/developer-guide/capacitor-sdk/sdk-integration/overview"},"pages":[{"group":"Basic","pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/framework-dependency"},{"title":"Android SDK Installation","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/android-sdk-installation"},{"title":"iOS SDK Installation","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/ios-sdk-installation"}]},{"group":"SDK Initialization","pages":[{"group":"File Based Initialization","pages":[{"title":"File Based Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/file-based-initlialization/file-based-initialization"},{"title":"Migration And Precedence","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/file-based-initlialization/migration-and-precedence"}]},{"title":"Framework Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/framework-initialization"},{"title":"Android SDK Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/android-sdk-initialization"},{"title":"iOS SDK Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/ios-sdk-initialization"}]}]},{"group":"Advanced","pages":[{"title":"JWT Authentication","href":"/developer-guide/capacitor-sdk/sdk-integration/advanced/jwt-authentication"}]},{"title":"Limitations","href":"/developer-guide/capacitor-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Capacitor","href":"/developer-guide/capacitor-sdk/data-tracking/overview"},"pages":[{"title":"Delete User From MoEngage Server","href":"/developer-guide/capacitor-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/capacitor-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update Differentiation","href":"/developer-guide/capacitor-sdk/data-tracking/install-update-differentiation"},{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/capacitor-sdk/data-tracking/tracking-user-attributes"},{"title":"Tracking Events","href":"/developer-guide/capacitor-sdk/data-tracking/tracking-events"},{"title":"Setting Unique ID for SDK versions below 6.0.0","href":"/developer-guide/capacitor-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-6.0.0"}]},{"group":"Push","root":{"title":"Push Notifications in Capacitor","href":"/developer-guide/capacitor-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Notification Runtime Permissions","href":"/developer-guide/capacitor-sdk/push/basic/android-notification-runtime-permissions"},{"title":"Android Push Configuration","href":"/developer-guide/capacitor-sdk/push/basic/android-push-configuration"},{"title":"iOS Push Configuration","href":"/developer-guide/capacitor-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","href":"/developer-guide/capacitor-sdk/push/basic/push-callback"}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/capacitor-sdk/push/optional/location-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In-App Messages","href":"/developer-guide/capacitor-sdk/in-app-messages/inapp-nativ"},{"title":"Compliance","href":"/developer-guide/capacitor-sdk/compliance/compliance"},{"title":"Troubleshooting and FAQs - Capacitor","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/capacitor-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-capacitor"},{"title":"Capacitor Sample App","sidebarTitle":"Sample App","href":"/developer-guide/capacitor-sdk/sample-app/capacitor-sample-app"},{"title":"Capacitor SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/capacitor-sdk/deprecated-versions/deprecated-versions"}]},{"title":"SDK Installation","sidebarTitle":"Ionic SDK","href":"/developer-guide/ionic-sdk/sdk-integration/sdk-installation"},{"title":"TV and OTT Integrations","href":"/developer-guide/tv-and-ott-integrations/getting-started/tv-and-ott-integrations"},{"group":"SDK Lifecycle \u0026 Policies","root":{"title":"SDK Lifecycle and Policies","href":"/developer-guide/sdk-lifecycle-and-policies/overview"},"pages":[{"title":"SDK Deprecation Policy","href":"/developer-guide/sdk-lifecycle-and-policies/sdk-deprecation-policy"},{"title":"Deprecation for Older Platform Versions","href":"/developer-guide/sdk-lifecycle-and-policies/deprecation-for-older-platform-versions"}]},{"group":"Components for SDK","root":{"title":"Components for SDK","href":"/developer-guide/components-for-sdk/overview"},"pages":[{"title":"Real-time Uninstall Tracking","href":"/developer-guide/components-for-sdk/tracking/real-time-uninstall-tracking"},{"group":"Javascript Bridge","root":{"title":"JavaScript Bridge","href":"/developer-guide/components-for-sdk/javascript-bridge/overview"},"pages":[{"title":"JavaScript Bridge for HTML In-Apps","href":"/developer-guide/components-for-sdk/javascript-bridge/javascript-bridge-for-html-in-apps"},{"title":"JavaScript Bridge for On-Site Messaging and Landing Pages","href":"/developer-guide/components-for-sdk/javascript-bridge/javascript-bridge-for-on-site-messaging-and-landing-pages"}]},{"title":"Android Push Configuration For Hybrid Applications","sidebarTitle":"Push Notification","href":"/developer-guide/components-for-sdk/push-notification/android-push-configuration-for-hybrid-applications"}]},{"title":"Getting FCM Server Key","sidebarTitle":"Partner Integrations","href":"/developer-guide/partner-integrations/firebase/getting-fcm-server-key"}]}]},{"tab":"API Guide","pages":[{"title":"API Guide","href":"/api/introduction"}]},{"tab":"AI \u0026 Intelligence","pages":[{"title":"AI \u0026 Intelligence","href":"/user-guide/ai-and-intelligence/overview"}]},{"tab":"Partner Integrations","pages":[{"title":"Partner Integrations","href":"/partner-guide/introduction"}]},{"tab":"Use Cases","pages":[{"title":"Use Cases","href":"/use-cases/introduction"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/subscribe-to-release-notes"}]}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/developer-guide/react-native-sdk/push/basic/ios-push-configuration"}]}]},"basePath":"","title":"iOS Push Configuration - MoEngage","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CypZe82l.js","lightbox-handle-r17bVUz3.js"]}