App Builder
On this page
App Builder turns your downloader into an app three ways: a web app that visitors install from the browser, ready at once, and Android and iPhone projects that you build into apps of your own. It is free and works with every licence.
Switching it on
Admin → Plugins → App Builder → Enable. At once the site can be installed as a web app (manifest, service worker, icons, offline page), and the Get the app page opens at /en/get-app (each language has its own), linked from the footer menu. The Plugins group of the admin menu gets App builder and Packages & downloads.
The App builder screen
On the right a phone shows the site as the app shows it and follows every change before anything is saved; The app and Loading screen above it switch what it shows. Save the app saves; installed web apps pick the change up the next time they are opened.
The app: App name, Short name (under the icon, 12 letters), Package / bundle id (like com.yoursite.app; changing it later makes a different app in the stores), Version (numbers and dots; raise it for every build you hand out) and A line about the app (for the Get the app page).
Look: Icon, a square PNG, JPG or WEBP of 512 × 512 or more, made into every size the phones ask for; until you upload one, a download arrow on the theme colour is used. Theme colour (status bar, active tab; it starts as the site's main colour) and Background (loading, offline page). The app opens in the language of the phone or one language. Screen: Turns with the phone, Always upright or Always sideways.
Inside the app: the site's footer shrinks to its last line and a tab bar runs along the bottom. Show tabs along the bottom, Hide the header of the site inside the app, and up to five tabs with Label, Icon and Opens, starting as Home, Platforms, Blog and About. What Opens may hold, here and in the More menu:
| You write | It opens |
|---|---|
| nothing | the home page |
blog, about, youtube-video-downloader | that page, in the visitor's language |
#platforms | the platform list of the home page |
/get-app | an address with no language in front |
{admin} | the admin panel |
https://… | another site, outside the app |
The English default labels are translated for the visitor; your own show as typed.
The "More" menu: Show the "More" tab adds a last tab with a sheet of up to twelve links, the languages and dark mode. It starts with Contact, Privacy policy, Terms of service and Admin login. Empty a label to remove a link; save to get more empty rows. Once you are signed in, your name with Dashboard, Profile and Sign out takes the place of Admin login.
Loading screen: the logo alone on a coloured background while the app starts. Pick a design (Logo only, Pulse, Spinning ring, Progress bar, Bouncing dots, Drop in, Orbit, Equaliser, Shine, Flip) and the phone plays it. Then Background (the app's background, the theme colour, or the theme colour fading darker), A line under the logo, Loading logo (PNG or SVG with a see-through background; otherwise the site logo from Settings → General) and Show the app name under the logo. Logo only on the phone's own launch screen sets the still picture a phone shows before any page exists; an installed web app sees that change only after it is installed again.
On the site: Offer "Install the app" to visitors on a phone and Let the installed app take shared links, both on.
Packages & downloads
Three cards: 1 · The web app (ready now, with its addresses), 2 · Android app and 3 · iPhone app, each with its download button. Beside them, Checks (HTTPS, the PHP GD extension for the icon sizes, the PHP zip extension for the projects, your own icon) and What the "Get the app" page offers: Android package (.apk), Google Play address and App Store address.
Building the Android app
A Kotlin app around your site. A link shared into it from YouTube, TikTok or any other app starts in the downloader; files go through the phone's download manager into Downloads.
- Download the Android project (.zip).
- Make a repository on GitHub (private is fine) and upload the contents of the zip, including the hidden
.githubfolder. - Open its Actions tab and wait for Build Android APK to turn green.
- Download app-debug under Artifacts; the .apk is inside.
- Upload it under Android package (.apk) and press Save: the Get the app page now offers Download the APK.
That APK installs on any phone that allows apps from outside the store. For Google Play, add a signing key to the repository secrets and the workflow also builds a signed app-release; README-BUILD.md in the zip explains this, Android Studio, and how links to your site open in the app.
Building the iPhone app
A Swift project for XcodeGen; downloads land where the Files app shows them. On a Mac: brew install xcodegen, xcodegen generate, open the project in Xcode, choose your team, Run. The GitHub workflow Build iOS app only builds an unsigned Simulator version, proof that the project builds. A real iPhone or the App Store needs an Apple Developer account ($99 a year); until then iPhone visitors use Add to Home Screen.
Both stores refuse YouTube downloaders: offer the APK from your own site, and read the README in each zip before submitting anything.
How visitors install it
- The banner (the first switch under On the site): where the browser can install apps (Chrome, Edge, Samsung Internet on Android; Chrome or Edge on a computer), "Get the … app" slides up with Install. Closing it silences it for a week. It never shows inside the app or on the Get the app page.
- The Get the app page: an Install button where the browser offers one, otherwise two steps; for iPhone and iPad, Safari → Share → Add to Home Screen; the APK and store buttons you set; a QR code that opens the page on a phone.
- Once installed: a home-screen icon, full screen, the tab bar and the offline page. With the second switch on, Android lists the app under Share in other apps, and a shared link starts in the downloader by itself.
HTTPS is required
Phones install a web app, and accept shared links, only from an https:// address; on http:// the service worker does not even start. Checks shows whether the site is served over HTTPS. A free certificate (AutoSSL in cPanel, Let's Encrypt) is enough; see Requirements.
Tips
- Leave space around the picture in your icon: Android cuts it into a circle.
- For a new APK: raise Version, download the project again, build, upload (200 MB at most, within your server's upload limit). The Get the app page prints the builder's Version beside the APK.
- Pages, tabs and menus come from the site; only a new name, icon, colour, loading screen or package id needs a new build.