--- title: "Whatfix Mobile Offline Support" slug: "whatfix-mobile-offline-support" updated: 2026-08-06T15:35:43Z published: 2026-08-06T15:35:43Z canonical: "support.whatfix.com/whatfix-mobile-offline-support" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.whatfix.com/llms.txt > Use this file to discover all available pages before exploring further. # Whatfix Mobile Offline Support Offline mobile applications enable users to access the mobile apps without internet. Some examples of offline apps are Amazon Kindle, Google Drive. While the mentioned apps work offline, the content that is accessible inside them has to be downloaded when online. Your app is most likely to work in a similar way. ### Offline support using the default publish feature If you are publishing your Projects directly using the in-built targeting features, Whatfix Mobile provides offline support by default. your title goes here Your users need to go online at least once so that the in-app experience you want to deliver is downloaded on their device for them. ### Offline support using Project ID Since the projects published with Project IDs are triggered from your codebase, we recommend that you explicitly sync the projects whenever a connection is present (ideally during the start of the app). This ensures the availability of the entire experience on your end users' device while they're offline. To sync the offline projects at the start of the app, add the following code snippet at the start of the app: Android ## Android JavaJavaJava ```java List offlineSyncList = new ArrayList<>(); offlineSyncList.add("PROJECT_ID_1"); offlineSyncList.add("PROJECT_ID_2"); Leap.offlineSync(offlineSyncList); ``` Swift ## Swift SwiftSwiftSwift ```swift var offlineSyncList:[String] = [] offlineSyncList.append("PROJECT_ID_1") offlineSyncList.append("PROJECT_ID_2") Leap.shared.offlineSync(offlineSyncList) ``` Objective-C ## Objective-C Objective-CObjective-CObjective-C ```objectivec NSMutableArray *offlineSyncList = [[NSMutableArray alloc] init]; [offlineSyncList addObject:@"PROJECT_ID_1"]; [offlineSyncList addObject:@"PROJECT_ID_2"]; [[Leap shared] offlineSync:offlineSyncList]; ``` React Native ## React Native JavaScriptJavaScriptJavaScript ```javascript let projectIDs = ['PROJECT_ID_1', 'PROJECT_ID_2']; LeapReactNative.offlineSync(projectIDs); ``` Ionic ## Ionic JavaScriptJavaScriptJavaScript ```javascript let projectIDs = ['PROJECT_ID_1', 'PROJECT_ID_2']; LeapPlugins.offlineSync({projectIDs:projectIds}); ``` Cordova (Android) ## Cordova (Android) JavaScriptJavaScriptJavaScript ```javascript let projectIDs = ['PROJECT_ID_1', 'PROJECT_ID_2']; cordova.plugin.LeapAndroid.offlineSync(projectIDs); ``` Cordova (iOS) ## Cordova (iOS) JavaScriptJavaScriptJavaScript ```javascript let projectIDs = ['PROJECT_ID_1', 'PROJECT_ID_2']; cordova.plugin.LeapiOS.offlineSync(projectIDs); ``` Xamarin Android ## Xamarin Android JavaScriptJavaScriptJavaScript ```javascript string[] projectIds = {"PROJECT_ID_1","PROJECT_ID_2"}; Leap.OfflineSync(projectIds); ``` Xamarin iOS ## Xamarin iOS JavaScriptJavaScriptJavaScript ```javascript string[] projectIds = {"PROJECT_ID_1", "PROJECT_ID_2" }; Leap.Shared.OfflineSync(projectIds); ``` Once the projects are synced, start the project using the following code snippet, Android ## Android JavaJavaJava ```java Leap.embedProject("PROJECT_ID_1"); ``` Swift ## Swift SwiftSwiftSwift ```swift Leap.shared.embedProject("PROJECT_ID_1"); ``` Objective-C ## Objective-C Objective-CObjective-CObjective-C ```objectivec [[Leap shared] embedProject:@"PROJECT_ID_1"]; ``` React Native ## React Native JavaScriptJavaScriptJavaScript ```javascript LeapReactNative.embedProject('PROJECT_ID_1'); ``` Ionic ## Ionic JavaScriptJavaScriptJavaScript ```javascript LeapPlugin.embedProject({projectId:""}); ``` Cordova (Android) ## Cordova (Android) JavaScriptJavaScriptJavaScript ```javascript cordova.plugin.LeapAndroid.embedProject('PROJECT_ID_1'); ``` Cordova (iOS) ## Cordova (iOS) JavaScriptJavaScriptJavaScript ```javascript cordova.plugin.LeapiOS.embedProject('PROJECT_ID_1'); ``` Xamarin Android ## Xamarin Android JavaScriptJavaScriptJavaScript ```javascript Leap.EmbedProject("PROJECT_ID_1"); ``` Xamarin iOS ## Xamarin iOS JavaScriptJavaScriptJavaScript ```javascript Leap.Shared.EmbedProject("PROJECT_ID_1"); ```