CINXE.COM

Google Tag Manager for iOS

<!DOCTYPE html> <html lang="en"> <head> <title>Google Tag Manager for iOS</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="google-site-verification" content="kI0o3QRqDw5zhtd9W5umZTzLTDe6X1tp-gybtFg_7bQ" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="google-site-verification" content="kI0o3QRqDw5zhtd9W5umZTzLTDe6X1tp-gybtFg_7bQ" /> <link rel="icon" type="image/x-icon" href="/docs/assets/favicon.ico" sizes="160x160"> <meta name="description" content="This article covers how to initialize, configure, and implement the Google Tag Manager for the Swift SDK."> <link rel="canonical" href="https://www.braze.com/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/google_tag_manager/"> <meta name="keywords" content="braze, docs, documentation, appboy, academy, developer guide, platform integration guides, swift, advanced use cases, google tag manager "> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://www.braze.com/docs", "potentialAction": { "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://www.braze.com/docs/search/?query={search_term_string}" }, "query-input": "required name=search_term_string" } } </script> <link href="/docs/assets/css/bootstrap.css" rel="stylesheet" /> <link type="text/css" rel="stylesheet" href="//fast.fonts.net/cssapi/34a7ffbc-6962-4ab8-b4f5-9aa2b4258efc.css"/> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto"> <!-- link rel="stylesheet" href="//use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous" --> <link href="/docs/assets/css/fontawesome.css" rel="stylesheet" /> <script type="text/javascript" src="/docs/assets/js/jquery-3.3.1.js"></script> <script type="text/javascript" src="/docs/assets/js/bootstrap.js"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} // Set default consent for opt-in regions gtag('consent', 'default', { ad_storage: 'denied', analytics_storage: 'denied', functionality_storage: 'denied', personalization_storage: 'denied', security_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied', region: ['DE','NO','BE','FI','PT','BG','JP','DK','LT','LU','HR','LV','FR','HU','SE','SI','MC','SK','MF','SM','GB','YT','IE','GF','EE','MQ','KR','MT','GP','IS','GR','IT','ES','AR','AT','RE','CY','AX','CZ','PL','LI','RO','NL'], wait_for_update: 500 }); // Set default consent for all other regions gtag('consent', 'default', { ad_storage: 'granted', analytics_storage: 'granted', functionality_storage: 'granted', personalization_storage: 'granted', security_storage: 'granted', ad_user_data: 'granted', ad_personalization: 'granted', wait_for_update: 500 }); </script> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-W8DKT4D');</script> <script type="text/javascript"> +function(a,p,P,b,y){a.braze={};a.brazeQueue=[];for(var s="BrazeSdkMetadata DeviceProperties Card Card.prototype.dismissCard Card.prototype.removeAllSubscriptions Card.prototype.removeSubscription Card.prototype.subscribeToClickedEvent Card.prototype.subscribeToDismissedEvent Card.fromContentCardsJson Banner CaptionedImage ClassicCard ControlCard ContentCards ContentCards.prototype.getUnviewedCardCount Feed Feed.prototype.getUnreadCardCount ControlMessage InAppMessage InAppMessage.SlideFrom InAppMessage.ClickAction InAppMessage.DismissType InAppMessage.OpenTarget InAppMessage.ImageStyle InAppMessage.Orientation InAppMessage.TextAlignment InAppMessage.CropType InAppMessage.prototype.closeMessage InAppMessage.prototype.removeAllSubscriptions InAppMessage.prototype.removeSubscription InAppMessage.prototype.subscribeToClickedEvent InAppMessage.prototype.subscribeToDismissedEvent InAppMessage.fromJson FullScreenMessage ModalMessage HtmlMessage SlideUpMessage User User.Genders User.NotificationSubscriptionTypes User.prototype.addAlias User.prototype.addToCustomAttributeArray User.prototype.addToSubscriptionGroup User.prototype.getUserId User.prototype.incrementCustomUserAttribute User.prototype.removeFromCustomAttributeArray User.prototype.removeFromSubscriptionGroup User.prototype.setCountry User.prototype.setCustomLocationAttribute User.prototype.setCustomUserAttribute User.prototype.setDateOfBirth User.prototype.setEmail User.prototype.setEmailNotificationSubscriptionType User.prototype.setFirstName User.prototype.setGender User.prototype.setHomeCity User.prototype.setLanguage User.prototype.setLastKnownLocation User.prototype.setLastName User.prototype.setPhoneNumber User.prototype.setPushNotificationSubscriptionType InAppMessageButton InAppMessageButton.prototype.removeAllSubscriptions InAppMessageButton.prototype.removeSubscription InAppMessageButton.prototype.subscribeToClickedEvent FeatureFlag FeatureFlag.prototype.getStringProperty FeatureFlag.prototype.getNumberProperty FeatureFlag.prototype.getBooleanProperty automaticallyShowInAppMessages destroyFeed hideContentCards showContentCards showFeed showInAppMessage toggleContentCards toggleFeed changeUser destroy getDeviceId initialize isPushBlocked isPushPermissionGranted isPushSupported logCardClick logCardDismissal logCardImpressions logContentCardImpressions logContentCardClick logContentCardsDisplayed logCustomEvent logFeedDisplayed logInAppMessageButtonClick logInAppMessageClick logInAppMessageHtmlClick logInAppMessageImpression logPurchase openSession requestPushPermission removeAllSubscriptions removeSubscription requestContentCardsRefresh requestFeedRefresh refreshFeatureFlags requestImmediateDataFlush enableSDK isDisabled setLogger setSdkAuthenticationSignature addSdkMetadata disableSDK subscribeToContentCardsUpdates subscribeToFeedUpdates subscribeToInAppMessage subscribeToSdkAuthenticationFailures toggleLogging unregisterPush wipeData handleBrazeAction subscribeToFeatureFlagsUpdates getAllFeatureFlags".split(" "),i=0;i<s.length;i++){for(var m=s[i],k=a.braze,l=m.split("."),j=0;j<l.length-1;j++)k=k[l[j]];k[l[j]]=(new Function("return function "+m.replace(/\./g,"_")+"(){window.brazeQueue.push(arguments); return true}"))()}window.braze.getCachedContentCards=function(){return new window.braze.ContentCards};window.braze.getCachedFeed=function(){return new window.braze.Feed};window.braze.getUser=function(){return new window.braze.User};window.braze.getFeatureFlag=function(){return new window.braze.FeatureFlag};(y=p.createElement(P)).type='text/javascript'; y.src='https://js.appboycdn.com/web-sdk/4.8/braze.min.js'; y.async=1;(b=p.getElementsByTagName(P)[0]).parentNode.insertBefore(y,b) }(window,document,'script'); (function(){ braze.initialize('5b26b83b-aa4e-4bd1-b9fa-81880aa8ac83', { enableLogging: false, allowUserSuppliedJavascript: true, sessionTimeoutInSeconds: 300, baseUrl: 'sdk.iad-01.braze.com', doNotLoadFontAwesome: true }); var app_valid_paths = { 'docs' : true } function section_replace(removestr,valid_paths){ var reg_str = ''; $.each(valid_paths,function(k,v){ if (reg_str){ reg_str += '|'; } reg_str += '/' + k + '/'; }); return removestr.replace(new RegExp(reg_str),'') } braze.automaticallyShowInAppMessages(); var testfeed = true; // Fallback to show content cards upon update braze.subscribeToContentCardsUpdates(function(feed) { if (feed.cards.length > 0 && testfeed) { $('#cc_prompt').show(); testfeed = false; } }); braze.openSession(); var paths = window.location.pathname.split('/'); if (paths.length > 2 ) { var doc_base = paths[1].toLowerCase(); var val_path = app_valid_paths[doc_base]; if (val_path){ var section = section_replace(window.location.pathname,app_valid_paths); braze.logCustomEvent( doc_base + '_page', { url: window.location.href, section: section, hash: window.location.hash, anchor: window.location.hash.split('?')[0] }); } } // Test if there are any content cards var curcards = braze.getCachedContentCards(); if ('cards' in curcards) { if (curcards['cards'].length > 0) { $('#cc_prompt').show(); testfeed = false; } // Currently no cache content card, refresh else { braze.requestContentCardsRefresh(); } } })(); </script> <link type="text/css" rel="stylesheet" href="/docs/assets/css/swiper.css" /> <link type="text/css" rel="stylesheet" href="/docs/assets/css/algolia_theme.css" /><link href='/docs/assets/global-e8de6c13241c14e6d47cc5e159500ae8.css' rel='stylesheet' type='text/css' /><script type="text/javascript"> const page_collection = 'developer_guide'; const page_collection_title = 'Developer Guide'; const page_collection_default_path = 'home/'; const site_language = 'en'; const site_i18n = {}; site_i18n['next'] = 'NEXT'; site_i18n['previous'] = 'PREVIOUS'; site_i18n['popular_topic'] = 'Popular Topics'; site_i18n['helpful_resources'] = 'Helpful Resources'; site_i18n['braze_status'] = 'BRAZE SYSTEM STATUS'; site_i18n['braze_status_check'] = 'Checking Braze Status'; site_i18n['edit_github'] = 'Edit this page on GitHub'; site_i18n['page_nav_title'] = 'On this page'; site_i18n['helpful'] = 'HOW HELPFUL WAS THIS PAGE?';</script> <script type="text/javascript" src="/docs/assets/js/clipboard.js"></script> <script type='text/javascript' src='/docs/assets/js/jquery.mark.js' ></script> <script src='/docs/assets/global-f57726d814497eb28dbbf249f1433c0b.js' type='text/javascript'></script> <script type='text/javascript' src='/docs/assets/js/swiper.js' ></script> <script type='text/javascript' src='/docs/assets/js/algolia_search.js?1732737170' ></script> <script type="text/javascript"> const { autocomplete,getAlgoliaResults, createAutocomplete } = window['@algolia/autocomplete-js']; const { createAlgoliaInsightsPlugin } = window['@algolia/autocomplete-plugin-algolia-insights']; const searchClient = algoliasearch('1T770XQJ1A', 'ef2b60b317325b3227caabd0c9431d4b'); insightsClient('init', { appId: '1T770XQJ1A', apiKey: 'ef2b60b317325b3227caabd0c9431d4b' }); insightsClient('setUserToken', algolia_user); const algoliaInsightsPluginHeader = createAlgoliaInsightsPlugin({ insightsClient, onItemsChange({ insights, insightsEvents }) { const events = insightsEvents.map((insightsEvent) => ({ ...insightsEvent, eventName: 'Viewed from Header Search', })); insights.viewedObjectIDs(...events); }, onSelect({ insights, insightsEvents }) { const events = insightsEvents.map((insightsEvent) => ({ ...insightsEvent, eventName: 'Clicked from Header Search', })); insights.clickedObjectIDsAfterSearch(...events); }, }); const algoliaInsightsPluginMain = createAlgoliaInsightsPlugin({ insightsClient, onItemsChange({ insights, insightsEvents }) { const events = insightsEvents.map((insightsEvent) => ({ ...insightsEvent, eventName: 'Viewed from Home Search', })); insights.viewedObjectIDs(...events); }, onSelect({ insights, insightsEvents }) { const events = insightsEvents.map((insightsEvent) => ({ ...insightsEvent, eventName: 'Clicked from Home Search', })); insights.clickedObjectIDsAfterSearch(...events); }, }); const instant_search = instantsearch({ indexName: 'DocSearch', searchClient, }); var algolia_debug = false; var base_url = '/docs'; var toc_minheaders = 2 ; var toc_headers = 'h2, h3'; var algolia_doc_index = 'DocSearch'; var algolia_learning_index = 'BrazeLearningCourses'; </script> <!-- Adds LaTeX support --> <script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"> </script> </head> <body data-spy="scroll" data-target="#toc" > <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W8DKT4D" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <main> <a class="skip-main" href="#content_start">Skip to content</a> <!-- OneTrust Cookies Consent Notice start for braze.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="a4189af1-fcc1-4ec1-9f51-e3bc768c6650"></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for braze.com --> <header id="header_nav" > <nav class="navbar navbar-expand-md flex-column-md flex-md-row navbar-dark" aria-label="Header Navigation" title="Header Navigation"> <div id="header_wrapper"> <div id="nav_logo"> <a id="logo" href="/docs/"><img src="/docs/assets/img/logos/braze-logo-white.svg" alt="Braze"></a> <a id="icon_logo" href="/docs/"><img src="/docs/assets/img/logos/braze-logo-monogram-purple.svg" alt="Braze"></a> </div> <div class="navbarCollapse d-none d-md-block" id="header_navbar" > <ul class="navbar-nav" id="header_menu"><li class="nav-item "> <a class="nav-link" href="/docs/user_guide/introduction/"><div>User Guide</div></a> </li><li class="nav-item active"> <a class="nav-link" href="/docs/developer_guide/home/"><div>Developer Guide</div></a> </li><li class="nav-item "> <a class="nav-link" href="/docs/api/home/"><div>API</div></a> </li><li class="nav-item "> <a class="nav-link" href="/docs/partners/home/"><div>Technology Partners</div></a> </li><li class="nav-item "> <a class="nav-link" href="/docs/help/home/"><div>Help</div></a> </li><li> <ul id="braze_header_lang"> <li class="nav-item nav-item-lang-li"> <div id="nav-item-lang"> <label for="lang_select"><i class="fa-solid fa-globe">&#8205;</i> </label> <select class="lang-select" id="lang_select" aria-label="language select"> <option value="en">EN</option> <option value="es">ES</option> <option value="fr">FR</option> <option value="ja">JA</option> </select> </div> </li> </ul> </li> </ul> </div><div class="navbarCollapse d-md-none" id="dropdown_navbar"> <div id="dropdown_navbar_lang"> <label for="lang_select"><i class="fa-solid fa-globe">&#8205;</i> </label> <select class="lang-select" id="lang_select_responsive" aria-label="language select"> <option value="en">EN</option> <option value="es">ES</option> <option value="fr">FR</option> <option value="ja">JA</option> </select> </div> <ul class="navbar-nav " id="dropdown_menu"> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="nav_responsive_dropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <div>Developer Guide</div> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"> <path d="M4.5 9L7.5 6L4.5 3" stroke="#FDA4FB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg> </a> <div class="dropdown-menu" aria-labelledby="nav_responsive_dropdown"><a class="dropdown-item " href="/docs/"><div>Home</div></a><a class="dropdown-item " href="/docs/user_guide/introduction/"><div>User Guide</div></a><a class="dropdown-item active" href="/docs/developer_guide/home/"><div>Developer Guide</div></a><a class="dropdown-item " href="/docs/api/home/"><div>API</div></a><a class="dropdown-item " href="/docs/partners/home/"><div>Technology Partners</div></a><a class="dropdown-item " href="/docs/help/home/"><div>Help</div></a><hr /> <a class="dropdown-item" target="_blank" href="https://www.braze.com"><div>braze.com</div><i class="fa-solid fa-up-right-from-square"></i></a> </div> </li> </ul> </div> </div> <div id="navbar-search"> <script src="/docs/assets/js/algolia_header_search.js?1732737170" ></script> <div class="flex-row ml-auto d-flex" id="search-form_div"> <div id="header-search-form"></div> <div id="header-search-panel"></div> </div> <div class="navbar-nav" id="site-link"><a class="nav-link" href="https://braze.com"><div>braze.com</div><i class="fa-solid fa-up-right-from-square"></i></a></div> </div> <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#nav_bar" aria-controls="nav_bar" aria-expanded="false" aria-label="Toggle navigation" id="header_toggle"> <span class="burger burger-1"></span><span class="burger burger-2"></span><span class="burger burger-3"></span><span class="burger burger-4"></span> </button> </nav> </header> <div class="container-fluid" > <div class="row flex-xl-nowrap d-print-block "> <!-- button id="sidebar_toggle" class="btn btn-info d-print-none" data-toggle="collapse" aria-expanded="true" href="#nav_bar" > <i class="fas"></i> </button --> <div class="col-sm-12 col-md-3 col-lg-3 col-xl-2 d-print-none collapse d-md-block" id="nav_bar" > <div id="nav_col" class=" "> <button id="sidebar_toggle" class="btn btn-info d-print-none" href="#" aria-label="Side Navigation Toggle" title="Side Navigation Toggle"> <i class="fas fa-chevron-left"></i> </button><div id="nav_filter" class="flex-column flex-nowrap "> <form id="filter-form" > <div class="input-group"> <input type="text" class="form-control has-clear " name="nav_filter_input" id="nav_filter_input" placeholder="Filter Topics..." aria-label="Filter" /> <div class="input-group-append"> <i id="filter-action" class="fa"></i> </div> </div> </form> </div><nav class="bd-links navbar navbar-expand-lg navbar-light" id="left_navmenu" aria-label="Left Navigation" title="Left Navigation"><div id="filter-msg" class="flex-column flex-nowrap d-none"></div><div class='nav flex-column flex-nowrap collapse show' id='nav_top' > <div class='nav-item ' id='parent_nav_home' data-parent='parent_nav_top'><div class='nav_reg' data-parent='parent_nav_top'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/home/' class='nav_link' data-parent='parent_nav_top' aria-label='Home'> <div class='nav_title'>Home</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_gettingstarted' data-parent='parent_nav_top'><div class='nav_url' data-parent='parent_nav_top'><a tabindex='-1' href='#nav_top_gettingstarted' aria-label='Getting Started' data-toggle='collapse' data-target='#nav_top_gettingstarted' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/getting_started/' class='nav_link' data-parent='parent_nav_top' aria-label='Getting Started'> <div class='nav_title'>Getting Started</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_gettingstarted' > <div class='nav-item ' id='parent_nav_top_gettingstarted_sdkoverview' data-parent='parent_nav_top_gettingstarted'><div class='nav_reg' data-parent='parent_nav_top_gettingstarted'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/getting_started/sdk_overview/' class='nav_link' data-parent='parent_nav_top_gettingstarted' aria-label='SDK Overview'> <div class='nav_title'>SDK Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_gettingstarted_platformoverview' data-parent='parent_nav_top_gettingstarted'><div class='nav_reg' data-parent='parent_nav_top_gettingstarted'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/getting_started/platform_overview/' class='nav_link' data-parent='parent_nav_top_gettingstarted' aria-label='Platform Overview'> <div class='nav_title'>Platform Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_gettingstarted_integrationoverview' data-parent='parent_nav_top_gettingstarted'><div class='nav_reg' data-parent='parent_nav_top_gettingstarted'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/getting_started/integration_overview/' class='nav_link' data-parent='parent_nav_top_gettingstarted' aria-label='Integration Overview'> <div class='nav_title'>Integration Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_gettingstarted_architectureoverview' data-parent='parent_nav_top_gettingstarted'><div class='nav_reg' data-parent='parent_nav_top_gettingstarted'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/getting_started/architecture_overview/' class='nav_link' data-parent='parent_nav_top_gettingstarted' aria-label='Architectural Overview'> <div class='nav_title'>Architectural Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_gettingstarted_analyticsoverview' data-parent='parent_nav_top_gettingstarted'><div class='nav_reg' data-parent='parent_nav_top_gettingstarted'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/getting_started/analytics_overview/' class='nav_link' data-parent='parent_nav_top_gettingstarted' aria-label='Analytics Overview'> <div class='nav_title'>Analytics Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_gettingstarted_customizationoverview' data-parent='parent_nav_top_gettingstarted'><div class='nav_reg' data-parent='parent_nav_top_gettingstarted'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/getting_started/customization_overview/' class='nav_link' data-parent='parent_nav_top_gettingstarted' aria-label='Customization Overview'> <div class='nav_title'>Customization Overview</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_featureflags' data-parent='parent_nav_top'><div class='nav_url' data-parent='parent_nav_top'><a tabindex='-1' href='#nav_top_featureflags' aria-label='Feature Flags' data-toggle='collapse' data-target='#nav_top_featureflags' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/feature_flags/' class='nav_link' data-parent='parent_nav_top' aria-label='Feature Flags'> <div class='nav_title'>Feature Flags</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_featureflags' > <div class='nav-item ' id='parent_nav_top_featureflags_about' data-parent='parent_nav_top_featureflags'><div class='nav_reg' data-parent='parent_nav_top_featureflags'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/feature_flags/about/' class='nav_link' data-parent='parent_nav_top_featureflags' aria-label='About Feature Flags'> <div class='nav_title'>About Feature Flags</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_featureflags_create' data-parent='parent_nav_top_featureflags'><div class='nav_reg' data-parent='parent_nav_top_featureflags'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/feature_flags/create/' class='nav_link' data-parent='parent_nav_top_featureflags' aria-label='Creating Feature Flags'> <div class='nav_title'>Creating Feature Flags</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_featureflags_canvas' data-parent='parent_nav_top_featureflags'><div class='nav_reg' data-parent='parent_nav_top_featureflags'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/feature_flags/canvas/' class='nav_link' data-parent='parent_nav_top_featureflags' aria-label='Feature Flags in Canvas'> <div class='nav_title'>Feature Flags in Canvas</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_featureflags_experiments' data-parent='parent_nav_top_featureflags'><div class='nav_reg' data-parent='parent_nav_top_featureflags'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/feature_flags/experiments/' class='nav_link' data-parent='parent_nav_top_featureflags' aria-label='Feature Flag Experiments'> <div class='nav_title'>Feature Flag Experiments</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_featureflags_faq' data-parent='parent_nav_top_featureflags'><div class='nav_reg' data-parent='parent_nav_top_featureflags'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/feature_flags/faq/' class='nav_link' data-parent='parent_nav_top_featureflags' aria-label='FAQ'> <div class='nav_title'>FAQ</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_contentcards' data-parent='parent_nav_top'><div class='nav_url' data-parent='parent_nav_top'><a tabindex='-1' href='#nav_top_contentcards' aria-label='Content Cards' data-toggle='collapse' data-target='#nav_top_contentcards' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/content_cards/' class='nav_link' data-parent='parent_nav_top' aria-label='Content Cards'> <div class='nav_title'>Content Cards</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_contentcards' > <div class='nav-item ' id='parent_nav_top_contentcards_customizingstyles' data-parent='parent_nav_top_contentcards'><div class='nav_reg' data-parent='parent_nav_top_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/content_cards/customizing_styles/' class='nav_link' data-parent='parent_nav_top_contentcards' aria-label='Customizing Card Styles'> <div class='nav_title'>Customizing Card Styles</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_contentcards_customizingbehavior' data-parent='parent_nav_top_contentcards'><div class='nav_reg' data-parent='parent_nav_top_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/content_cards/customizing_behavior/' class='nav_link' data-parent='parent_nav_top_contentcards' aria-label='Customizing Card Behavior'> <div class='nav_title'>Customizing Card Behavior</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_contentcards_customizingfeed' data-parent='parent_nav_top_contentcards'><div class='nav_reg' data-parent='parent_nav_top_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/content_cards/customizing_feed/' class='nav_link' data-parent='parent_nav_top_contentcards' aria-label='Customizing Feed'> <div class='nav_title'>Customizing Feed</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_contentcards_logginganalytics' data-parent='parent_nav_top_contentcards'><div class='nav_reg' data-parent='parent_nav_top_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/content_cards/logging_analytics/' class='nav_link' data-parent='parent_nav_top_contentcards' aria-label='Logging Analytics'> <div class='nav_title'>Logging Analytics</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_contentcards_creatingcustomcontentcards' data-parent='parent_nav_top_contentcards'><div class='nav_reg' data-parent='parent_nav_top_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/content_cards/creating_custom_content_cards/' class='nav_link' data-parent='parent_nav_top_contentcards' aria-label='Creating Custom Content Cards'> <div class='nav_title'>Creating Custom Content Cards</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_sendingtestmessages' data-parent='parent_nav_top'><div class='nav_reg' data-parent='parent_nav_top'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/sending_test_messages/' class='nav_link' data-parent='parent_nav_top' aria-label='Sending Test Messages'> <div class='nav_title'>Sending Test Messages</div></a></div></div> </div> <div class='nav-item active_parent ' id='parent_nav_top_platformintegrationguides' data-parent='parent_nav_top'> <div class='nav_url' data-parent='parent_nav_top'><a tabindex='-1' href='#nav_top_platformintegrationguides' data-toggle='collapse' data-target='#nav_top_platformintegrationguides' class='nav_toggle ' aria-expanded='true' data-parent='parent_nav_top' aria-label='Platforms'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Platforms</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse show' id='nav_top_platformintegrationguides' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_android' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Android and FireOS'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Android and FireOS</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_initialsdksetup' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_initialsdksetup' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Initial SDK Setup'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Initial SDK Setup</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_initialsdksetup' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_initialsdksetup_androidsdkintegration' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/initial_sdk_setup/android_sdk_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup' aria-label='Android SDK Integration'> <div class='nav_title'>Android SDK Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_initialsdksetup_testyourbasicintegration' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/initial_sdk_setup/test_your_basic_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup' aria-label='Test Your Basic Integration'> <div class='nav_title'>Test Your Basic Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_initialsdksetup_additionalcustomizationandconfiguration' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/initial_sdk_setup/additional_customization_and_configuration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup' aria-label='Other SDK Customizations'> <div class='nav_title'>Other SDK Customizations</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_initialsdksetup_accessibility' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/initial_sdk_setup/accessibility/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup' aria-label='Accessibility'> <div class='nav_title'>Accessibility</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_initialsdksetup_optionalgaidcollection' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/initial_sdk_setup/optional_gaid_collection/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_initialsdksetup' aria-label='Google Advertising ID (Optional)'> <div class='nav_title'>Google Advertising ID (Optional)</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_pushnotifications' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_pushnotifications' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Push Notifications'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Push Notifications</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_pushnotifications' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_pushnotifications_android' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_pushnotifications_android' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications' aria-label='Android'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Android</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_pushnotifications_android' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_pushnotifications_android_integration' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_pushnotifications_android_integration' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Integration'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Integration</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_pushnotifications_android_integration' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration_standardintegration' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/integration/standard_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration' aria-label='Standard Integration'> <div class='nav_title'>Standard Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration_huaweiintegration' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/integration/huawei_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_integration' aria-label='Huawei Integration'> <div class='nav_title'>Huawei Integration</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_pushnotifications_android_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_pushnotifications_android_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_pushnotifications_android_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization_inlineimagepush' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/customization/inline_image_push/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization' aria-label='Inline Image Push'> <div class='nav_title'>Inline Image Push</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization_htmlrenderedpush' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/customization/html_rendered_push/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization' aria-label='HTML Push Notifications'> <div class='nav_title'>HTML Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization_advancedsettings' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/customization/advanced_settings/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization' aria-label='Advanced Settings'> <div class='nav_title'>Advanced Settings</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization_customeventcallback' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/customization/custom_event_callback/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android_customization' aria-label='Push Event Callback'> <div class='nav_title'>Push Event Callback</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_silentpushnotifications' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/silent_push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Silent Push Notifications'> <div class='nav_title'>Silent Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_pushstory' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/push_story/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Push Stories'> <div class='nav_title'>Push Stories</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_conversationpush' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/conversation_push/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Conversation Push'> <div class='nav_title'>Conversation Push</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_androidtvpush' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/android_tv_push/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Android TV Push'> <div class='nav_title'>Android TV Push</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_implementationguide' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/implementation_guide/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Advanced Implementation Guide (Optional)'> <div class='nav_title'>Advanced Implementation Guide (Optional)</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_migratingtofirebasecloudmessaging' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/migrating_to_firebase_cloud_messaging/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Migrating to Firebase Cloud Messaging'> <div class='nav_title'>Migrating to Firebase Cloud Messaging</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_android_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/android/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_android' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_pushnotifications_fireos' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_pushnotifications_fireos' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications' aria-label='FireOS'><i class='fas'></i><div class='nav_block'><div class='nav_title'>FireOS</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_pushnotifications_fireos' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_integration' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/fireos/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_customization' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_pushnotifications_fireos_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_pushnotifications_fireos_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/fireos/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_pushnotifications_fireos_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_customization_advancedsettings' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/fireos/customization/advanced_settings/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_customization' aria-label='Advanced Settings'> <div class='nav_title'>Advanced Settings</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_silentpushnotifications' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/fireos/silent_push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos' aria-label='Silent Push Notifications'> <div class='nav_title'>Silent Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_pushstory' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/fireos/push_story/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos' aria-label='Push Stories'> <div class='nav_title'>Push Stories</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_testing' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/fireos/testing/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos' aria-label='Testing'> <div class='nav_title'>Testing</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/push_notifications/fireos/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_pushnotifications_fireos' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div></div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging' data-parent='parent_nav_top_platformintegrationguides_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_inappmessaging' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_inappmessaging' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='In-App Messaging'><i class='fas'></i><div class='nav_block'><div class='nav_title'>In-App Messaging</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_inappmessaging' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_integration' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_inappmessaging_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_inappmessaging_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization_customstyling' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/custom_styling/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='Custom Styling'> <div class='nav_title'>Custom Styling</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization_customlisteners' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/custom_listeners/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='Custom Listeners'> <div class='nav_title'>Custom Listeners</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization_messagedismissal' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/message_dismissal/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='Message Dismissal'> <div class='nav_title'>Message Dismissal</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization_keyvaluepairs' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/key_value_pairs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='Key-Value Pairs'> <div class='nav_title'>Key-Value Pairs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization_gifs' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/gifs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='GIFs'> <div class='nav_title'>GIFs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization_youtubeinhtml' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/youtube_in_html/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='YouTube in HTML'> <div class='nav_title'>YouTube in HTML</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_customization_googlereviewprompt' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/customization/google_review_prompt/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging_customization' aria-label='Google Play Review Prompt'> <div class='nav_title'>Google Play Review Prompt</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_inappmessagedelivery' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/in-app_message_delivery/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging' aria-label='In-App Message Delivery'> <div class='nav_title'>In-App Message Delivery</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_ottdevices' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/ott_devices/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging' aria-label='OTT and TV Display'> <div class='nav_title'>OTT and TV Display</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_implementationguide' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/implementation_guide/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging' aria-label='Advanced Implementation Guide (Optional)'> <div class='nav_title'>Advanced Implementation Guide (Optional)</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_inappmessaging_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/in-app_messaging/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_inappmessaging' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_contentcards' data-parent='parent_nav_top_platformintegrationguides_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_contentcards' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_contentcards' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Content Cards'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Content Cards</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_contentcards' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_contentcards_integration' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/content_cards/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_contentcards' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_contentcards_jetpackcompose' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/content_cards/jetpackcompose/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_contentcards' aria-label='Jetpack Compose'> <div class='nav_title'>Jetpack Compose</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_contentcards_gifs' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/content_cards/GIFs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_contentcards' aria-label='GIFs'> <div class='nav_title'>GIFs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_contentcards_implementationguide' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/content_cards/implementation_guide/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_contentcards' aria-label='Advanced Implementation Guide (Optional)'> <div class='nav_title'>Advanced Implementation Guide (Optional)</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed' data-parent='parent_nav_top_platformintegrationguides_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_newsfeed' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_newsfeed' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='News Feed'><i class='fas'></i><div class='nav_block'><div class='nav_title'>News Feed</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_newsfeed' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_integration' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_customization' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_newsfeed_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_newsfeed_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_newsfeed_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_customization_customstyling' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/customization/custom_styling/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization' aria-label='Custom Styling'> <div class='nav_title'>Custom Styling</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_customization_clicklistener' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/customization/click_listener/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization' aria-label='Handling Clicks Manually'> <div class='nav_title'>Handling Clicks Manually</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_customization_keyvaluepairs' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/customization/key_value_pairs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization' aria-label='Key-Value Pairs'> <div class='nav_title'>Key-Value Pairs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_customization_readandunread' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/customization/read_and_unread/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization' aria-label='Read & Unread Indicators'> <div class='nav_title'>Read & Unread Indicators</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_customization_badges' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/customization/badges/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization' aria-label='Badges'> <div class='nav_title'>Badges</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_customization_gifs' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/customization/gifs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed_customization' aria-label='GIFs'> <div class='nav_title'>GIFs</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_categories' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/categories/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed' aria-label='Defining a News Feed Category'> <div class='nav_title'>Defining a News Feed Category</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_newsfeed_refreshingthefeed' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/news_feed/refreshing_the_feed/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_newsfeed' aria-label='Refreshing the Feed'> <div class='nav_title'>Refreshing the Feed</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics' data-parent='parent_nav_top_platformintegrationguides_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_analytics' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_analytics' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Analytics'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Analytics</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_analytics' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_trackingsessions' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/tracking_sessions/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Tracking Sessions'> <div class='nav_title'>Tracking Sessions</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_settinguserids' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/setting_user_ids/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Setting User IDs'> <div class='nav_title'>Setting User IDs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_trackingcustomevents' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/tracking_custom_events/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Tracking Custom Events'> <div class='nav_title'>Tracking Custom Events</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_settingcustomattributes' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/setting_custom_attributes/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Setting Custom Attributes'> <div class='nav_title'>Setting Custom Attributes</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_loggingpurchases' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/logging_purchases/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Logging Purchases'> <div class='nav_title'>Logging Purchases</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_locationtracking' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/location_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Location Tracking'> <div class='nav_title'>Location Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_uninstalltracking' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/uninstall_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Uninstall Tracking'> <div class='nav_title'>Uninstall Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_analytics_disablingtracking' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/analytics/disabling_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_analytics' aria-label='Disabling SDK Tracking'> <div class='nav_title'>Disabling SDK Tracking</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases' data-parent='parent_nav_top_platformintegrationguides_android'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_android'><a tabindex='-1' href='#nav_top_platformintegrationguides_android_advancedusecases' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_android_advancedusecases' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Advanced Use Cases'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Advanced Use Cases</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_android_advancedusecases' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_deeplinking' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/deep_linking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Deep Linking'> <div class='nav_title'>Deep Linking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_localization' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/localization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Localization'> <div class='nav_title'>Localization</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_beaconintegration' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/beacon_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Beacon Integration'> <div class='nav_title'>Beacon Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_networkofflinemodeintegration' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/network_offline_mode_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Network Offline Mode'> <div class='nav_title'>Network Offline Mode</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_runtimeconfiguration' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/runtime_configuration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Runtime Configuration'> <div class='nav_title'>Runtime Configuration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_locationsandgeofences' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/locations_and_geofences/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Location & Geofences'> <div class='nav_title'>Location & Geofences</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_fontcustomization' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/font_customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Font Customization'> <div class='nav_title'>Font Customization</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_androidgoogletagmanager' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/android_google_tag_manager/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Google Tag Manager for Android'> <div class='nav_title'>Google Tag Manager for Android</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_advancedusecases_addingbrazejsinterface' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/advanced_use_cases/adding_braze_js_interface/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android_advancedusecases' aria-label='Braze JavaScript Interface'> <div class='nav_title'>Braze JavaScript Interface</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_android13' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/android_13/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Android 13 Upgrade Guide'> <div class='nav_title'>Android 13 Upgrade Guide</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_googleplayprivacy' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/google_play_privacy/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Google Play Privacy Questionnaire'> <div class='nav_title'>Google Play Privacy Questionnaire</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_storage' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/storage/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Storage'> <div class='nav_title'>Storage</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_sampleapps' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/sample_apps/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Sample Apps'> <div class='nav_title'>Sample Apps</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_android_changelog' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_android'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/android/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_android' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item active_parent ' id='parent_nav_top_platformintegrationguides_swift' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift' class='nav_toggle ' aria-expanded='true' data-parent='parent_nav_top_platformintegrationguides' aria-label='Swift'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Swift</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse show' id='nav_top_platformintegrationguides_swift' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_swift'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_initialsdksetup' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_initialsdksetup' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Initial SDK Setup'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Initial SDK Setup</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_initialsdksetup' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup_overview' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/initial_sdk_setup/overview/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup' aria-label='Integration Overview'> <div class='nav_title'>Integration Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup' aria-label='Installation Methods'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Installation Methods</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods_swiftpackagemanager' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/initial_sdk_setup/installation_methods/swift_package_manager/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods' aria-label='Swift Package Manager'> <div class='nav_title'>Swift Package Manager</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods_cocoapods' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/initial_sdk_setup/installation_methods/cocoapods/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods' aria-label='CocoaPods'> <div class='nav_title'>CocoaPods</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods_manualintegration' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/initial_sdk_setup/installation_methods/manual_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup_installationmethods' aria-label='Manual Integration'> <div class='nav_title'>Manual Integration</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup_completingintegration' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/initial_sdk_setup/completing_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup' aria-label='Completing the Integration'> <div class='nav_title'>Completing the Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_initialsdksetup_othersdkcustomizations' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/initial_sdk_setup/other_sdk_customizations/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_initialsdksetup' aria-label='Other SDK Customizations'> <div class='nav_title'>Other SDK Customizations</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_swift'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_pushnotifications' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_pushnotifications' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Push Notifications'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Push Notifications</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_pushnotifications' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_integration' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_pushnotifications_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_pushnotifications_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_pushnotifications_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization_actionbuttons' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/customization/action_buttons/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization' aria-label='Action Buttons'> <div class='nav_title'>Action Buttons</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization_badges' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/customization/badges/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization' aria-label='Badges'> <div class='nav_title'>Badges</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization_customsounds' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/customization/custom_sounds/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization' aria-label='Custom Sounds'> <div class='nav_title'>Custom Sounds</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization_richnotifications' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/customization/rich_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization' aria-label='Rich Notifications'> <div class='nav_title'>Rich Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization_ignoringinternalpush' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/customization/ignoring_internal_push/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization' aria-label='Ignoring Internal Push'> <div class='nav_title'>Ignoring Internal Push</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization_advancedsettings' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/customization/advanced_settings/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications_customization' aria-label='Push Settings'> <div class='nav_title'>Push Settings</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_silentpushnotifications' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/silent_push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications' aria-label='Silent Push Notifications'> <div class='nav_title'>Silent Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_pushstory' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/push_story/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications' aria-label='Push Stories'> <div class='nav_title'>Push Stories</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_pushnotifications_implementationguide' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/push_notifications/implementation_guide/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_pushnotifications' aria-label='Advanced Implementation (Optional)'> <div class='nav_title'>Advanced Implementation (Optional)</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging' data-parent='parent_nav_top_platformintegrationguides_swift'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_inappmessaging' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_inappmessaging' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='In-App Messaging'><i class='fas'></i><div class='nav_block'><div class='nav_title'>In-App Messaging</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_inappmessaging' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_overview' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/overview/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_inappmessagedelivery' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/in-app_message_delivery/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging' aria-label='In-App Message Delivery'> <div class='nav_title'>In-App Message Delivery</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_inappmessaging_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_inappmessaging_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_inappmessaging_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization_tvos' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/customization/tvos/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization' aria-label='tvOS'> <div class='nav_title'>tvOS</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization_settingdelegates' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/customization/setting_delegates/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization' aria-label='In-App Message UI Delegate'> <div class='nav_title'>In-App Message UI Delegate</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization_behavioronclick' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/customization/behavior_on_click/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization' aria-label='Custom On-Click Behavior'> <div class='nav_title'>Custom On-Click Behavior</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization_customtriggering' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/customization/custom_triggering/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization' aria-label='Custom Triggering'> <div class='nav_title'>Custom Triggering</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization_modaldismissal' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/customization/modal_dismissal/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization' aria-label='Modal Dismissal'> <div class='nav_title'>Modal Dismissal</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization_customappstorereviewprompt' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/customization/custom_app_store_review_prompt/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging_customization' aria-label='Example - App Store Review Prompt'> <div class='nav_title'>Example - App Store Review Prompt</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_inappmessaging_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/in-app_messaging/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_inappmessaging' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_contentcards' data-parent='parent_nav_top_platformintegrationguides_swift'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_contentcards' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_contentcards' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Content Cards'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Content Cards</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_contentcards' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_contentcards_integration' data-parent='parent_nav_top_platformintegrationguides_swift_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/content_cards/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_contentcards' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_contentcards_tvos' data-parent='parent_nav_top_platformintegrationguides_swift_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/content_cards/tvos/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_contentcards' aria-label='tvOS'> <div class='nav_title'>tvOS</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_liveactivities' data-parent='parent_nav_top_platformintegrationguides_swift'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_liveactivities' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_liveactivities' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Live Activities'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Live Activities</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_liveactivities' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_liveactivities_liveactivities' data-parent='parent_nav_top_platformintegrationguides_swift_liveactivities'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_liveactivities'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/live_activities/live_activities/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_liveactivities' aria-label='Live Activities'> <div class='nav_title'>Live Activities</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_liveactivities_faq' data-parent='parent_nav_top_platformintegrationguides_swift_liveactivities'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_liveactivities'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/live_activities/faq/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_liveactivities' aria-label='FAQ'> <div class='nav_title'>FAQ</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics' data-parent='parent_nav_top_platformintegrationguides_swift'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_analytics' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_analytics' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Analytics'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Analytics</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_swift_analytics' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_trackingsessions' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/tracking_sessions/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Session Tracking'> <div class='nav_title'>Session Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_settinguserids' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/setting_user_ids/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Setting User IDs'> <div class='nav_title'>Setting User IDs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_trackingcustomevents' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/tracking_custom_events/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Tracking Custom Events'> <div class='nav_title'>Tracking Custom Events</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_settingcustomattributes' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/setting_custom_attributes/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Setting Custom Attributes'> <div class='nav_title'>Setting Custom Attributes</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_loggingpurchases' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/logging_purchases/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Logging Purchases'> <div class='nav_title'>Logging Purchases</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_swiftidfv' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/swift_idfv/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Collecting IDFV'> <div class='nav_title'>Collecting IDFV</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_locationtracking' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/location_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Location Tracking'> <div class='nav_title'>Location Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_uninstalltracking' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/uninstall_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Uninstall Tracking'> <div class='nav_title'>Uninstall Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_analytics_disablingtracking' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/analytics/disabling_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_analytics' aria-label='Disabling iOS SDK Tracking'> <div class='nav_title'>Disabling iOS SDK Tracking</div></a></div></div> </div> </div><div class='nav-item active_parent ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases' data-parent='parent_nav_top_platformintegrationguides_swift'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_swift'><a tabindex='-1' href='#nav_top_platformintegrationguides_swift_advancedusecases' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_swift_advancedusecases' class='nav_toggle ' aria-expanded='true' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Advanced Use Cases'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Advanced Use Cases</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse show' id='nav_top_platformintegrationguides_swift_advancedusecases' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases_linking' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/linking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases' aria-label='Deep Linking'> <div class='nav_title'>Deep Linking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases_finenetworktrafficcontrol' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/fine_network_traffic_control/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases' aria-label='Fine Network Traffic Control'> <div class='nav_title'>Fine Network Traffic Control</div></a></div></div> </div> <div class='nav-item active_parent active ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases_googletagmanager' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_block'> <div class='nav_title' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'>Google Tag Manager </div></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases_locationsandgeofences' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/locations_and_geofences/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases' aria-label='Locations and Geofences'> <div class='nav_title'>Locations and Geofences</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases_addingbrazejsinterface' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/adding_braze_js_interface/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases' aria-label='Adding the JavaScript Interface'> <div class='nav_title'>Adding the JavaScript Interface</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases_localization' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/localization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases' aria-label='Localization'> <div class='nav_title'>Localization</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_advancedusecases_delayedinitialization' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/delayed_initialization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift_advancedusecases' aria-label='Delayed Initialization'> <div class='nav_title'>Delayed Initialization</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_ios18' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/ios_18/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='iOS 18 Upgrade Guide'> <div class='nav_title'>iOS 18 Upgrade Guide</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_privacymanifest' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/privacy_manifest/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Privacy manifest'> <div class='nav_title'>Privacy manifest</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_visionos' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/visionos/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='visionOS support'> <div class='nav_title'>visionOS support</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_storage' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/storage/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Storage'> <div class='nav_title'>Storage</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_sampleapps' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/sample_apps/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Sample Apps'> <div class='nav_title'>Sample Apps</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_swift_changelog' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_swift'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/swift/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_swift' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_web' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Web'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Web</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_web'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_web'><a tabindex='-1' href='#nav_top_platformintegrationguides_web_pushnotifications' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web_pushnotifications' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Push Notifications'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Push Notifications</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web_pushnotifications' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_pushnotifications_integration' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/push_notifications/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_pushnotifications_safarimobilepush' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/push_notifications/safari_mobile_push/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications' aria-label='Safari Mobile Web Push'> <div class='nav_title'>Safari Mobile Web Push</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_pushnotifications_softpushprompt' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications' aria-label='Soft Push Prompt'> <div class='nav_title'>Soft Push Prompt</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_pushnotifications_alternatepushdomain' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/push_notifications/alternate_push_domain/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_pushnotifications' aria-label='Alternate Web Push Domain'> <div class='nav_title'>Alternate Web Push Domain</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging' data-parent='parent_nav_top_platformintegrationguides_web'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_web'><a tabindex='-1' href='#nav_top_platformintegrationguides_web_inappmessaging' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web_inappmessaging' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='In-App Messages'><i class='fas'></i><div class='nav_block'><div class='nav_title'>In-App Messages</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web_inappmessaging' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_integration' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_customization' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><a tabindex='-1' href='#nav_top_platformintegrationguides_web_inappmessaging_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web_inappmessaging_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web_inappmessaging_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_customization_customstyling' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/customization/custom_styling/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization' aria-label='Custom Styling'> <div class='nav_title'>Custom Styling</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_customization_messagedismissal' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/customization/message_dismissal/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization' aria-label='Message Dismissal'> <div class='nav_title'>Message Dismissal</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_customization_loggingimpressionsandclicks' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/customization/logging_impressions_and_clicks/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization' aria-label='Logging Impressions and Clicks'> <div class='nav_title'>Logging Impressions and Clicks</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_customization_openlinkinnewtab' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/customization/open_link_in_new_tab/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization' aria-label='Open Link in New Tab'> <div class='nav_title'>Open Link in New Tab</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_customization_keyvaluepairs' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/customization/key_value_pairs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging_customization' aria-label='Key-Value Pairs'> <div class='nav_title'>Key-Value Pairs</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_inappmessagedelivery' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/in-app_message_delivery/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging' aria-label='In-App Message Delivery'> <div class='nav_title'>In-App Message Delivery</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_inappmessaging_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/in-app_messaging/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_inappmessaging' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_contentcards' data-parent='parent_nav_top_platformintegrationguides_web'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_web'><a tabindex='-1' href='#nav_top_platformintegrationguides_web_contentcards' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web_contentcards' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Content Cards'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Content Cards</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web_contentcards' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_contentcards_integration' data-parent='parent_nav_top_platformintegrationguides_web_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/content_cards/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_contentcards' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed' data-parent='parent_nav_top_platformintegrationguides_web'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_web'><a tabindex='-1' href='#nav_top_platformintegrationguides_web_newsfeed' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web_newsfeed' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='News Feed'><i class='fas'></i><div class='nav_block'><div class='nav_title'>News Feed</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web_newsfeed' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed_integration' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/news_feed/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed_customization' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed'><a tabindex='-1' href='#nav_top_platformintegrationguides_web_newsfeed_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web_newsfeed_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/news_feed/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web_newsfeed_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed_customization_customstyling' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/news_feed/customization/custom_styling/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization' aria-label='Custom Styling'> <div class='nav_title'>Custom Styling</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed_customization_keyvaluepairs' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/news_feed/customization/key_value_pairs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization' aria-label='Key-Value Pairs'> <div class='nav_title'>Key-Value Pairs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed_customization_readandunread' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/news_feed/customization/read_and_unread/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization' aria-label='Read and Unread Indicators'> <div class='nav_title'>Read and Unread Indicators</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed_customization_badges' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/news_feed/customization/badges/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed_customization' aria-label='Badges'> <div class='nav_title'>Badges</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_newsfeed_defininganewsfeedcategory' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/news_feed/defining_a_news_feed_category/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_newsfeed' aria-label='Defining a News Feed Category'> <div class='nav_title'>Defining a News Feed Category</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics' data-parent='parent_nav_top_platformintegrationguides_web'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_web'><a tabindex='-1' href='#nav_top_platformintegrationguides_web_analytics' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_web_analytics' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Analytics'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Analytics</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_web_analytics' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics_trackingsessions' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/analytics/tracking_sessions/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_analytics' aria-label='Tracking Sessions'> <div class='nav_title'>Tracking Sessions</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics_settinguserids' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/analytics/setting_user_ids/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_analytics' aria-label='Setting User IDs'> <div class='nav_title'>Setting User IDs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics_trackingcustomevents' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/analytics/tracking_custom_events/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_analytics' aria-label='Tracking Custom Events'> <div class='nav_title'>Tracking Custom Events</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics_settingcustomattributes' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/analytics/setting_custom_attributes/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_analytics' aria-label='Setting Custom Attributes'> <div class='nav_title'>Setting Custom Attributes</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics_loggingpurchases' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/analytics/logging_purchases/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_analytics' aria-label='Logging Purchases'> <div class='nav_title'>Logging Purchases</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics_locationtracking' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/analytics/location_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_analytics' aria-label='Location Tracking'> <div class='nav_title'>Location Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_analytics_disablingtracking' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/analytics/disabling_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web_analytics' aria-label='Disabling Web SDK Tracking'> <div class='nav_title'>Disabling Web SDK Tracking</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_ampsupport' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/amp_support/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='AMP Support'> <div class='nav_title'>AMP Support</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_cookiesandstorage' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/cookies_and_storage/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Cookies and Storage'> <div class='nav_title'>Cookies and Storage</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_browserextensions' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/browser_extensions/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Browser Extensions'> <div class='nav_title'>Browser Extensions</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_googletagmanager' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/google_tag_manager/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Google Tag Manager'> <div class='nav_title'>Google Tag Manager</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_smarttvs' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/smart_tvs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Smart TV Integrations'> <div class='nav_title'>Smart TV Integrations</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_contentsecuritypolicy' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/content_security_policy/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Content Security Policy Headers'> <div class='nav_title'>Content Security Policy Headers</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_web_changelog' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_web'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/web/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_web' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_cordova' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_cordova' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Cordova'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Cordova</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_cordova' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_initialsetup' data-parent='parent_nav_top_platformintegrationguides_cordova'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_cordova'><a tabindex='-1' href='#nav_top_platformintegrationguides_cordova_initialsetup' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_cordova_initialsetup' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_cordova' aria-label='Initial Setup'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Initial Setup</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_cordova_initialsetup' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_initialsetup_integration' data-parent='parent_nav_top_platformintegrationguides_cordova_initialsetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_cordova_initialsetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/cordova/initial_setup/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_cordova_initialsetup' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_initialsetup_customizations' data-parent='parent_nav_top_platformintegrationguides_cordova_initialsetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_cordova_initialsetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/cordova/initial_setup/customizations/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_cordova_initialsetup' aria-label='Customizations'> <div class='nav_title'>Customizations</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/cordova/push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_cordova' aria-label='Push Notifications'> <div class='nav_title'>Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_contentcards' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/cordova/content_cards/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_cordova' aria-label='Content Cards'> <div class='nav_title'>Content Cards</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_analytics' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/cordova/analytics/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_cordova' aria-label='Analytics'> <div class='nav_title'>Analytics</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_otherintegrations' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/cordova/other_integrations/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_cordova' aria-label='Other Integrations'> <div class='nav_title'>Other Integrations</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_cordova_changelog' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_cordova'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/cordova/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_cordova' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_flutter' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_flutter' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Flutter'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Flutter</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_flutter' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter_fluttersdkintegration' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/flutter/flutter_sdk_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_flutter' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/flutter/push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_flutter' aria-label='Push Notifications'> <div class='nav_title'>Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter_contentcards' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/flutter/content_cards/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_flutter' aria-label='Content Cards'> <div class='nav_title'>Content Cards</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter_inappmessages' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/flutter/inapp_messages/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_flutter' aria-label='In-App Messages'> <div class='nav_title'>In-App Messages</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter_analytics' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/flutter/analytics/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_flutter' aria-label='Analytics'> <div class='nav_title'>Analytics</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter_deeplinking' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/flutter/deep_linking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_flutter' aria-label='Deep Linking'> <div class='nav_title'>Deep Linking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_flutter_changelog' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_flutter'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/flutter/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_flutter' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_reactnative' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_reactnative' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='React Native'><i class='fas'></i><div class='nav_block'><div class='nav_title'>React Native</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_reactnative' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative_reactsdksetup' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/react_native/react_sdk_setup/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_reactnative' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/react_native/push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_reactnative' aria-label='Push Notifications'> <div class='nav_title'>Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative_contentcards' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/react_native/content_cards/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_reactnative' aria-label='Content Cards'> <div class='nav_title'>Content Cards</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative_inappmessages' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/react_native/inapp_messages/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_reactnative' aria-label='In-App Messages'> <div class='nav_title'>In-App Messages</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative_analytics' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/react_native/analytics/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_reactnative' aria-label='Analytics'> <div class='nav_title'>Analytics</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative_sampleapp' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/react_native/sample_app/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_reactnative' aria-label='Sample App'> <div class='nav_title'>Sample App</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_reactnative_changelog' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_reactnative'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/react_native/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_reactnative' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_unity' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_unity' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Unity'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Unity</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_unity' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_sdkintegration' data-parent='parent_nav_top_platformintegrationguides_unity'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_unity'><a tabindex='-1' href='#nav_top_platformintegrationguides_unity_sdkintegration' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_unity_sdkintegration' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_unity' aria-label='SDK Integration'><i class='fas'></i><div class='nav_block'><div class='nav_title'>SDK Integration</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_unity_sdkintegration' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_sdkintegration_android' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/sdk_integration/android/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration' aria-label='Android'> <div class='nav_title'>Android</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_sdkintegration_ios' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/sdk_integration/ios/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration' aria-label='iOS'> <div class='nav_title'>iOS</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_sdkintegration_advancedusecases' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/sdk_integration/advanced_use_cases/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration' aria-label='Advanced Implementation'> <div class='nav_title'>Advanced Implementation</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_sdkintegration_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/sdk_integration/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_sdkintegration' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_unity'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_unity'><a tabindex='-1' href='#nav_top_platformintegrationguides_unity_pushnotifications' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_unity_pushnotifications' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_unity' aria-label='Push Notifications'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Push Notifications</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_unity_pushnotifications' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_pushnotifications_android' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/push_notifications/android/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications' aria-label='Android'> <div class='nav_title'>Android</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_pushnotifications_ios' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/push_notifications/ios/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications' aria-label='iOS'> <div class='nav_title'>iOS</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_pushnotifications_admpushnotifications' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/push_notifications/adm_push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_pushnotifications' aria-label='Amazon Device Messaging'> <div class='nav_title'>Amazon Device Messaging</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_inappmessaging' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/in-app_messaging/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity' aria-label='In-App Messaging'> <div class='nav_title'>In-App Messaging</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_contentcards' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/content_cards/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity' aria-label='Content Cards'> <div class='nav_title'>Content Cards</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_newsfeed' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/news_feed/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity' aria-label='News Feed'> <div class='nav_title'>News Feed</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_analytics' data-parent='parent_nav_top_platformintegrationguides_unity'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_unity'><a tabindex='-1' href='#nav_top_platformintegrationguides_unity_analytics' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_unity_analytics' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_unity' aria-label='Analytics'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Analytics</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_unity_analytics' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_analytics_settinguserids' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/analytics/setting_user_ids/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_analytics' aria-label='Setting User IDs'> <div class='nav_title'>Setting User IDs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_analytics_loggingcustomevents' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/analytics/logging_custom_events/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_analytics' aria-label='Tracking Custom Events'> <div class='nav_title'>Tracking Custom Events</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_analytics_settingcustomattributes' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/analytics/setting_custom_attributes/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_analytics' aria-label='Setting Custom Attributes'> <div class='nav_title'>Setting Custom Attributes</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_analytics_loggingpurchases' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/analytics/logging_purchases/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity_analytics' aria-label='Logging Purchases'> <div class='nav_title'>Logging Purchases</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_unity_changelog' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unity'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unity/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unity' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_xamarin' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_xamarin' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Xamarin'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Xamarin</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_xamarin' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/initial_sdk_setup/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='Push Notifications'> <div class='nav_title'>Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_inappmessages' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/inapp_messages/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='In-App Messaging'> <div class='nav_title'>In-App Messaging</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_contentcards' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/content_cards/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='Content Cards'> <div class='nav_title'>Content Cards</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_analytics' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/analytics/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='Analytics'> <div class='nav_title'>Analytics</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_newsfeed' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/news_feed/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='News Feed'> <div class='nav_title'>News Feed</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_xamarin_changelog' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_xamarin'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/xamarin/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_xamarin' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_roku' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_roku' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Roku'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Roku</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_roku' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_roku'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/initial_sdk_setup/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_analytics' data-parent='parent_nav_top_platformintegrationguides_roku'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_roku'><a tabindex='-1' href='#nav_top_platformintegrationguides_roku_analytics' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_roku_analytics' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_roku' aria-label='Analytics'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Analytics</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_roku_analytics' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_analytics_settinguserids' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/analytics/setting_user_ids/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku_analytics' aria-label='Setting User IDs'> <div class='nav_title'>Setting User IDs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_analytics_loggingcustomevents' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/analytics/logging_custom_events/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku_analytics' aria-label='Tracking Custom Events'> <div class='nav_title'>Tracking Custom Events</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_analytics_loggingpurchases' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/analytics/logging_purchases/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku_analytics' aria-label='Logging Purchases'> <div class='nav_title'>Logging Purchases</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_analytics_settingcustomattributes' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/analytics/setting_custom_attributes/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku_analytics' aria-label='Setting Custom Attributes'> <div class='nav_title'>Setting Custom Attributes</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_inappmessaging' data-parent='parent_nav_top_platformintegrationguides_roku'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_roku'><a tabindex='-1' href='#nav_top_platformintegrationguides_roku_inappmessaging' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_roku_inappmessaging' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_roku' aria-label='In-App Messages'><i class='fas'></i><div class='nav_block'><div class='nav_title'>In-App Messages</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_roku_inappmessaging' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_inappmessaging_overview' data-parent='parent_nav_top_platformintegrationguides_roku_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/in-app_messaging/overview/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku_inappmessaging' aria-label='Overview'> <div class='nav_title'>Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_inappmessaging_integration' data-parent='parent_nav_top_platformintegrationguides_roku_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/in-app_messaging/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku_inappmessaging' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_roku_changelog' data-parent='parent_nav_top_platformintegrationguides_roku'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_roku'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/roku/changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_roku' aria-label='Changelog'> <div class='nav_title'>Changelog</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_unrealengine' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_unrealengine' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_unrealengine' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Unreal Engine'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Unreal Engine</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_unrealengine' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_unrealengine_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_unrealengine'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_unrealengine'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/unreal_engine/initial_sdk_setup/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_unrealengine' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_tvandott' data-parent='parent_nav_top_platformintegrationguides'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/tv_and_ott/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides' aria-label='TV and OTT Integrations'> <div class='nav_title'>TV and OTT Integrations</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks' data-parent='parent_nav_top_platformintegrationguides'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides' aria-label='Legacy SDKs'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Legacy SDKs</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios' data-parent='parent_nav_top_platformintegrationguides_legacysdks'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks' aria-label='iOS (legacy)'><i class='fas'></i><div class='nav_block'><div class='nav_title'>iOS (legacy)</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Initial SDK Setup'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Initial SDK Setup</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_overview' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/overview/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' aria-label='Overview'> <div class='nav_title'>Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' aria-label='Installation Methods'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Installation Methods</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods_carthageintegration' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/installation_methods/carthage_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' aria-label='Carthage'> <div class='nav_title'>Carthage</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods_cocoapods' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/installation_methods/cocoapods/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' aria-label='CocoaPods'> <div class='nav_title'>CocoaPods</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods_swiftpackagemanager' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/installation_methods/swift_package_manager/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' aria-label='Swift Package Manager'> <div class='nav_title'>Swift Package Manager</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods_manualintegrationoptions' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/installation_methods/manual_integration_options/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_installationmethods' aria-label='Manual'> <div class='nav_title'>Manual</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_completingintegration' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/completing_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' aria-label='Completing the Integration'> <div class='nav_title'>Completing the Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_othersdkcustomizations' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/other_sdk_customizations/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' aria-label='Other SDK Customizations'> <div class='nav_title'>Other SDK Customizations</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup_iossdkintegration' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/initial_sdk_setup/ios_sdk_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_initialsdksetup' aria-label='SDK Integration Guide (Optional)'> <div class='nav_title'>SDK Integration Guide (Optional)</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Push Notifications'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Push Notifications</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_integration' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization_actionbuttons' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/customization/action_buttons/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' aria-label='Action Buttons'> <div class='nav_title'>Action Buttons</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization_customsounds' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/customization/custom_sounds/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' aria-label='Custom Sounds'> <div class='nav_title'>Custom Sounds</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization_richnotifications' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/customization/rich_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' aria-label='Rich Notifications'> <div class='nav_title'>Rich Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization_badges' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/customization/badges/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' aria-label='Badges'> <div class='nav_title'>Badges</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization_ignoringinternalpush' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/customization/ignoring_internal_push/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' aria-label='Ignoring Internal Push'> <div class='nav_title'>Ignoring Internal Push</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization_advancedsettings' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/customization/advanced_settings/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_customization' aria-label='Advanced Settings'> <div class='nav_title'>Advanced Settings</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_silentpushnotifications' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/silent_push_notifications/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Silent Push Notifications'> <div class='nav_title'>Silent Push Notifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_pushprimer' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/push_primer/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Push Primer'> <div class='nav_title'>Push Primer</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_pushstory' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/push_story/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Push Stories'> <div class='nav_title'>Push Stories</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_implementationguide' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/implementation_guide/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Advanced Implementation (Optional)'> <div class='nav_title'>Advanced Implementation (Optional)</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_testing' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/testing/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Testing'> <div class='nav_title'>Testing</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_unittests' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/unit_tests/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Unit Tests (Optional)'> <div class='nav_title'>Unit Tests (Optional)</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/push_notifications/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_pushnotifications' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='In-App Messaging'><i class='fas'></i><div class='nav_block'><div class='nav_title'>In-App Messaging</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_overview' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/overview/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' aria-label='Overview'> <div class='nav_title'>Overview</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_settingdelegates' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/setting_delegates/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Setting Delegates'> <div class='nav_title'>Setting Delegates</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_customizingorientation' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/customizing_orientation/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Customizing Orientation'> <div class='nav_title'>Customizing Orientation</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_handlinginappdisplay' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/handling_in_app_display/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Custom Display Handling'> <div class='nav_title'>Custom Display Handling</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_behavioronclick' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/behavior_on_click/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Custom On-Click Behavior'> <div class='nav_title'>Custom On-Click Behavior</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_customtriggering' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/custom_triggering/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Custom Triggering'> <div class='nav_title'>Custom Triggering</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_customviewcontroller' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/custom_view_controller/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Custom View Controller'> <div class='nav_title'>Custom View Controller</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_modaldismissal' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/modal_dismissal/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Modal Dismissal'> <div class='nav_title'>Modal Dismissal</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization_keyvaluepairs' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/customization/key_value_pairs/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customization' aria-label='Key-Value Pairs'> <div class='nav_title'>Key-Value Pairs</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_inappmessagedelivery' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/in-app_message_delivery/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' aria-label='In-App Message Delivery'> <div class='nav_title'>In-App Message Delivery</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_customappstorereviewprompt' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/custom_app_store_review_prompt/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' aria-label='Custom App Store review prompt'> <div class='nav_title'>Custom App Store review prompt</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide' aria-label='Advanced Implementation (Optional)' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/implementation_guide/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' aria-label='Advanced Implementation (Optional)'> <div class='nav_title'>Advanced Implementation (Optional)</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide_shareplay' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/implementation_guide/shareplay/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_implementationguide' aria-label='SharePlay'> <div class='nav_title'>SharePlay</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging_troubleshooting' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/in-app_messaging/troubleshooting/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_inappmessaging' aria-label='Troubleshooting'> <div class='nav_title'>Troubleshooting</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_contentcards' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_contentcards' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Content Cards'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Content Cards</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_contentcards' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_integration' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_customstyling' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/customization/custom_styling/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' aria-label='Custom Styling'> <div class='nav_title'>Custom Styling</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_customizingfeed' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/customization/customizing_feed/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' aria-label='Customizing Feed'> <div class='nav_title'>Customizing Feed</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_handlingclicksmanually' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/customization/handling_clicks_manually/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' aria-label='Handling Clicks Manually'> <div class='nav_title'>Handling Clicks Manually</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_readunreadindicators' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/customization/read_unread_indicators/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' aria-label='Read & Unread Indicators'> <div class='nav_title'>Read & Unread Indicators</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_badges' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/customization/badges/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' aria-label='Badges'> <div class='nav_title'>Badges</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization' aria-label='Use Cases'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Use Cases</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases_carouselview' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/customization/use_cases/carousel_view/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_customization_usecases' aria-label='Carousel View'> <div class='nav_title'>Carousel View</div></a></div></div> </div> </div></div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_refreshingthefeed' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/refreshing_the_feed/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards' aria-label='Refreshing the Feed'> <div class='nav_title'>Refreshing the Feed</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_multiplefeeds' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/multiple_feeds/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards' aria-label='Multiple Feeds'> <div class='nav_title'>Multiple Feeds</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards_implementationguide' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/content_cards/implementation_guide/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_contentcards' aria-label='Advanced Implementation (Optional)'> <div class='nav_title'>Advanced Implementation (Optional)</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_newsfeed' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_newsfeed' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='News Feed'><i class='fas'></i><div class='nav_block'><div class='nav_title'>News Feed</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_newsfeed' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_integration' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/news_feed/integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed' aria-label='Integration'> <div class='nav_title'>Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization' aria-label='Customization' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/news_feed/customization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed' aria-label='Customization'> <div class='nav_title'>Customization</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization_customstyling' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/news_feed/customization/custom_styling/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization' aria-label='Custom Styling'> <div class='nav_title'>Custom Styling</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization_badges' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/news_feed/customization/badges/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_customization' aria-label='Badges'> <div class='nav_title'>Badges</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_defininganewsfeedcategory' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/news_feed/defining_a_news_feed_category/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed' aria-label='Defining a News Feed Category'> <div class='nav_title'>Defining a News Feed Category</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed_refreshingthenewsfeed' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/news_feed/refreshing_the_news_feed/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_newsfeed' aria-label='Refreshing the Feed'> <div class='nav_title'>Refreshing the Feed</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_analytics' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_analytics' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Analytics'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Analytics</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_analytics' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_trackingsessions' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/tracking_sessions/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Tracking Sessions'> <div class='nav_title'>Tracking Sessions</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_settinguserids' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/setting_user_ids/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Setting User IDs'> <div class='nav_title'>Setting User IDs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_trackingcustomevents' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/tracking_custom_events/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Tracking Custom Events'> <div class='nav_title'>Tracking Custom Events</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_settingcustomattributes' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/setting_custom_attributes/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Setting Custom Attributes'> <div class='nav_title'>Setting Custom Attributes</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_loggingpurchases' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/logging_purchases/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Logging Purchases'> <div class='nav_title'>Logging Purchases</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_locationtracking' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/location_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Location Tracking'> <div class='nav_title'>Location Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_uninstalltracking' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/uninstall_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Uninstall Tracking'> <div class='nav_title'>Uninstall Tracking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics_disablingtracking' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/analytics/disabling_tracking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_analytics' aria-label='Disabling iOS SDK Tracking'> <div class='nav_title'>Disabling iOS SDK Tracking</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Advanced Use Cases'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Advanced Use Cases</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases_linking' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/advanced_use_cases/linking/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' aria-label='Deep Linking'> <div class='nav_title'>Deep Linking</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases_finenetworktrafficcontrol' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/advanced_use_cases/fine_network_traffic_control/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' aria-label='Fine Network Traffic Control'> <div class='nav_title'>Fine Network Traffic Control</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases_localization' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/advanced_use_cases/localization/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' aria-label='Localization'> <div class='nav_title'>Localization</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases_beaconintegration' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/advanced_use_cases/beacon_integration/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' aria-label='Beacon Integration'> <div class='nav_title'>Beacon Integration</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases_locationsandgeofences' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/advanced_use_cases/locations_and_geofences/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' aria-label='Locations & Geofences'> <div class='nav_title'>Locations & Geofences</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases_googletagmanager' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/advanced_use_cases/google_tag_manager/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_advancedusecases' aria-label='Google Tag Manager'> <div class='nav_title'>Google Tag Manager</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_storage' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/storage/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Storage'> <div class='nav_title'>Storage</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_sampleapps' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/sample_apps/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Sample Apps'> <div class='nav_title'>Sample Apps</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_ios_changelog' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_ios_changelog' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios' aria-label='Changelog'><i class='fas'></i><div class='nav_block'><div class='nav_title'>Changelog</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_ios_changelog' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog_swiftchangelog' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/changelog/swift_changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog' aria-label='Swift'> <div class='nav_title'>Swift</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog_objcchangelog' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/ios/changelog/objc_changelog/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_ios_changelog' aria-label='Objective-C'> <div class='nav_title'>Objective-C</div></a></div></div> </div> </div></div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_macos' data-parent='parent_nav_top_platformintegrationguides_legacysdks'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_macos' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_macos' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks' aria-label='MacOS (legacy)'><i class='fas'></i><div class='nav_block'><div class='nav_title'>MacOS (legacy)</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_macos' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_macos_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_legacysdks_macos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_macos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/macOS/initial_sdk_setup/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_macos' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> </div><div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_tvos' data-parent='parent_nav_top_platformintegrationguides_legacysdks'> <div class='nav_url' data-parent='parent_nav_top_platformintegrationguides_legacysdks'><a tabindex='-1' href='#nav_top_platformintegrationguides_legacysdks_tvos' data-toggle='collapse' data-target='#nav_top_platformintegrationguides_legacysdks_tvos' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top_platformintegrationguides_legacysdks' aria-label='tvOS (legacy)'><i class='fas'></i><div class='nav_block'><div class='nav_title'>tvOS (legacy)</div></a></div></div></div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_platformintegrationguides_legacysdks_tvos' > <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_tvos_initialsdksetup' data-parent='parent_nav_top_platformintegrationguides_legacysdks_tvos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_tvos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/tvos/initial_sdk_setup/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_tvos' aria-label='Initial SDK Setup'> <div class='nav_title'>Initial SDK Setup</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_platformintegrationguides_legacysdks_tvos_newsfeed' data-parent='parent_nav_top_platformintegrationguides_legacysdks_tvos'><div class='nav_reg' data-parent='parent_nav_top_platformintegrationguides_legacysdks_tvos'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/platform_integration_guides/legacy_sdks/tvos/news_feed/' class='nav_link' data-parent='parent_nav_top_platformintegrationguides_legacysdks_tvos' aria-label='News Feed'> <div class='nav_title'>News Feed</div></a></div></div> </div> </div></div></div><div class='nav-item ' id='parent_nav_top_authentication' data-parent='parent_nav_top'><div class='nav_reg' data-parent='parent_nav_top'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/authentication/' class='nav_link' data-parent='parent_nav_top' aria-label='SDK Authentication'> <div class='nav_title'>SDK Authentication</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_debugging' data-parent='parent_nav_top'><div class='nav_reg' data-parent='parent_nav_top'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/debugging/' class='nav_link' data-parent='parent_nav_top' aria-label='SDK Debugging'> <div class='nav_title'>SDK Debugging</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_changelogs' data-parent='parent_nav_top'><div class='nav_reg' data-parent='parent_nav_top'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/changelogs/' class='nav_link' data-parent='parent_nav_top' aria-label='Changelogs'> <div class='nav_title'>Changelogs</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_disclosures' data-parent='parent_nav_top'><div class='nav_url' data-parent='parent_nav_top'><a tabindex='-1' href='#nav_top_disclosures' aria-label='Disclosures' data-toggle='collapse' data-target='#nav_top_disclosures' class='nav_toggle ' aria-expanded='false' data-parent='parent_nav_top'><i class='fas'></i><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/disclosures/' class='nav_link' data-parent='parent_nav_top' aria-label='Disclosures'> <div class='nav_title'>Disclosures</div></a></div></div> </div> <div class='nav flex-column flex-nowrap collapse ' id='nav_top_disclosures' > <div class='nav-item ' id='parent_nav_top_disclosures_securityandvulnerabilitydisclosure' data-parent='parent_nav_top_disclosures'><div class='nav_reg' data-parent='parent_nav_top_disclosures'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/disclosures/security_and_vulnerability_disclosure/' class='nav_link' data-parent='parent_nav_top_disclosures' aria-label='Security Vulnerability Disclosure'> <div class='nav_title'>Security Vulnerability Disclosure</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_disclosures_opensourcesoftwaredisclosure' data-parent='parent_nav_top_disclosures'><div class='nav_reg' data-parent='parent_nav_top_disclosures'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/disclosures/open_source_software_disclosure/' class='nav_link' data-parent='parent_nav_top_disclosures' aria-label='Open Source Software Disclosure'> <div class='nav_title'>Open Source Software Disclosure</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_disclosures_securityqualifications' data-parent='parent_nav_top_disclosures'><div class='nav_reg' data-parent='parent_nav_top_disclosures'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/disclosures/security_qualifications/' class='nav_link' data-parent='parent_nav_top_disclosures' aria-label='Security Qualifications'> <div class='nav_title'>Security Qualifications</div></a></div></div> </div> <div class='nav-item ' id='parent_nav_top_disclosures_innovationstatement' data-parent='parent_nav_top_disclosures'><div class='nav_reg' data-parent='parent_nav_top_disclosures'><div class='nav_block'> <a tabindex='-1' href='/docs/developer_guide/disclosures/innovation_statement/' class='nav_link' data-parent='parent_nav_top_disclosures' aria-label='Innovation Statement'> <div class='nav_title'>Innovation Statement</div></a></div></div> </div> </div></div></nav> <div id="nav_bottom" style=""> <!-- a href="https://www.braze.com/terms/" target="_blank"><div class="nav_bottom_item"><i class="fa fa-balance-scale"></i> LEGAL</div></a> <a href="https://learning.braze.com" target="_blank"><div class="nav_bottom_item"><i class="fa fa-flask"></i> Braze Learning </div></a --> <a id="status-indicator" href="https://braze.statuspage.io" target="_blank"> <div class="nav_bottom_item"> <div class="status-title">BRAZE SYSTEM STATUS</div> <div class="color-dot"></div><div class="color-description">Checking Braze Status</div> </div></a> </div> <script type="text/javascript"> function loadStatusPage() { var lsp = document.createElement('script'); lsp.type = 'text/javascript'; lsp.async = true; lsp.src = '//statuspage-production.s3.amazonaws.com/se-v2.js'; lsp.onload = function() { if (typeof(StatusPage) !== "undefined") { var sp = new StatusPage.page({page: 'c947v6z63ltm'}); sp.status({ success: function (data) { var sd = document.getElementById('status-indicator'); sd.getElementsByClassName('color-description')[0].textContent = data.status.description; sd.getElementsByClassName('color-dot')[0].className = "color-dot " + data.status.indicator; } }); } }; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lsp, s); }; window.addEventListener('load', loadStatusPage, false); </script> </div> </div> <div class="col d-print-block " id="main_content" > <div id="article-main"> <div id="content_start"></div><div id="breadcrumb"> </div><h1 id="google-tag-manager">Google Tag Manager</h1> <blockquote> <p>The Braze Swift SDK can be initialized and controlled by tags configured within Google Tag Manager.</p> </blockquote> <p>As a prerequisite for this implementation, your Swift SDK integration must be complete.</p> <h2 id="configuring-ios-google-tag-manager">Configuring your Google Tag Manager</h2> <p>In this example, we’ll pretend we are a music streaming app that wants to log different events as users listen to songs. Using Google Tag Manager for iOS, we can control which of our third-party vendors receive this event and create tags specific to Braze.</p> <h3 id="custom-events">Custom events</h3> <p>Custom events are logged with <code class="language-plaintext highlighter-rouge">actionType</code> set to <code class="language-plaintext highlighter-rouge">logEvent</code>. The Braze custom tag provider in our example is expecting the custom event name to be set using <code class="language-plaintext highlighter-rouge">eventName</code>.</p> <p>To get started, create a trigger that looks for an <code class="language-plaintext highlighter-rouge">eventName</code> that equals <code class="language-plaintext highlighter-rouge">played song</code>.</p> <p><img src="/docs/assets/img/android_google_tag_manager/gtm_android_trigger.png?27ff318c3cf953efd22282170d311bdb" alt="A custom trigger in Google Tag Manager set to trigger for some events when &quot;eventName&quot; equals &quot;played song&quot;." /></p> <p>Next, create a new Tag (“Function Call”) and enter the class path of your <a href="#adding-ios-google-tag-provider">custom tag provider</a> described later in this article.</p> <p>This tag will be triggered when you log the <code class="language-plaintext highlighter-rouge">played song</code> event we just created.</p> <p>In our example tag’s custom parameters (key-value pairs), we’ve set <code class="language-plaintext highlighter-rouge">eventName</code> to <code class="language-plaintext highlighter-rouge">played song</code>—which will be the custom event name logged to Braze.</p> <div class="alert alert-important" role="alert"><div class="alert-msg"> <b>important: </b><br /> <p>When sending a custom event, set <code class="language-plaintext highlighter-rouge">actionType</code> to <code class="language-plaintext highlighter-rouge">logEvent</code>, and set a value for <code class="language-plaintext highlighter-rouge">eventName</code> as shown in the following example. <br /><br /> The custom tag provider in our example will use these keys to determine what action to take and what event name to send to Braze when it receives data from Google Tag Manager.</p> </div></div> <p><img src="/docs/assets/img/android_google_tag_manager/gtm_android_function_call_tag.png?d5fa8457a18a7a444366db84bbdaba6d" alt="A tag in Google Tag Manager with classpath and key-value pair fields. This tag is set to trigger with the previously created &quot;played song&quot; trigger." /></p> <p>You can also include additional key-value pair arguments to the tag, which will be sent as custom event properties to Braze. <code class="language-plaintext highlighter-rouge">eventName</code> and <code class="language-plaintext highlighter-rouge">actionType</code> will not be ignored for custom event properties. In the following example tag, we’ll pass in <code class="language-plaintext highlighter-rouge">genre</code>, which was defined using a tag variable in Google Tag Manager - sourced from the custom event we logged in our app.</p> <p>The <code class="language-plaintext highlighter-rouge">genre</code> event property is sent to Google Tag Manager as a “Firebase - Event Parameter” variable since Google Tag Manager for iOS uses Firebase as the data layer.</p> <p><img src="/docs/assets/img/android_google_tag_manager/gtm_android_eventname_variable.png?d5fc47b10703d50da2bf1adc05e17433" alt="A variable in Google Tag Manager where &quot;genre&quot; is added as an event parameter for the &quot;Braze - Played Song Event&quot; tag." /></p> <p>Lastly, when a user plays a song in our app, we will log an event through Firebase and Google Tag Manager using the Firebase analytics event name that matches our tag’s trigger name, <code class="language-plaintext highlighter-rouge">played song</code>:</p> <ul class="ab-nav ab-nav-tabs tab_toggle_ul" id="tab_vtsnozaifyyj_nav"> <li tabindex="0" class="coderow swift active"><a class="tab_toggle" data-tab-target="tab_vtsnozaifyyj" data-tab="swift">swift</a></li> <li tabindex="0" class="coderow objective-c"><a class="tab_toggle" data-tab-target="tab_vtsnozaifyyj" data-tab="objective-c">objective-c</a></li> </ul> <div id="tab_vtsnozaifyyj" class="ab-tab-content tab_toggle_div"> <div class="ab-tab-pane swift_tab " data-tab="swift"><div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 3 </pre></td><td class="rouge-code"><pre><span class="k">let</span> <span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span> <span class="kt">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s">"genre"</span><span class="p">:</span> <span class="s">"pop"</span><span class="p">,</span> <span class="s">"number of times listened"</span><span class="p">:</span> <span class="mi">42</span><span class="p">]</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">logEvent</span><span class="p">(</span><span class="s">"played song"</span><span class="p">,</span> <span class="nv">parameters</span><span class="p">:</span> <span class="n">parameters</span><span class="p">)</span> </pre></td></tr></tbody></table></code></pre></div></div></div> <div class="ab-tab-pane objective-c_tab " data-tab="objective-c"><div class="language-obj-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 3 </pre></td><td class="rouge-code"><pre><span class="n">NSDictionary</span> <span class="o">*</span><span class="n">parameters</span> <span class="o">=</span> <span class="p">@{</span><span class="s">@"genre"</span> <span class="o">:</span> <span class="s">@"pop"</span><span class="p">,</span> <span class="s">@"number of times listened"</span> <span class="o">:</span> <span class="mi">@42</span><span class="p">};</span> <span class="p">[</span><span class="n">FIRAnalytics</span> <span class="nf">logEventWithName</span><span class="p">:</span><span class="s">@"played song"</span> <span class="nf">parameters</span><span class="p">:</span><span class="n">parameters</span><span class="p">];</span> </pre></td></tr></tbody></table></code></pre></div></div></div> </div> <h3 id="logging-custom-attributes">Logging custom attributes</h3> <p>Custom attributes are set via an <code class="language-plaintext highlighter-rouge">actionType</code> set to <code class="language-plaintext highlighter-rouge">customAttribute</code>. The Braze custom tag provider is expecting the custom attribute key-value to be set via <code class="language-plaintext highlighter-rouge">customAttributeKey</code> and <code class="language-plaintext highlighter-rouge">customAttributeValue</code>:</p> <ul class="ab-nav ab-nav-tabs tab_toggle_ul" id="tab_hmvnnjggepmd_nav"> <li tabindex="0" class="coderow swift active"><a class="tab_toggle" data-tab-target="tab_hmvnnjggepmd" data-tab="swift">swift</a></li> <li tabindex="0" class="coderow objective-c"><a class="tab_toggle" data-tab-target="tab_hmvnnjggepmd" data-tab="objective-c">objective-c</a></li> </ul> <div id="tab_hmvnnjggepmd" class="ab-tab-content tab_toggle_div"> <div class="ab-tab-pane swift_tab " data-tab="swift"><div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 3 </pre></td><td class="rouge-code"><pre><span class="k">let</span> <span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span> <span class="kt">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s">"customAttributeKey"</span><span class="p">:</span> <span class="s">"favoriteSong"</span><span class="p">,</span> <span class="s">"customAttributeValue"</span><span class="p">:</span> <span class="s">"Private Eyes"</span><span class="p">]</span> <span class="kt">FIRAnalytics</span><span class="o">.</span><span class="nf">logEvent</span><span class="p">(</span><span class="nv">withName</span><span class="p">:</span><span class="s">"customAttribute"</span><span class="p">,</span> <span class="nv">parameters</span><span class="p">:</span> <span class="n">parameters</span><span class="p">)</span> </pre></td></tr></tbody></table></code></pre></div></div></div> <div class="ab-tab-pane objective-c_tab " data-tab="objective-c"><div class="language-obj-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 3 </pre></td><td class="rouge-code"><pre><span class="n">NSDictionary</span> <span class="o">*</span><span class="n">parameters</span> <span class="o">=</span> <span class="p">@{</span><span class="s">@"customAttributeKey"</span> <span class="o">:</span> <span class="s">@"favoriteSong"</span><span class="p">,</span> <span class="s">@"customAttributeValue"</span> <span class="o">:</span> <span class="s">@"Private Eyes"</span><span class="p">};</span> <span class="p">[</span><span class="n">FIRAnalytics</span> <span class="nf">logEventWithName</span><span class="p">:</span><span class="s">@"customAttribute"</span> <span class="nf">parameters</span><span class="p">:</span><span class="n">parameters</span><span class="p">];</span> </pre></td></tr></tbody></table></code></pre></div></div></div> </div> <h3 id="calling-changeuser">Calling changeUser</h3> <p>Calls to <code class="language-plaintext highlighter-rouge">changeUser()</code> are made via an <code class="language-plaintext highlighter-rouge">actionType</code> set to <code class="language-plaintext highlighter-rouge">changeUser</code>. The Braze custom tag provider is expecting the Braze user ID to be set via an <code class="language-plaintext highlighter-rouge">externalUserId</code> key-value pair within your tag:</p> <ul class="ab-nav ab-nav-tabs tab_toggle_ul" id="tab_mfrffeeazwzz_nav"> <li tabindex="0" class="coderow swift active"><a class="tab_toggle" data-tab-target="tab_mfrffeeazwzz" data-tab="swift">swift</a></li> <li tabindex="0" class="coderow objective-c"><a class="tab_toggle" data-tab-target="tab_mfrffeeazwzz" data-tab="objective-c">objective-c</a></li> </ul> <div id="tab_mfrffeeazwzz" class="ab-tab-content tab_toggle_div"> <div class="ab-tab-pane swift_tab " data-tab="swift"><div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 </pre></td><td class="rouge-code"><pre><span class="k">let</span> <span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span> <span class="kt">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s">"externalUserId"</span><span class="p">:</span> <span class="s">"favorite userId"</span><span class="p">]</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">logEvent</span><span class="p">(</span><span class="nv">withName</span><span class="p">:</span><span class="s">"changeUser"</span><span class="p">,</span> <span class="nv">parameters</span><span class="p">:</span> <span class="n">parameters</span><span class="p">)</span> </pre></td></tr></tbody></table></code></pre></div></div></div> <div class="ab-tab-pane objective-c_tab " data-tab="objective-c"><div class="language-obj-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 </pre></td><td class="rouge-code"><pre><span class="n">NSDictionary</span> <span class="o">*</span><span class="n">parameters</span> <span class="o">=</span> <span class="p">@{</span><span class="s">@"externalUserId"</span> <span class="o">:</span> <span class="n">userId</span><span class="p">};</span> <span class="p">[</span><span class="n">FIRAnalytics</span> <span class="nf">logEventWithName</span><span class="p">:</span><span class="s">@"changeUser"</span> <span class="nf">parameters</span><span class="p">:</span><span class="n">parameters</span><span class="p">];</span> </pre></td></tr></tbody></table></code></pre></div></div></div> </div> <h2 id="adding-ios-google-tag-provider">Braze SDK custom tag provider</h2> <p>With the tags and triggers set up, you will also need to implement Google Tag Manager in your iOS app which can be found in Google’s <a href="https://developers.google.com/tag-manager/ios/v5/">documentation</a>.</p> <p>Once Google Tag Manager is installed in your app, add a custom tag provider to call Braze SDK methods based on the tags you’ve configured within Google Tag Manager.</p> <p>Be sure to note the “Class Path” to the file - this is what you’ll enter when setting up a tag in the <a href="https://tagmanager.google.com/">Google Tag Manager</a> console.</p> <p>This example shows one of many ways to structure your custom tag provider, where we determine which Braze SDK method to call based on the <code class="language-plaintext highlighter-rouge">actionType</code> key-value pair sent down from Google Tag Manager. This example assumes you’ve assigned the Braze instance as a variable in the AppDelegate.</p> <p>The <code class="language-plaintext highlighter-rouge">actionType</code> we’ve supported in our example are <code class="language-plaintext highlighter-rouge">logEvent</code>, <code class="language-plaintext highlighter-rouge">customAttribute</code>, and <code class="language-plaintext highlighter-rouge">changeUser</code>, but you may prefer to change how your tag provider handles data from Google Tag Manager.</p> <ul class="ab-nav ab-nav-tabs tab_toggle_ul" id="tab_gmyjwicuyfjd_nav"> <li tabindex="0" class="coderow swift active"><a class="tab_toggle" data-tab-target="tab_gmyjwicuyfjd" data-tab="swift">swift</a></li> <li tabindex="0" class="coderow objective-c"><a class="tab_toggle" data-tab-target="tab_gmyjwicuyfjd" data-tab="objective-c">objective-c</a></li> </ul> <div id="tab_gmyjwicuyfjd" class="ab-tab-content tab_toggle_div"> <div class="ab-tab-pane swift_tab " data-tab="swift"><p>Add the following code to your <code class="language-plaintext highlighter-rouge">BrazeGTMTagManager.swift</code> file.</p> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 </pre></td><td class="rouge-code"><pre><span class="kd">import</span> <span class="kt">FirebaseAnalytics</span> <span class="kd">import</span> <span class="kt">GoogleTagManager</span> <span class="kd">import</span> <span class="kt">BrazeKit</span> <span class="k">let</span> <span class="nv">ActionTypeKey</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"actionType"</span> <span class="c1">// Custom Events</span> <span class="k">let</span> <span class="nv">LogEventAction</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"logEvent"</span> <span class="k">let</span> <span class="nv">LogEventName</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"eventName"</span> <span class="c1">// Custom Attributes</span> <span class="k">let</span> <span class="nv">CustomAttributeAction</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"customAttribute"</span> <span class="k">let</span> <span class="nv">CustomAttributeKey</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"customAttributeKey"</span> <span class="k">let</span> <span class="nv">CustomAttributeValueKey</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"customAttributeValue"</span> <span class="c1">// Change User</span> <span class="k">let</span> <span class="nv">ChangeUserAction</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"changeUser"</span> <span class="k">let</span> <span class="nv">ChangeUserExternalUserId</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"externalUserId"</span> <span class="kd">@objc</span><span class="p">(</span><span class="kt">BrazeGTMTagManager</span><span class="p">)</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">BrazeGTMTagManager</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">TAGCustomFunction</span> <span class="p">{</span> <span class="kd">@objc</span> <span class="kd">func</span> <span class="nf">execute</span><span class="p">(</span><span class="n">withParameters</span> <span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">AnyHashable</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]</span><span class="o">!</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">NSObject</span><span class="o">!</span> <span class="p">{</span> <span class="k">var</span> <span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]</span> <span class="o">=</span> <span class="n">parameters</span> <span class="k">as!</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]</span> <span class="k">guard</span> <span class="k">let</span> <span class="nv">actionType</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="kt">ActionTypeKey</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">String</span> <span class="k">else</span> <span class="p">{</span> <span class="nf">print</span><span class="p">(</span><span class="s">"There is no Braze action type key in this call. Doing nothing."</span><span class="p">)</span> <span class="k">return</span> <span class="kc">nil</span> <span class="p">}</span> <span class="n">parameters</span><span class="o">.</span><span class="nf">removeValue</span><span class="p">(</span><span class="nv">forKey</span><span class="p">:</span> <span class="kt">ActionTypeKey</span><span class="p">)</span> <span class="k">if</span> <span class="n">actionType</span> <span class="o">==</span> <span class="kt">LogEventAction</span> <span class="p">{</span> <span class="nf">logEvent</span><span class="p">(</span><span class="nv">parameters</span><span class="p">:</span> <span class="n">parameters</span><span class="p">)</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="n">actionType</span> <span class="o">==</span> <span class="kt">CustomAttributeAction</span> <span class="p">{</span> <span class="nf">logCustomAttribute</span><span class="p">(</span><span class="nv">parameters</span><span class="p">:</span> <span class="n">parameters</span><span class="p">)</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="n">actionType</span> <span class="o">==</span> <span class="kt">ChangeUserAction</span> <span class="p">{</span> <span class="nf">changeUser</span><span class="p">(</span><span class="nv">parameters</span><span class="p">:</span> <span class="n">parameters</span><span class="p">)</span> <span class="p">}</span> <span class="k">return</span> <span class="kc">nil</span> <span class="p">}</span> <span class="kd">func</span> <span class="nf">logEvent</span><span class="p">(</span><span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">])</span> <span class="p">{</span> <span class="k">var</span> <span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">Any</span><span class="p">]</span> <span class="o">=</span> <span class="n">parameters</span> <span class="k">guard</span> <span class="k">let</span> <span class="nv">eventName</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="kt">LogEventName</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">String</span> <span class="k">else</span> <span class="p">{</span> <span class="k">return</span> <span class="p">}</span> <span class="n">parameters</span><span class="o">.</span><span class="nf">removeValue</span><span class="p">(</span><span class="nv">forKey</span><span class="p">:</span> <span class="kt">LogEventName</span><span class="p">)</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="nf">logCustomEvent</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="n">eventName</span><span class="p">,</span> <span class="nv">properties</span><span class="p">:</span> <span class="n">parameters</span><span class="p">)</span> <span class="p">}</span> <span class="kd">func</span> <span class="nf">logCustomAttribute</span><span class="p">(</span><span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span> <span class="kt">Any</span><span class="p">])</span> <span class="p">{</span> <span class="k">guard</span> <span class="k">let</span> <span class="nv">customAttributeKey</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="kt">CustomAttributeKey</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">String</span> <span class="k">else</span> <span class="p">{</span> <span class="k">return</span> <span class="p">}</span> <span class="k">let</span> <span class="nv">customAttributeValue</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="kt">CustomAttributeValueKey</span><span class="p">]</span> <span class="k">if</span> <span class="k">let</span> <span class="nv">customAttributeValue</span> <span class="o">=</span> <span class="n">customAttributeValue</span> <span class="k">as?</span> <span class="kt">String</span> <span class="p">{</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="nf">setCustomAttribute</span><span class="p">(</span><span class="nv">key</span><span class="p">:</span> <span class="n">customAttributeKey</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">customAttributeValue</span><span class="p">)</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="k">let</span> <span class="nv">customAttributeValue</span> <span class="o">=</span> <span class="n">customAttributeValue</span> <span class="k">as?</span> <span class="kt">Date</span> <span class="p">{</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="nf">setCustomAttribute</span><span class="p">(</span><span class="nv">key</span><span class="p">:</span> <span class="n">customAttributeKey</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">customAttributeValue</span><span class="p">)</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="k">let</span> <span class="nv">customAttributeValue</span> <span class="o">=</span> <span class="n">customAttributeValue</span> <span class="k">as?</span> <span class="kt">Double</span> <span class="p">{</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="nf">setCustomAttribute</span><span class="p">(</span><span class="nv">key</span><span class="p">:</span> <span class="n">customAttributeKey</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">customAttributeValue</span><span class="p">)</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="k">let</span> <span class="nv">customAttributeValue</span> <span class="o">=</span> <span class="n">customAttributeValue</span> <span class="k">as?</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="nf">setCustomAttribute</span><span class="p">(</span><span class="nv">key</span><span class="p">:</span> <span class="n">customAttributeKey</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">customAttributeValue</span><span class="p">)</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="k">let</span> <span class="nv">customAttributeValue</span> <span class="o">=</span> <span class="n">customAttributeValue</span> <span class="k">as?</span> <span class="kt">Int</span> <span class="p">{</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="nf">setCustomAttribute</span><span class="p">(</span><span class="nv">key</span><span class="p">:</span> <span class="n">customAttributeKey</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">customAttributeValue</span><span class="p">)</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="k">let</span> <span class="nv">customAttibuteValue</span> <span class="o">=</span> <span class="n">customAttributeValue</span> <span class="k">as?</span> <span class="p">[</span><span class="kt">String</span><span class="p">]</span> <span class="p">{</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="nf">setCustomAttributeArray</span><span class="p">(</span><span class="nv">key</span><span class="p">:</span> <span class="n">customAttributeKey</span><span class="p">,</span> <span class="nv">array</span><span class="p">:</span> <span class="n">customAttibuteValue</span><span class="p">)</span> <span class="p">}</span> <span class="p">}</span> <span class="kd">func</span> <span class="nf">changeUser</span><span class="p">(</span><span class="nv">parameters</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span> <span class="kt">Any</span><span class="p">])</span> <span class="p">{</span> <span class="k">guard</span> <span class="k">let</span> <span class="nv">userId</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="kt">ChangeUserExternalUserId</span><span class="p">]</span> <span class="k">as?</span> <span class="kt">String</span> <span class="k">else</span> <span class="p">{</span> <span class="k">return</span> <span class="p">}</span> <span class="kt">AppDelegate</span><span class="o">.</span><span class="n">braze</span><span class="p">?</span><span class="o">.</span><span class="nf">changeUser</span><span class="p">(</span><span class="nv">userId</span><span class="p">:</span> <span class="n">userId</span><span class="p">)</span> <span class="p">}</span> <span class="p">}</span> </pre></td></tr></tbody></table></code></pre></div></div></div> <div class="ab-tab-pane objective-c_tab " data-tab="objective-c"><p>Add the following code to your <code class="language-plaintext highlighter-rouge">BrazeGTMTagManager.h</code> file:</p> <div class="language-obj-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 3 4 5 6 </pre></td><td class="rouge-code"><pre><span class="k">@import</span> <span class="n">Firebase</span><span class="p">;</span> <span class="k">@import</span> <span class="n">GoogleTagManager</span><span class="p">;</span> <span class="k">@interface</span> <span class="nc">BrazeGTMTagManager</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="o">&lt;</span><span class="n">TAGCustomFunction</span><span class="o">&gt;</span> <span class="k">@end</span> </pre></td></tr></tbody></table></code></pre></div></div> <p>And add the following code to your <code class="language-plaintext highlighter-rouge">BrazeGTMTagManager.m</code> file:</p> <div class="language-obj-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><table class="rouge-table"><tbody><tr><td class="rouge-gutter gl"><pre class="lineno">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 </pre></td><td class="rouge-code"><pre><span class="cp">#import &lt;Foundation/Foundation.h&gt; #import "BrazeGTMTagManager.h" #import "BrazeKit" #import "AppDelegate.h" </span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">ActionTypeKey</span> <span class="o">=</span> <span class="s">@"actionType"</span><span class="p">;</span> <span class="c1">// Custom Events</span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">LogEventAction</span> <span class="o">=</span> <span class="s">@"logEvent"</span><span class="p">;</span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">LogEventEventName</span> <span class="o">=</span> <span class="s">@"eventName"</span><span class="p">;</span> <span class="c1">// Custom Attributes</span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">CustomAttributeAction</span> <span class="o">=</span> <span class="s">@"customAttribute"</span><span class="p">;</span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">CustomAttributeKey</span> <span class="o">=</span> <span class="s">@"customAttributeKey"</span><span class="p">;</span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">CustomAttributeValueKey</span> <span class="o">=</span> <span class="s">@"customAttributeValue"</span><span class="p">;</span> <span class="c1">// Change User</span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">ChangeUserAction</span> <span class="o">=</span> <span class="s">@"changeUser"</span><span class="p">;</span> <span class="k">static</span> <span class="n">NSString</span> <span class="o">*</span><span class="k">const</span> <span class="n">ChangeUserExternalUserId</span> <span class="o">=</span> <span class="s">@"externalUserId"</span><span class="p">;</span> <span class="k">@implementation</span> <span class="nc">BrazeGTMTagManager</span> <span class="k">-</span> <span class="p">(</span><span class="n">NSObject</span> <span class="o">*</span><span class="p">)</span><span class="nf">executeWithParameters</span><span class="p">:(</span><span class="n">NSDictionary</span> <span class="o">*</span><span class="p">)</span><span class="nv">parameters</span> <span class="p">{</span> <span class="n">NSMutableDictionary</span> <span class="o">*</span><span class="n">mutableParameters</span> <span class="o">=</span> <span class="p">[</span><span class="n">parameters</span> <span class="nf">mutableCopy</span><span class="p">];</span> <span class="n">NSString</span> <span class="o">*</span><span class="n">actionType</span> <span class="o">=</span> <span class="n">mutableParameters</span><span class="p">[</span><span class="nf">ActionTypeKey</span><span class="p">];</span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">actionType</span><span class="p">)</span> <span class="p">{</span> <span class="n">NSLog</span><span class="p">(</span><span class="s">@"There is no Braze action type key in this call. Doing nothing."</span><span class="p">,</span> <span class="nb">nil</span><span class="p">);</span> <span class="k">return</span> <span class="nb">nil</span><span class="p">;</span> <span class="p">}</span> <span class="p">[</span><span class="n">mutableParameters</span> <span class="nf">removeObjectForKey</span><span class="p">:</span><span class="n">ActionTypeKey</span><span class="p">];</span> <span class="k">if</span> <span class="p">([</span><span class="n">actionType</span> <span class="nf">isEqualToString</span><span class="p">:</span><span class="n">LogEventAction</span><span class="p">])</span> <span class="p">{</span> <span class="p">[</span><span class="n">self</span> <span class="nf">logEvent</span><span class="p">:</span><span class="n">mutableParameters</span><span class="p">];</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">([</span><span class="n">actionType</span> <span class="nf">isEqualToString</span><span class="p">:</span><span class="n">CustomAttributeAction</span><span class="p">])</span> <span class="p">{</span> <span class="p">[</span><span class="n">self</span> <span class="nf">logCustomAttribute</span><span class="p">:</span><span class="n">mutableParameters</span><span class="p">];</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">([</span><span class="n">actionType</span> <span class="nf">isEqualToString</span><span class="p">:</span><span class="n">ChangeUserAction</span><span class="p">])</span> <span class="p">{</span> <span class="p">[</span><span class="n">self</span> <span class="nf">changeUser</span><span class="p">:</span><span class="n">mutableParameters</span><span class="p">];</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="n">NSLog</span><span class="p">(</span><span class="s">@"Invalid action type. Doing nothing."</span><span class="p">);</span> <span class="p">}</span> <span class="k">return</span> <span class="nb">nil</span><span class="p">;</span> <span class="p">}</span> <span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">logEvent</span><span class="p">:(</span><span class="n">NSMutableDictionary</span> <span class="o">*</span><span class="p">)</span><span class="nv">parameters</span> <span class="p">{</span> <span class="n">NSString</span> <span class="o">*</span><span class="n">eventName</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="nf">LogEventEventName</span><span class="p">];</span> <span class="p">[</span><span class="n">parameters</span> <span class="nf">removeObjectForKey</span><span class="p">:</span><span class="n">LogEventEventName</span><span class="p">];</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span> <span class="nf">logCustomEvent</span><span class="p">:</span><span class="n">eventName</span> <span class="nl">properties:</span><span class="n">parameters</span><span class="p">];</span> <span class="p">}</span> <span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">logCustomAttribute</span><span class="p">:(</span><span class="n">NSMutableDictionary</span> <span class="o">*</span><span class="p">)</span><span class="nv">parameters</span> <span class="p">{</span> <span class="n">NSString</span> <span class="o">*</span><span class="n">customAttributeKey</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="nf">CustomAttributeKey</span><span class="p">];</span> <span class="n">id</span> <span class="n">customAttributeValue</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="nf">CustomAttributeValueKey</span><span class="p">];</span> <span class="k">if</span> <span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">isKindOfClass</span><span class="p">:[</span><span class="n">NSString</span> <span class="nf">class</span><span class="p">]])</span> <span class="p">{</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span> <span class="nf">logCustomEvent</span><span class="p">:</span><span class="n">customAttributeKey</span> <span class="nl">properties:</span><span class="n">parameters</span><span class="p">];</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">isKindOfClass</span><span class="p">:[</span><span class="n">NSDate</span> <span class="nf">class</span><span class="p">]])</span> <span class="p">{</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span><span class="p">.</span><span class="n">user</span> <span class="nf">setCustomAttributeWithKey</span><span class="p">:</span><span class="n">customAttributeKey</span> <span class="nl">dateValue:</span><span class="n">customAttributeValue</span><span class="p">];</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">isKindOfClass</span><span class="p">:[</span><span class="n">NSNumber</span> <span class="nf">class</span><span class="p">]])</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span><span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">objCType</span><span class="p">],</span> <span class="p">[</span><span class="err">@</span><span class="p">(</span><span class="nb">YES</span><span class="p">)</span> <span class="nf">objCType</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span><span class="p">.</span><span class="n">user</span> <span class="nf">setCustomAttributeWithKey</span><span class="p">:</span><span class="n">customAttributeKey</span> <span class="nl">boolValue:</span><span class="p">[(</span><span class="n">NSNumber</span> <span class="o">*</span><span class="p">)</span><span class="n">customAttributeValue</span> <span class="nf">boolValue</span><span class="p">]];</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span><span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">objCType</span><span class="p">],</span> <span class="k">@encode</span><span class="p">(</span><span class="kt">short</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">strcmp</span><span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">objCType</span><span class="p">],</span> <span class="k">@encode</span><span class="p">(</span><span class="kt">int</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">strcmp</span><span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">objCType</span><span class="p">],</span> <span class="k">@encode</span><span class="p">(</span><span class="kt">long</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span><span class="p">.</span><span class="n">user</span> <span class="nf">setCustomAttributeWithKey</span><span class="p">:</span><span class="n">customAttributeKey</span> <span class="nl">intValue:</span><span class="p">[(</span><span class="n">NSNumber</span> <span class="o">*</span><span class="p">)</span><span class="n">customAttributeValue</span> <span class="nf">integerValue</span><span class="p">]];</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span><span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">objCType</span><span class="p">],</span> <span class="k">@encode</span><span class="p">(</span><span class="kt">float</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">strcmp</span><span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">objCType</span><span class="p">],</span> <span class="k">@encode</span><span class="p">(</span><span class="kt">double</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span><span class="p">.</span><span class="n">user</span> <span class="nf">setCustomAttributeWithKey</span><span class="p">:</span><span class="n">customAttributeKey</span> <span class="nl">doubleValue:</span><span class="p">[(</span><span class="n">NSNumber</span> <span class="o">*</span><span class="p">)</span><span class="n">customAttributeValue</span> <span class="nf">doubleValue</span><span class="p">]];</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="n">NSLog</span><span class="p">(</span><span class="s">@"Could not map NSNumber value to Braze custom attribute:%@"</span><span class="p">,</span> <span class="n">customAttributeValue</span><span class="p">);</span> <span class="p">}</span> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">([</span><span class="n">customAttributeValue</span> <span class="nf">isKindOfClass</span><span class="p">:[</span><span class="n">NSArray</span> <span class="nf">class</span><span class="p">]])</span> <span class="p">{</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span><span class="p">.</span><span class="n">user</span> <span class="nf">setCustomAttributeArrayWithKey</span><span class="p">:</span><span class="n">customAttributeKey</span> <span class="nl">array:</span><span class="n">customAttributeValue</span><span class="p">];</span> <span class="p">}</span> <span class="p">}</span> <span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">changeUser</span><span class="p">:(</span><span class="n">NSMutableDictionary</span> <span class="o">*</span><span class="p">)</span><span class="nv">parameters</span> <span class="p">{</span> <span class="n">NSString</span> <span class="o">*</span><span class="n">userId</span> <span class="o">=</span> <span class="n">parameters</span><span class="p">[</span><span class="nf">ChangeUserExternalUserId</span><span class="p">];</span> <span class="p">[</span><span class="n">AppDelegate</span><span class="p">.</span><span class="n">braze</span> <span class="nf">changeUser</span><span class="p">:</span><span class="n">userId</span><span class="p">];</span> <span class="p">}</span> <span class="k">@end</span> </pre></td></tr></tbody></table></code></pre></div></div></div> </div> </div><div id="bottom_nav" ><div class="gitedit_div"> <a href="https://github.com/braze-inc/braze-docs/blob/develop/_docs/_developer_guide/platform_integration_guides/swift/advanced_use_cases/google_tag_manager.md" class="extignore" target="_blank"> <img src="/docs/assets/img/GitHub-Mark-32px.png" alt="Github" /> &nbsp; Edit this page on GitHub </a> </div> <div id="feedback"><div id="feedback_title"> HOW HELPFUL WAS THIS PAGE? </div><div id="feedback_answer"> <ul class="list-inline rating-list"> <li class="inline-star" tabindex="0"><i class="fas fa-star" data-value="Very Helpful" title="Very Helpful"></i></li> <li class="inline-star" tabindex="0"><i class="fas fa-star" data-value="Helpful" title="Helpful"></i></li> <li class="inline-star" tabindex="0"><i class="fas fa-star" data-value="Somewhat Helpful" title="Somewhat Helpful"></i></li> <li class="inline-star" tabindex="0"><i class="fas fa-star" data-value="Unhelpful" title="Unhelpful"></i></li> <li class="inline-star" tabindex="0"><i class="fas fa-star" data-value="Very Unhelpful" title="Very Unhelpful"></i></li> </ul> </div> <div id="feedback_comment_div"> <div> <textarea id="feedback_comment" placeholder="How can we improve this page?"></textarea> </div> <button type="submit" name="submit_feedback" value="SUBMIT FEEDBACK" class="btn btn-black" id="feedback_submit_button" role="button"> SUBMIT FEEDBACK </button> </div> <div id="feedback_msg"> </div> </div> <script type="text/javascript"> var feedback_site = '/docs/developer_guide/platform_integration_guides/swift/advanced_use_cases/google_tag_manager/'; var feedback_article_title = 'Google Tag Manager for iOS'; var feedback_nav_title = 'Google Tag Manager'; </script> <!-- div class="gradient-line" ></div --> <div id="bottom_page_nav"> <a id="page_prev_link"><div id="page_prev" ></div></a> <a id="page_next_link"><div id="page_next" ></div></a> </div> </div><div id="footer_div"> <div id="footer_container" class=""> <footer id="footer_terms"> <ul> <li>&copy; Braze. All Rights Reserved</li> <li><a href="https://www.braze.com/privacy/"> Privacy Policy</a> </li> <li><button id="ot-sdk-btn" class="ot-sdk-show-settings" style="color: inherit;background: inherit;border: inherit;font: inherit;padding: 0;">Cookies</button></li> </ul> </footer> </div> </div> </div><div class="d-none d-lg-block col-lg-2 d-print-none" id="toc_col"> <div class="gitedit_div" style="margin-top: 30px;padding-left: 5px;"> <a href="https://github.com/braze-inc/braze-docs/blob/develop/_docs/_developer_guide/platform_integration_guides/swift/advanced_use_cases/google_tag_manager.md" class="extignore" target="_blank"> <img src="/docs/assets/img/GitHub-Mark-32px.png" alt="Github" /> &nbsp; Edit this page on GitHub </a> </div> <div id="toc" ></div> </div> </div> </div> <a id="cc_prompt" href="#"> <div class="gradient-circle spinning"></div> <div class="copy"><span>New Stuff!</span></div> </a> <div id="contentcards"> </div> </main> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10