<h2>Mobile Publishing - How to Configure Background Location Tracking in a Branded NowMobile or Agent App</h2><br/><div style="overflow-x:auto"><style type="text/css"><!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } </style> <div class="ns-kb-css-body-editor-container"> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Summary</h2> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">This article explains how to enable background location tracking in a branded (white-label) NowMobile or Agent app published through ServiceNow Mobile Publishing. By default, NowMobile (Requestor) apps do not include the background location permission. <strong>Customers must request this capability during the Mobile Publishing submission process and complete additional instance-side configuration before the feature will function.</strong></p> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Background</h2> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">To use background location tracking on Android, an app must declare the ACCESS_BACKGROUND_LOCATION permission in its AndroidManifest.xml at build time. To use background location tracking on iOS, an app must declare the UIBackgroundModes=location in the info.plist.</p> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">The ServiceNow NowMobile (Requestor) app does not include this permission by default. The NowMobile (Requestor) app requires the explicit Android manifest permission to be added through the Mobile Publishing workflow.</p> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">The ServiceNow Agent (Fulfiller) app includes foreground and background location tracking by default. </p> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Prerequisites</h2> <ul style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Mobile Publishing Plugin v24.0.0 or later </strong>must be installed on your instance. Only v24.0.0+ supports the background location tracking toggle. If you are on an earlier version (e.g., v23.2.0), you must upgrade first.</li></ul> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Part 1: Enable Background Location in Mobile Publishing</h2> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Follow these steps to request the background location permission be included in your branded app build.</p> <ol style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Upgrade the Mobile Publishing plugin </strong>on your instance to v24.0.0 or later. Navigate to System Applications → All Available Applications → All and search for the "Manage Mobile Publishing Apps". Only version 24.0.0+ exposes the background location tracking option.</li><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Submit an app update request </strong>for your branded app. Open your existing app record and click the Duplicate button to create a new submission. In the "Add app details" step, locate the Background location tracking section.</li></ol> <p style="margin: 10pt 0in 3pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><img src="/sys_attachment.do?sys_id=381fb3f0478b325c3b05ff48436d4303" alt="Title: Mobile Publishing Request Form - Description: Figure 1: Mobile Publishing – "Add app details" page showing the Background location tracking section" width="800" height="552" /></p> <p style="margin: 2pt 0in 8pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">Figure 1: Mobile Publishing – "Add app details" page showing the Background location tracking section</span></em></p> <ol style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;" start="3"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Set the "Enable background tracking" toggle to ON </strong>before submitting the app request. This instructs the build pipeline to include the ACCESS_BACKGROUND_LOCATION permission in the AndroidManifest.xml.</li></ol> <p style="margin: 10pt 0in 3pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><img src="/sys_attachment.do?sys_id=341f73f0478b325c3b05ff48436d43bd" alt="Title: Background Location Tracking Toggle - Description: Figure 2: Background location tracking toggle set to ON in the Mobile Publishing form" width="650" height="229" /></p> <p style="margin: 2pt 0in 8pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">Figure 2: Background location tracking toggle set to ON in the Mobile Publishing form</span></em></p> <ol style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;" start="4"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Submit the request. The newly built app version will include background location tracking support.</li></ol> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Part 2: Google Play Background Location Permission Declaration</h2> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Google Play requires a declaration justifying the use of background location. After receiving your updated app build, follow the steps in this ServiceNow KB article to complete the Google Play declaration:</p> <p style="margin: 3pt 0in 6pt; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="/kb?id=kb_article_view&sysparm_article=KB1710255"><span style="color: #0563c1;">KB1710255 – Google Play Background Location Permission Declaration</span></a></p> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Failure to complete this declaration will result in Google Play rejecting the app update.</p> <p style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> </p> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Part 3: Instance-Side Configuration</h2> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Once you have a branded app build that includes the background location permission, complete the following configuration on your ServiceNow instance.</p> <h3 style="margin: 10pt 0in 5pt; font-size: 12pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Step 1: Install Required Plugins</h3> <ol style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Geolocation Plugin </strong>(com.snc.geolocation) – This is the core geolocation plugin. Navigate to System Applications → All Available Applications → All and search for it by name or plugin ID.</li><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Mobile Location Tracking Plugin </strong>(com.glide.sg.location.tracking) – This plugin is automatically installed when Field Service Management Mobile (com.sn_fsm_mobile) is activated. If you are not using FSM, install this plugin directly.</li></ol> <h3 style="margin: 10pt 0in 5pt; font-size: 12pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Step 2: Enable Geolocation Tracking on User Records</h3> <ol style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;" start="3"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Navigate to the sys_user record for each user you want to track.</li><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Check the "Geolocation tracked" checkbox </strong>on the user record. This must be enabled for every individual user who needs background location tracking.</li></ol> <p style="margin: 10pt 0in 3pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><img src="/sys_attachment.do?sys_id=8d1fb3f0478b325c3b05ff48436d432b" alt="Title: User Record Geolocation Tracked - Description: Figure 3: sys_user record with the "Geolocation tracked" checkbox enabled" width="800" height="352" border="0" /></p> <p style="margin: 2pt 0in 8pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">Figure 3: sys_user record with the "Geolocation tracked" checkbox enabled</span></em></p> <h3 style="margin: 10pt 0in 5pt; font-size: 12pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Step 3: Enable Geolocation in Mobile App Config</h3> <ol style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;" start="5"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Navigate to the sys_sg_native_client table (also known as "Mobile App Config").</li><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Locate the record for your NowMobile or Agent app and set the <strong>Geolocation enabled</strong> checkbox to <strong>true</strong>. You may need to switch to the NowMobile scope to be able to edit it, or add the field to the form.</li></ol> <p style="margin: 10pt 0in 3pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><img src="/sys_attachment.do?sys_id=3c1f73f0478b325c3b05ff48436d438e" alt="Title: Mobile App Config Geolocation - Description: Figure 4: Mobile App Config (sys_sg_native_client) showing "Geolocation enabled" checked for Now Mobile" width="800" height="293" border="0" /></p> <p style="margin: 2pt 0in 8pt; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">Figure 4: Mobile App Config (sys_sg_native_client) showing "Geolocation enabled" checked for Now Mobile</span></em></p> <p style="margin: 6pt 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Note: The Agent app has Geolocation enabled set to true by default. NowMobile apps require this to be manually enabled.</p> <p style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> </p> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Part 4: End-User Device Verification</h2> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Once the instance configuration is complete, each end user must enable location permissions on their mobile device. On Android, the user must grant "Allow all the time" location access to the app. On iOS, the user must grant "Always" location access. Without this device-level permission, background tracking will not function even if all server-side settings are correct.</p> <p style="margin: 6pt 0in; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;">Users can verify location tracking is active by navigating to Settings > Location tracking within the mobile app. The tracking status will display the active duration.</p> <table class="MsoNormalTable" style="width: 6.5in; border-collapse: collapse; border: none;" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td style="width: 3.25in; border: solid windowtext 1.0pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;" valign="top"> <p style="text-align: center; margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><img src="/sys_attachment.do?sys_id=091fb3f0478b325c3b05ff48436d43a3" alt="Title: Settings Screen - Description: NowMobile Settings showing Location tracking active" width="300" height="650" border="0" /></p> <p style="margin: 3pt 0in 0in; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">Figure 5: Settings screen showing</span></em></p> <p style="text-align: center; margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">Location tracking active</span></em></p> </td><td style="width: 3.25in; border: solid windowtext 1.0pt; border-left: none; padding: 4.0pt 4.0pt 4.0pt 4.0pt;" valign="top"> <p style="text-align: center; margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><img src="/sys_attachment.do?sys_id=051fb3f0478b325c3b05ff48436d430b" alt="Title: Location Tracking Detail - Description: Location tracking detail showing 8 hour tracking duration" width="300" height="652" border="0" /></p> <p style="margin: 3pt 0in 0in; text-align: center; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">Figure 6: Location tracking detail</span></em></p> <p style="text-align: center; margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><em><span style="font-size: 9.0pt; color: gray;">showing tracking duration</span></em></p> </td></tr></tbody></table> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Important Notes</h2> <ul style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Plugin version matters: </strong>Only Mobile Publishing Plugin v24.0.0 and later supports the background location tracking toggle. Earlier versions (e.g., v23.2.0) do not have this option.</li><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Android-specific requirement: </strong>The ACCESS_BACKGROUND_LOCATION permission is an Android manifest requirement. iOS handles background location through UIBackgroundModels=location in the info.plist.</li><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Google Play compliance: </strong>Failing to submit the background location justification to Google Play will result in app rejection. Follow KB1710255 carefully.</li><li><strong>Apple AppStoreConnect compliance: </strong>Failing to submit the background location justification to Apple will result in app rejection. </li><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><strong>Existing app versions: </strong>App versions built before enabling this toggle do not include the background location permission and cannot support this feature without a new build.</li></ul> <h2 style="margin: 12pt 0in 6pt; font-size: 14pt; font-family: Calibri, sans-serif; color: rgb(4, 67, 85);">Related Resources</h2> <ul style="margin-top: 3pt; margin-bottom: 3pt; list-style-position: inside;"><li style="margin: 3pt 0in 3pt 0px; line-height: 115%; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="/kb?id=kb_article_view&sysparm_article=KB1710255"><span style="color: #0563c1;">KB1710255 – Google Play Background Location Permission Declaration</span></a></li></ul> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></div>