The SDK doesn't impose any requirement on the experience to enroll users into the WiFi service. The two main functions (initializing a user and installing the WiFi profile) can be deployed contextually or at different moments.
The WiFi user can be initialized at any time, even in the background, for example:
when a user signs up the first time for the app
the first time the app is opened after installing the app update that includes the SDK
at the moment the user explicitly makes some action for enabling the WiFi service
Once the WiFi user is initialized, the installation of the WiFi profile can be triggered by any user experiences, for example:
sending a push notification to the user informing them about the new WiFi service
with a banner in the home of the app
with a link in a menu
Regardless of the user experience that triggers the WiFi profile installation, Cloud4Wi advises creating and showing a dedicated informative screen that explains to the user the benefits of the service before calling the method to install the WiFi profile. In fact, installing the WiFi profile will open a dialog of the OS (different by OS and version) that might be confusing for the user if not previously informed.
First-time mobile app users
For users who just downloaded the app and opened it for the first time, you can integrate the WiFi enrollment as part of your app onboarding or sign-up experience, if any.
As soon as the user sign-up/sign-in in your app, you can present the user a screen that invites him to enroll in the WiFi service. At that point, you can initialize the user in Cloud4Wi using the proper method and then invoke the method to install the WiFi profile.
Here an axample of onboarding experience in the Cloud4Wi demo application
For existing users with the app already installed, you should create an onboarding experience triggered by a call to action. For example, you can:
send a push notification to the user informing them about the new WiFi service
show a menu or a banner in the app
Below is an example of a user experience that includes a menu icon to prompt the user to enroll in the WiFi service, which then presents the user with an informative screen before installing the WiFi profile on the device.
Note that the WiFi activation process is required only once, so it is not advised to create static banners or menus that remain visible also after the WiFi service activation.
The WiFi SDK provides a method (getCreatedWPA2EnterpriseProfiles or getPasspointProfiles) to verify if the WiFi Profile is currently installed or not. If the WiFi Profile is already installed, for example, you can hide the banner/link/menu item.
Operative System Alerts
The native OS alert that appears to the user to confirm the WiFi profile installation depends on the OS (iOS or Android), OS version, and, in the case of Android, eventually also on the smartphone vendor.
When the Profile is installed by the SDK, Android 10 doesn't prompt any immediate action. When a supported network is in range, Android triggers a silent notification that suggests the user to connect to a WiFi network.
Because the notification may appear with some delay after the profile installation, we advise instructing the user with a dedicated screen explaining the steps required to finalize the enrollment.
In Android 11, as soon as the profile is installed, the device prompts an overlay on the current screen that immediately asks the user to accept to connect to suggested networks.