Documentation

Glideep Documentation

Glideep turns any responsive website into a native Android and iOS app — no coding required. You configure everything through the visual editor, click Build, and Glideep does the rest. This guide walks you through every feature from setup to publishing.

🚀 From zero to published in 5 steps

  1. Create an account at app.glideep.com
    Sign up and choose a plan. All plans include a 14-day money-back guarantee.
  2. Create a new app
    Enter your app name, the website URL you want to wrap, and optionally your Android package name and iOS Bundle ID.
  3. Customize in the Visual Editor
    Set your icon, splash screen, colors, navigation, push notifications, and any other features you need. Every change shows instantly in the live preview.
  4. Click Build
    Builds usually take 1–2 minutes and produce a signed APK/AAB (Android) or an IPA that's automatically sent to TestFlight (iOS).
  5. Publish to the stores
    Upload the AAB to Google Play Console, or promote your TestFlight build to App Store. Your app is live.

Create Your App

Go to Dashboard → Create New App and fill in the details below. You can always change most of these later from the editor.

FieldWhat it does
App Name The name displayed on the user's home screen and in the app stores. Keep it short and memorable.
Website URL The website that loads inside your app (e.g. https://mysite.com). Must be an https URL. Your site needs to be responsive to look good on mobile.
Package Name The unique Android app identifier (e.g. com.mycompany.appname), reverse-domain format. Used by Google Play. Leave it blank when creating the app and Glideep auto-generates one from your app name — you can still edit it any time before your first store release from the editor's Basic tab, where it's a required field.
iOS Bundle ID Required for iOS builds, optional otherwise. Must exactly match the Bundle ID you set in App Store Connect. Same reverse-domain format as the package name.
⚠️
Once your app is live on the stores, you cannot change the Package Name or Bundle ID. Those are permanent identifiers tied to your store listing. Choose them carefully before your first submission.

🎨 Visual Editor

After creating your app you're taken to the Visual Editor. It has a settings panel on the left where you configure everything, and a live phone preview on the right that updates as you make changes.

The left sidebar groups every setting into tabs:

GroupTabs
ConfigureBasic, Assets, Appearance, Navigation
ScreensHome Screen, Onboarding, Features
SettingsPermissions, Social Login, App Insights, Advanced
PublishKey Manager, Build & Download

Changes save automatically a moment after you stop typing — there's no separate Save button. Your settings apply to the next build.

💡
Changes in the editor don't require a new build to take effect on content updates. If you just change something on your website, users see it instantly because the app loads your live URL. Only native feature changes (icon, navigation, push settings, etc.) require a new build.

ℹ️ Basic

The foundation of your app — its name, the website it loads, and the store identifiers. You set these when you create the app; this tab is where you edit them afterward.

FieldWhat it does
App Name required Display name shown under the icon on the home screen. Keep it under 30 characters.
Website URL required The website that loads inside the app.
Package Name (Android) required Reverse-domain format (e.g. com.mycompany.myapp). Must be unique on Google Play.
Bundle ID (iOS) Same reverse-domain format. Must be unique on the App Store — required for iOS builds, optional otherwise.
⚠️
Once your app is live on the stores, you cannot change the Package Name or Bundle ID. Those are permanent identifiers tied to your store listing. Choose them carefully before your first submission.

🖼️ Assets

Your app icon and splash screen — the first things users see, before your site even loads.

App Icon

Auto-fetched from your website when you create the app — click the upload icon on either preview to replace it any time. Square PNG/JPG, 1024×1024 recommended, max 2MB. The editor previews it two ways: an iOS squircle and an Android circle.

PlatformRequirements
Android icon 1024×1024 px PNG. A solid or gradient background is fine. Glideep generates every required size automatically.
iOS icon 1024×1024 px PNG. No transparency — Apple rejects icons with a transparent background. Glideep generates every required size automatically.
⚠️
iOS icons must have no transparent areas. If your icon has a clear/transparent background, Apple will reject your app during review. Use a solid color or gradient as the background.

Splash Screen

Shown while the app launches, before your site loads.

SettingWhat it does
Screen Style App Icon (default — reuses your app icon on the splash) or New Image (upload a separate splash graphic).
Background Color The color behind the logo. Match your icon's background for a seamless launch transition.
Duration How many seconds the splash holds before your site loads. 1–10 seconds, default 5.
💡
Use the same background color for your splash screen and your app icon. It creates a smooth, polished transition that feels native.

🎛️ Appearance

Controls how the app's chrome looks — the phone's own status and navigation bars, and whether the app follows light or dark mode.

SettingWhat it does
System Bar Color Color applied to both the OS status bar (top — clock, battery, signal) and the OS navigation bar (bottom — back/home buttons on Android). Ignored when Full-screen mode is on.
Icon & Text Style Auto picks black or white icons based on how light or dark your System Bar Color is. Override with Dark (black clock/icons — for light bars) or Light (white clock/icons — for dark bars) if Auto looks wrong.
Full-screen mode Hides both system bars completely so the WebView fills the entire screen edge-to-edge. When on, System Bar Color and Icon & Text Style above have no effect.
Theme Mode Light, Dark, or System Default (follows the user's device setting). Affects the app shell — drawer, loaders, and other native UI.
💡
Match System Bar Color to your website's header color for a seamless look where the native bar and your page blend together.

🏠 Home Screen

Optionally show a fully branded native home screen before the WebView loads on launch. It has two sub-tabs: Home Screen (the design) and Store Details (used by its Share & Rate buttons).

SettingWhat it does
Show on Launch Turn the native home screen on or off. When off, the app goes straight to your website URL.
Template Six layouts: Template 1–4 (Classic, Modern, Bold, Premium — same field set, different visual style), Template 5 — E-commerce (a scrollable row of product cards), and Template 6 — Custom HTML (write your own screen in raw HTML).
Welcome Prefix, Title, Subtitle, Description The text shown on the screen (Templates 1–4) — e.g. Welcome Prefix "Welcome to" + Title "Pocofood".
Button Label & URL A call-to-action button. Tapping it loads the given URL inside the WebView.
Hero Image URL A large feature image for the screen. Paste a link or upload a file.
App Icon URL Shown only on Template 4 — a smaller icon displayed alongside the hero content.
Product Cards Template 5 only. Each card has an image, title, brand, and link — add as many as you like.
Custom HTML Template 6 only. A full HTML document (with inline styles/scripts) rendered as the home screen.
Colors Primary, Background, Button Background, Button Text, and Description Text colors — apply across all templates.

Store Details

Powers the home screen's Share and Rate buttons: Android Package Name (Play Store rate link), iOS App ID — the numeric App Store ID (App Store rate link), and Share Text — the message used when a user taps Share.

📋 Onboarding

Onboarding screens are shown the first time a user opens your app. They're great for introducing key features or setting expectations before the main content loads.

SettingWhat it does
Enable Onboarding Turn the onboarding flow on or off. When off, the app goes straight to your website on first launch.
Show Only Once When on (default), onboarding only appears on the very first launch after install. Once the user taps through it, they never see it again. When off, it shows on every app launch.
Slides Add as many slides as you need. Each one has a Title, an Image URL (paste a link or upload), a Background Color, and its own Button Text (e.g. "Next" on early slides, "Get Started" on the last one).
💡
Keep onboarding short — 2 to 3 slides is ideal. Use simple visuals and short text. The goal is to get users into your app quickly, not to explain every feature.

🎚️ Features

Core app behaviors — how the WebView responds to touch, screen behavior, content protection, push notifications, and the rating prompt.

Browsing & loading

SettingWhat it does
Pull to Refresh Lets users swipe down from the top to reload the current page.
Page Loader Loading indicator while pages load. Choose a type (circular, linear, dots, ring, bar, or none), a color, background overlay opacity, and whether to show a loading percentage.
Pinch to Zoom Two-finger pinch scales page content. Turn off to lock users to the site's own layout.
Long-press Context Menu Long-press on images and links shows the native "Save image / Open in new tab" sheet. Turn off to protect premium content.
Swipe Back / Forward Edge swipe from the left goes back, from the right goes forward — the same feel as Safari on iOS. Native on iOS, added on Android.
Auto Dark Mode When the phone's system is in dark mode, the WebView darkens the page too. Sites that support prefers-color-scheme use their own dark palette; others get an OS-level filter.

Screen & security

SettingWhat it does
Orientation Auto (rotate freely), Portrait only, or Landscape only — locks the app to one orientation regardless of how the phone is held.
Keep Screen On Prevents the screen from sleeping while the app is in the foreground. Useful for POS, delivery, or live dashboards.
Block Screenshots & Screen Recording Android: hard-blocks screenshots and shows a black tile in the recents thumbnail. iOS: blurs content during screen recording and warns on screenshot (Apple doesn't let apps hard-block).

Push Notifications

Send push notifications directly to your app users. Glideep uses OneSignal — a free service — to deliver notifications on both Android and iOS.

  1. Create a free account at onesignal.com
    Create a new app in OneSignal and pick Google (FCM) and/or Apple iOS (APNs).
  2. Copy your OneSignal App ID
    In OneSignal, go to Settings → Keys & IDs and copy the App ID.
  3. Paste it into the Features tab
    Turn on Enable Push Notifications and paste the App ID.
  4. Send your first notification
    In OneSignal, go to Messages → New Push, write your message, and send.
ℹ️
Add a URL to a notification's data field to open a specific page when the user taps it — a product page, sale, or article.

In-App Purchases (RevenueCat)

Sell subscriptions or one-time products through your own store account — Glideep never takes a cut, the money goes straight to you. Handled through RevenueCat, a free-to-start layer over Google Play Billing and Apple StoreKit.

  1. Create the product first
    Set up the subscription or one-time product in App Store Connect and/or Google Play Console.
  2. Connect RevenueCat
    Sign up free at revenuecat.com, add your app, import those store products, and attach each one to an Entitlement.
  3. Add the API key in Glideep
    Copy the Public SDK API key from RevenueCat → Project Settings → API Keys, paste it in the Features tab, and turn on Enable In-App Purchases.
  4. List your products
    For each product, add its Product ID (must match the store listing) and the Entitlement name it grants in RevenueCat.
  5. Trigger the purchase from your site
    If your site can run custom code, call the JS bridge: window.flutter_inappwebview.callHandler('nativeApp', JSON.stringify({type:'purchase', id:'<product_id>'})) — check status with type:'iapStatus', restore past purchases with type:'restorePurchases'.
    If your site is built on a no-code tool that can't run custom JS (Glide, Base44, Lovable, etc.), just link any button to a URL with ?glideep_iap=<product_id> appended — the app buys the product instead of loading that page.
ℹ️
Showing "you're subscribed" inside a no-code builder's own UI needs that builder's own data write-back — Glideep only triggers the purchase itself.
⚠️
Apps that sell digital goods (subscriptions, virtual items, premium features) must use the stores' native billing — this is exactly what RevenueCat routes through. Physical goods and services (food orders, ride-hailing, delivery) are exempt from this requirement and can use any payment processor.

Rate App Prompt

Show a native in-app rating dialog to encourage reviews. The OS controls exactly when and how the dialog appears — you set the trigger conditions and copy.

SettingWhat it does
Min Days After Install / Min App OpensDon't prompt until both thresholds are met. Defaults: 2 days, 2 opens.
Cooldown DaysDays to wait before showing the prompt again after it's dismissed. Default 7.
Max Prompt CountThe most times a single user is ever shown the prompt. Default 2.
Prompt Title, Message, "Yes"/"No" LabelsFully customizable copy for the prompt dialog.
Debug: Force ShowShows the prompt immediately for testing — turn off before you ship.

🛡️ Permissions

Every toggle here maps directly to a device permission your app can request — camera, location, microphone, and so on. They're all off by default, and each one is tied to real app functionality: turn on only the ones your website or web app actually uses. If a permission is off but your site calls the matching browser API (e.g. it asks for the camera), that feature simply won't work inside the app — the OS never grants access, so there's nothing for your page to use.

⚠️
Turning a permission on when you don't need it isn't free either — unused permissions are a common reason Google Play and the App Store reject or flag a submission during review. Only enable what your site genuinely uses.
PermissionTurn it on if your site…Without it…
Geolocation Needs the user's location — maps, nearby stores, delivery address detection. The browser's location API returns nothing; location-based features won't work.
Camera Uses getUserMedia for video calls, QR/barcode scanning, or photo capture (uploading an existing photo does not need this). The camera never opens — video calls, scanning, or in-app photo capture fail.
Microphone Needs audio input — voice messages, audio/video calls, voice search. Mic-based features silently fail — no audio is ever captured.
Storage Lets users download or save files — PDFs, invoices, images, documents. Downloads and file saves from the app fail.
Notifications Sends push notifications (works together with the Push Notifications setup). Push notifications can't be delivered to the device, even if OneSignal is configured.
Contacts Reads the device contact list — e.g. auto-filling a recipient during checkout or invites. Contact-picker features on your site return nothing.
💡
Each permission has an optional reason text field — a short sentence explaining why your app needs it (e.g. "Used to show nearby stores on the map"). Google Play and the App Store may require this during review. Leave it blank and Glideep fills in a sensible default.

🔑 Social Login

Native sign-in providers that hand the session back to your website — Google, Apple, and Facebook.

ProviderWhat you need
Google Sign-In A Web Client ID and an iOS Client ID from Google Cloud Console → Credentials. The iOS Client ID is also in your GoogleService-Info.plist (CLIENT_ID key).
Apple Sign-In No credentials needed — handled natively by iOS. Required on iOS if you offer any other social login (Apple's App Store review guidelines mandate this).
Facebook Login An App ID and Client Token from the Facebook App Dashboard (Settings → Basic / Advanced).
⚠️
Apple Sign-In is required on iOS if your app offers any other third-party login. You must enable it before your iOS submission or Apple will reject the app.

Session Bridge

Each provider (except Apple) has a Post-login redirect URL — where the app's WebView goes after a successful sign-in. Leave it blank to use your app's home URL.

For passing the native login back into your own web session, set a Cookie Domain (e.g. .example.com) and a Token Set URL — an endpoint on your site that receives the native auth token and sets a web session cookie.

📈 App Insights Firebase

Track crashes, non-fatal errors, screen views, and user activity — all inside your own Firebase Console. Nothing routes through Glideep; you bring your own Firebase project.

SettingWhat it does
Firebase enabled Master switch — off means the Firebase SDK never initializes in your app.
Crash reporting (Crashlytics) Native + Flutter crashes, non-fatal errors, and the screen where each crash happened.
Analytics Daily active users, screen views, sessions, retention, and geography.
google-services.json / GoogleService-Info.plist Your Firebase config files for Android and iOS — upload both here. Files stay private; only your build fetches them.
ℹ️
How to get these files: go to console.firebase.google.com → create a project → add an Android app (using your Package Name) and an iOS app (using your Bundle ID) → enable Crashlytics + Analytics → download the two config files → upload them here. Rebuild the app after uploading for the change to take effect.

⚙️ Advanced

Power-user configuration — hiding elements, controlling which links stay in-app, deep links, biometric lock, and the delete action.

Hide Elements

Comma-separated CSS selectors to hide inside the WebView — e.g. .header, .footer, #banner.

Allowed Origins

SettingWhat it does
Allowed Domains URLs that stay inside the WebView — your own domain plus any third-party service your site uses (login, payment). One per line.
External Link Handling How URLs not on the list above open: the phone's default browser (Chrome/Safari — the default, matches store review expectations), or an in-app browser (Chrome Custom Tab / Safari view) that keeps users inside the shell.
ℹ️
If you use Google login, Stripe, or another third-party service, add its domain to Allowed Domains so it opens inside the app instead of the browser — e.g. accounts.google.com, js.stripe.com.

Deep Linking

Let external sources (emails, QR codes, social posts) open your app directly to a specific page instead of a browser.

SettingWhat it does
App SchemeA custom prefix, letters only — e.g. myapp makes links like myapp://open/product open your app.
App Host / DomainYour website domain, used for Android App Links and iOS Universal Links.
Deep Link PathsURL path patterns the app should handle, one per line, * as wildcard — e.g. /product/*, /order/*.

The Advanced tab can generate both verification files for you — Generate & Download next to each platform:

  1. Android
    Downloads assetlinks.json, pre-filled with your Package Name and Glideep's signing certificate fingerprint.
  2. iOS
    Downloads apple-app-site-association, pre-filled with your Bundle ID.
  3. Upload both to your site
    Host them at https://yourdomain.com/.well-known/assetlinks.json and https://yourdomain.com/.well-known/apple-app-site-association (no file extension on the second one). Both must return HTTP 200 with Content-Type: application/json, and /.well-known/ must not redirect — Apple and Google verify the files directly.

Biometric Authentication

Require Face ID / Touch ID (iOS) or Fingerprint / Face Unlock (Android) before users reach the app or specific pages.

SettingWhat it does
Enable Biometric AuthenticationTurns the feature on or off.
Prompt on Every LaunchOn: ask every time the app opens. Off: ask only once per session.
Allow PIN / Password FallbackIf biometrics fail or aren't set up, let the device PIN or password stand in.
Prompt Title & SubtitleCustomize the text shown on the biometric dialog.
Protected URLsURLs that require verification before loading, one per line. Leave blank to protect the entire app on every launch.

Danger Zone

Delete This App permanently removes the app and its configuration. This action cannot be undone.

🗝️ Key Manager

Add your own signing keys for store-ready builds. This is optional — Glideep signs with its own key by default, which works fine for testing.

🍎
Apple Credential (.p8)
An App Store Connect API key. Go to appstoreconnect.apple.com → Users and Access → Integrations → App Store Connect API, tap + to generate a key, name it, set access to Admin, then generate. Download the .p8 file — only downloadable once — and copy the Key ID and Issuer ID. Drop the file in the Key Manager along with those two IDs and a credential name, then Save.
🤖
Android Keystore (.jks)
Needed to publish under your own identity on Google Play. Generate one in Android Studio or with keytool. Upload the .jks file along with a keystore name, key alias, store password, and key password.
⚠️
Apple only lets you download the .p8 file once, at creation time. If you lose it, revoke the key and generate a new one. For Android, keep your store/key passwords safe — Google Play rejects updates signed with a different key than the original release.

Both key types are stored encrypted and used only at build time.

⬇️ Build & Download

Pick a platform, set the version, and hit Start Building. Your app usually builds in 1–2 minutes, then you download it right here.

PlatformOutputWhat happens
Android APK or AAB APK installs directly on a device for testing. AAB is the file you upload to Google Play Console — required for all new Play Store submissions.
iOS IPA Signed automatically using your Key Manager credential (or Glideep's default), then auto-uploaded to TestFlight using the App Store Connect API. You get an email and push notification when it's ready — success or failure.

Version numbers

Every app has a Version Name (e.g. 1.0.0) and a Version Code (an integer, e.g. 1). When you publish an update, the Version Code must be higher than your last submission — bump both before triggering a new build for a store update.

💡
You can close the build status page after clicking Build — it runs in the background and you'll be notified when it's done.

▶️ Publishing to Google Play

You need a Google Play Developer account ($25 one-time fee) to publish your app.

  1. Create the app in Play Console
    Create app → fill in the app name, language, and type. Then complete the required sections: store listing, content rating, privacy policy, and app access.
  2. Enroll in Play App Signing
    Production → Setup → App integrity. Enroll so Google manages your signing key — required for new apps.
  3. Create a new release and upload the AAB
    Production → Create new release. Upload the .aab from the Build & Download tab and add release notes.
  4. Submit for review
    Review release → Submit. Google typically reviews new apps within 1–3 days.
💡
For future updates: build a new AAB with an incremented Version Code, upload it as a new release in Play Console, and submit. Same process every time.

🏪 Publishing to the App Store

After a successful iOS build, your app is automatically uploaded to TestFlight. From there you test it, then submit it to the App Store.

  1. Find your build in TestFlight
    Go to appstoreconnect.apple.com → TestFlight. Your build appears within a few minutes of the Glideep build finishing.
  2. Test on a real device
    Install TestFlight on your iPhone, add yourself as an internal tester, and verify key flows — login, navigation, purchases.
  3. Create a new App Store version
    App Store Connect → My Apps → [your app] → Distribution → Add Version. Set the version number, add release notes, and add at least two sets of screenshots (6.5" and 5.5" iPhone sizes).
  4. Select your TestFlight build
    On the version page, under Build, click "Select a build before you submit" and choose the build you tested.
  5. Submit for review
    Add for Review → Submit to App Review. Apple's review typically takes 1–3 business days.
⚠️
Your App Store listing must include a Privacy Policy URL and a Support URL. Add them in App Store Connect under App Information before submitting.

Need help with publishing? Our Studio service handles everything end-to-end.