Cloud4Wi MyApps is an environment that allows you to create and publish new applications in your Cloud4Wi Account.
This article includes the following contents:
- What MyApps is
- Apps for the Splash Page
- Apps for the Cloud4Wi Dashboard
- Getting Started
What MyApp is
Cloud4Wi MyApps is an environment that allows you to create and publish new applications in your Cloud4Wi Account.
Create content applications that can show custom personalized web content to your guest during the onboarding process to the Guest WiFi (called the Access Journey).
Link your custom and customized content from the home page of the Welcome Portal (for example the menu of a restaurant)
Create a control page that can be published in the Admin Panel of the Cloud4Wi Account, that can be used either to configure a content-driven application (for example updating the menu from the example above) or to publish back-end oriented content (for example a custom reporting page).
MyApps allows you to bring your content into the Cloud4Wi environment by initializing an App that can be published and used in the Cloud4Wi Dashboard just as one would use any of the native apps.
Apps for the Splash Page
The main purpose of MyApps is to allow you to bring your own content into the experience of a user connecting to the Guest WiFi, and make it highly relevant.
There are two main methods to publish the content in this experience, via the Access Journey and via the App Bar.
The Access Journey is a tool that allows the orchestration of the steps that a user takes to go online. The most important page of the Journey is the Welcome Portal Home Page, which usually contains some content as well as the login options (for example registration form or social login options). This page is managed from the Cloud4Wi Dashboard. The Access Journey tool allows you to publish one or more dedicated web pages before or after the Welcome Portal, forcing the user to go through a series of pages before getting online.
The Access Journey, as managed from the Cloud4Wi Dashboard, includes the following steps:
Connect: this step is the first one in the journey and shows a page before the Home Page of the Welcome Portal. In this step, the user is still anonymous, so MyApps offers only location information (where the user is connecting from).
This is a video that shows a journey that prompts a video advertising page as soon as the user connect, using the Connect step of the access Journey.
Sign-Up: this step happens when a new user registers for the first time. It can be seen as the “first login”. Technically in this step the user is already online and MyApps knows everything about the user.
Login: this step happens every time the user logs in. In this stage the user is already online.
This is a short video that shows an example of a Survey App published in the Login Attempt.
Login attempt: this step has been introduced between the user login attempt that the actual authorization to go online. Technically the user has been authenticated (creadial are ok) but has not been authorized on the network yet.
This step will force the user to interact with this page in order to continue online (for example showing an advertisement for 10 seconds), while in the login and sign-up steps the user is technically online and can leave the journey at any time.
This step has been introduced also to face a particular behaviour that happens in the latest Andorid phone. When an Android phone connects to an hostpot, it launches a “Sign in” webview that open the Welcome Portal. As soon as Andorid recognize that the user can reach internet through hotpsot, it closes automatically the “sign in with.. “ popup, and the user is dropped from the journey, making impossible to show other contents to the users.
This is a short video that shows an example of a standard journey on a phone where we see the "login" popup closing as soon as the user goes online, demonstrating the downfalls of the sign-up and login steps.
Logout: this step happens when the user clicks on the Logout button on the Welcome Portal Success Page. Since most of the times the user leaves the Access Journey to browse the internet, the user will rarely click the logout button, except for specific use cases (for example in the case of paid internet access when the user can stop the session and use the remaining time in another session).
The App Bar is a collection of links that can be published on the Home of the Splash Page and the Success Page (the one the user lands after a successful login), to let the user exposer contents.
The figure below summarizes all the methods and steps where an app can be launched.
How it works
You can develop and host your app on your own servers, in any programming language.
When your app is invoked, either from the Splash Page, Access Journey, or Admin Panel, Cloud4Wi will make a web call to your app's endpoint, appending a few parameters to the request, including a session key.
Your app can use the session key and use it to retrieve Context data from the Context API about who and where the app was launched from.
Your app can use this information to craft personalized and localized content and reply to the initial web request with that content.
The figure below shows the application flow when launching your app from the Access Journey.
The API to retrieve the context information for the application launch is called the Context API. The document explains in detail all the parameters sent in the original request to the Application Server, the context API and the parameters returned by the API call.
Please note that you can also leverage the Cloud4Wi APIs to retrieve further data from a Cloud4Wi Account (for example the logs of the connections of a User or his full profile).
Take care of the Walled Garden
Note that when your app is launched, the content is served directly from the Application Server and the browser is redirected on the domain where the app is hosted.
When the application is launched from the Welcome Portal in a stage when the user is not online yet, you need to make sure that your domain/hostname can be reached by the user by whitelisting your domain/hostname in the walled garden of the Access Point.
Each access point vendor has different capabilities, some of them can whitelist an entire domain with a wildcard, other supports only hostnames, and others support only a list of IP addresses (this last case, in particular, makes things much more difficult to handle if your hosting is in the cloud).
Handle the Journey navigation
When the App is published in the Welcome Portal, either via Access Journey or with a link in the App Bar, we need to control the way the user interacts with the content pages and, more importantly, with the journey.
For example, if the user opens an App by clicking a link in the App Bar, once he reaches the App content, he needs a method to return to the previous page.
When publishing the App in the interactive Journey, we need to embed in the app a method to let the user move forward to the next step.
MyApps offers two methods to handle this problem.
The first one is the possibility to publish a Navigation Bar on top of the page, which includes some icons to move forward or go back (depending on how the app is launched).
Apps for Cloud4Wi Dashboard
The Apps created with MyApps are published in the Cloud4Wi Dashboard and they offer the option to show in the Admin Panel configuration page when they are opened.
This can be used, for example, to create a configuration page of an App but also to create pure back-end applications meant to be displayed on the Admin Panel, such as a reporting dashboard.
The apps shows up in the Apps page under the category configured when initializing the app and also under the Dev Suite group.
The diagram below shows the flow of launching the app from the Cloud4Wi Dashboard.
Here, an example of an app (Video Advertising) built with MyApps, that offers a configuration page that can be opened directly from the Cloud4Wi Dashboard.
Since Cloud4Wi is a cloud based multi-tenant platform, an App can be installed in different Cloud4Wi Accounts (Tenants). It is up to the developer to create the logic that allows an app to have different settings on different accounts.
When an Admin opens the app from the Admin Panel, Cloud4Wi calls the application Server with a session key that allows the retrieval of the Account data (Company ID, Venue ID) so that the app can save different settings per each Account.
Note that all the settings and saved data are the responsibility of the app developer and hosted in the developer's Application Server.
In order to develop and deploy an App on Cloud4Wi using MyApps, you will need to:
- Get access to the Developer Portal and initialize your App
- Publish the App in the Cloud4Wi Account via the Cloud4Wi Dashboard
- Publish the App to the Access Journey or the App Bar
Creating a MyApp Account
If "MyApps" is active for your Organization instance, then you can create a Developer account through the Cloud4Wi Dashboard.
To do this, click on the quick access toolbar on the left Manage → Settings → Dev Portal. From here you can create, edit or make other actions on developer accounts.
To create a new Developer account, click on the Add button at the top right-hand corner of the page.
To add a new Developer account, you have to provide the following information:
- First name
- Last name
Then click on Save.
Finally, your Developer account for MyApps is ready. Username and password will be sent to the email address provided.
Now you can make further actions by clicking on the username.
The available actions are:
- Lock / Unlock: you can disable on enable the account
- Edit: you can edit First name, Last name, and Email fields
- Reset password: you can set a new password and send it to the provided email address
Creating an Application
The developer portal is published at myapps.cloud4wi.com
Your Cloud4Wi Account Administrator can activate an account for you directly from the Admin Panel. This Help Article explains how to add a Developer Account.
Once logged in, you can create a new application by clicking on CREATE NEW APP.
You will then have to provide information for your app:
- General Information
- App name: The name of the application. This field is what the App will be called in Cloud4Wi.
- Category: The category displayed in the Marketplace of the Cloud4Wi Dashboard. Can be Marketing, Analysis, Guest Wi-Fi, Integrations, or Other. The application will be displayed under the category you choose as well as the unselectable Dev Suite category.
- Short description and Full description: These descriptions will be displayed in the Marketplace.
- Icon: The icon displayed in the Marketplace and (if publishing to the App Bar) in the Welcome Portal.
- App Management
- App Visibility: the application is shown in the Marketplace only at Company level (Company level only), or both at Company and Venue level (Company and Venue levels).
- Enable pre-authentication mode: You can decide to show the app for guests that haven’t performed the authentication on the Welcome Portal. Take Note: Because authentication hasn’t happened yet, the guest is still within the walled garden, so you have to take care that all the required resources are actually accessible by your guests (by configuring the walled garden of your access points). Any libraries and resources you use must be served from within the walled garden.
- App Endpoints
- Base URL: the host where all the pages for the app are located.
- Access Journey page: the relative URL where the user is redirected during the Access Journey.
- Admin Panel settings page: the relative URL to be opened in the Marketplace. From here, the Company or Venue managers are able to configure the application.
- App Bar page: the relative URL where the user is redirected when coming from the App Bar.
Once finished, save your application
Publishing the Application
In order to use it, you need to install it on your Cloud4Wi Account. As a first step you need to click the button “Publish” in the app dashboard page.
Every time you make a change to the App settings in the Developer Portal and click “Save”, you need to also click “Publish” to put them into effect, even in applications that have already been published and deployed. Click on Publish to get your “App Id”. It will be necessary to install the application on your company instance.
Installing the Application
Login in your Cloud4Wi Account. In the Apps page you can install the application by clicking on the Add button, entering the “App Id” displayed after clicking “Publish” on the Developer Portal, and then clicking on Import. After that, your app will be in the Marketplace in the Dev Suite tab and in the tab you defined when selecting the category of the application.
Now the application is installed and ready to be used on your Cloud4Wi account. By clicking Open you are able to access and use the Admin Page you linked to as the “Admin Page” during the creation process.
NodeJS backend application that incorporates MyApps, Webhooks, and Slack APIs to show the possibilities of MyApps and Webhooks with Slack.
PHP backend showing a simple MyApps to display a video advertisement to users during the Access Journey.