Frequently Asked Questions (FAQ)
Short answers to the most common questions about working in PWA Hub. This page collects what you most often need for everyday tasks: how to create and launch a PWA, connect a domain, set up a split, upload a landing page, where to view statistics, and what to do in non-standard situations.
The sidebar menu gives you access to the Dashboard, PWA, Splits, and Landing pages sections - almost all of the answers below relate specifically to them.
The panel won't open by the domain? Check the DNS record in Cloudflare
This is the most common cause of "no access to the admin panel." Once the license is activated, the panel works only on the domain you entered on the license screen (for example admin.<your-domain>), via Cloudflare. If the address doesn't load at all, it's almost certainly because the DNS record of that host hasn't been created, and it simply doesn't resolve.
What to check in Cloudflare (your domain → DNS → Records):
- There is a record: type A, name - the panel host (for example admin), value - your server's IP.
- Proxying is enabled - orange cloud (Proxied).
- If there's no record - add it with the Add record button and wait a minute for it to apply.
By IP after activation - 403
Before the license is activated the panel opens by the server's IP, afterwards only by the domain; opening it by IP answers 403, and that's not an error. Step by step - see the "Installation" and "Domains and Cloudflare" sections.
How do I create a new PWA?
Open the PWA section in the sidebar menu and click the Add button in the list header - the app creation form will open.
Start with the General tab. The minimum you need to fill in:
- Name - the name of the app (you'll use it to find the app in the list).
- iOS template and Android template - the storefront look per platform: Native Store for iOS, Native Store Green or Web Store for Android.
- Cloudflare and Filter Account - service accounts that have already been prepared for you. Just pick the one you need from the dropdown; usually the main account is filled in automatically.
- Landing page type - what to show "random" visitors (a white, or safe, page). More details - in the question about the white page below.
The remaining tabs (Domains, Description, and others) handle the content and addresses of the app. When everything is ready, click Create - the app will appear in the list. From there you can launch it and connect domains to it.
TIP
You don't have to fill in everything at once. Create a PWA with basic settings, and add domains, description, and landing page later - the form always opens for editing via the row menu.
How do I launch or stop a PWA?
There are two ways, both in the PWA section:
- Click on the status. In the Status column the label is clickable. For a running app, hovering shows the tooltip Deactivate PWA - clicking it stops the app. For a stopped one - the tooltip Activate PWA, and clicking launches it.
- Via the row menu. Click the three-dots button in the Actions column and choose Start or Stop (the item depends on the current state).
The status changes immediately. If the operation couldn't be completed, the state reverts to its previous value.
What "stopped" means
A stopped PWA doesn't accept traffic - visitors to its domains don't reach the app. Launch it when you're ready to accept installs.
How do I clone a PWA?
Cloning creates a copy of an app with all its settings - handy so you don't have to build a similar PWA from scratch.
- In the PWA section, click the three-dots button in the Actions column and choose Clone.
- In the Clone dialog that opens, specify the names of the future copies. The first field is already filled with the source app's name plus
Clone. - With the + icon button you can add more fields and create several copies at once. Empty fields are skipped.
- Click Yes - the copies will appear in the list.
How do I archive a PWA and where do I find it afterward?
To remove an app from the main list, open the row menu (three dots) and choose Archive. A confirmation prompt will appear, "Are you sure you want to archive this PWA?" - click Yes.
Archiving does not delete the app permanently. To see archived PWAs again, enable the Archive filter in the list header (on mobile it's hidden behind the filter icon button).
WARNING
While an app is archived, it doesn't show in the regular list. If you can't find a particular PWA, check whether the Archive filter is enabled and whether the app has been archived.
How do I add a domain to a PWA?
Domains are attached to an app on the Domains tab in the PWA form.
- Click Add new Domain - the New PWA Domain dialog will open.
- In the Type of domain field, choose:
- System - a ready-made domain from those already available to you. Nothing extra to configure.
- My domain - your own domain.
- Buy new - buy a domain through Namecheap right from the dashboard: it checks whether the address is available, shows the price, and completes the purchase. Requires a connected Namecheap account.
- Subdomain - an optional prefix before the domain (for example,
app). - In the Domain field, pick a specific address from the list - it's filtered by the chosen type.
- Click Save.
Attached domains are shown in a table; next to each there's a go-to button that opens the address in a new browser tab. In the PWA list, domains are also visible in the Domains column, where you can quickly copy them with the Copy button.
What's the difference
A system domain is the fastest option: it's ready to use out of the box. A custom domain fits if you already have the address you need; Buy new is for registering one right now through Namecheap. For more on purchasing, see the "Namecheap Accounts" section.
What is "Landing type" (the white page) in the PWA form?
On the General tab, the Landing page type field determines what visitors who shouldn't be shown the main app will see (the so-called white, or safe, page). The options:
- Landing page redirect URL - redirect to an external address. After you select it, a Landing page URL field appears, where you enter a valid link.
- Load Landing page - show one of your landing pages uploaded in the Landing pages section. After you select it, a field appears for choosing the landing page you need.
- Off Landing page - don't use a white page.
- Blank page - show an empty placeholder.
What is a split and how is traffic distributed between PWAs?
A Split is a traffic distributor. It receives visitors on its domains and spreads them across several of your PWAs. Each "split → PWA" pairing is called a Flow, and the flow's share of traffic is set by a number - the Weight.
Weight is a proportion, not a percentage. The higher a flow's weight relative to the others, the more visitors will reach that app.
Working with splits is done in the Splits section:
- Click Add, set a Name, and click Create.
- In the Domain card, attach the addresses that traffic will come to (the same way as domains to a PWA: System or My domain).
- In the Flows card, use the Search PWA... field to add apps and set each one's Weight.
- Click Save and launch the split with the Start button.
Distribution example
Two PWAs with weights 1 and 1 will get traffic evenly. Weights 3 and 1 will give about 75% to the first app and 25% to the second. Changed weights are saved with the Save button in the form header.
Save the split first
The Domain and Flows cards only become available after the split is saved. Until the split is saved, they show the hint "Save the split first to add flows and domains."
How do I upload my own landing page?
Landing pages are stored in the Landing pages section and are then connected to a PWA as a white page (the Load Landing page option in the Landing page type field).
- Open the Landing pages section and click Add.
- Specify the landing page's Name.
- Upload a ZIP archive. The hint in the dialog reminds you: "Upload a ZIP archive containing files with the extensions .php, .html, .css, .js."
- Click Save.
To open an uploaded landing page, call up the row menu (three dots) and choose Open - it will open in a new tab.
Archive size
The maximum ZIP archive size is 20 MB. Make sure the landing page files themselves are inside, and not an extra nested folder.
How do I send a push notification to people who installed the app?
First let the app collect subscriptions, then create a push:
- Open the PWA, go to the Settings tab, turn on Collect subscriptions and save. Subscriptions start coming in from everyone who installs the app and allows notifications.
- Go to the Pushes section and press Add.
- On the General tab set the name, team, default language and type: Manual (button only), Scheduled (on a schedule) or Triggered (N after an install, registration or deposit).
- On the Messages tab add a language and write the Title and Text; the Preview on the right shows right away how the message will look.
- Press Create, set up Schedule and Filter if you need them - and start the push with Start (send a manual one with Send now).
Details are in the Push notifications section.
Notifications are asked about once
The browser's prompt is shown a single time and a refusal is final. The Ask in-app first toggle on the Settings tab shows your own screen first - so that single chance is not spent on people who are not ready yet.
Where do I view statistics on visits and installs?
All the summary statistics are gathered on the Dashboard (the first menu item, the start screen after logging in). There you'll find:
- the Visits, Installs, and Conversion cards for the selected period;
- the Traffic Overview chart and the Visits → Installs funnel;
- the PWA Applications widget - visits, installs, and status for each app (with the All / Running / Stopped filter);
- Top GEOs - the countries with the most installs.
The step-by-step funnel and the breakdown by day, split and sub tag are on the Statistics page (see the "Statistics" section).
The period is set at the top of the screen: Today, Yesterday, Last 7 days, Last 30 days, This month, Last month, or Custom range.
TIP
A quick funnel for each app is also visible right in the lists - in the Stats column of the PWA and Splits sections.
What should I do if the message "License Expired" appears?
If you see the License Expired screen with the text "No active license. Contact your administrator." - it means the system license is no longer valid.
License renewal is handled on the administrator's side, so there's nothing you need to do on your end - simply contact your administrator. As soon as the license is renewed, access will be restored and you'll be able to continue working.
Why can't I add a user or a domain?
It's about your plan's limits: the license caps the maximum number of users and domains. Once a limit is reached, adding one shows a Limit reached error - contact your administrator to raise the plan. For more on limits, see the "License" section.
How do I get an API key?
An API key is needed to access the system's public API from your own integrations. It lives in the Profile section (the menu in the top-right corner → Profile), in the API Key card:
- Click Generate Key - the system creates the key and shows it right away.
- After that the key can be shown, copied, regenerated (Regenerate), or deleted.
For more on the key and how to store it securely, see the "Profile" section.
If there's no card
The API Key card is visible only to administrators and to those who have API access enabled. If it's missing, API access for your account hasn't been enabled yet - contact your administrator.
How do I turn off pop-up notifications?
Pop-up messages (toasts) are turned off with the Silent notifications toggle in the Profile section (the menu in the top-right corner → Profile, the Notifications card). After that, new events pile up only in the bell in the top bar. For more, see the "Profile" and "Notifications" sections.
How do I change the interface language or theme?
Both the language and the theme are switched in the top bar on the right:
- Theme. The moon or sun icon button toggles the light and dark theme (the tooltips Dark mode / Light mode).
- Language. The button with the current language code (for example, RU) opens a list: English, Polski, Українська, Русский, Română. Choose the one you need - the interface switches immediately.
The selected language and theme are remembered and preserved on your next login.