Android, Chromebook & iOS Device Support
The new Solution Builder SDK & API now facilitates mobile app tools. If your license includes mobile support, follow the guide below to enable it.
Including Android, Chromebook & iOS Device Support in Your Launch Code
Android & Chromebook
In your callback: function (see SPLauncher Properties) you will need to include mobileAppInstallUrl = result.appInstallUrl; in your final else statement, for the failed result type, as you can see exampled below.
callback: function (result) {
var resultType = result.type;
if (resultType=='failed') {
if (...) {
...
}
else {
mobileAppInstallUrl = result.appInstallUrl
}
}This will return the correct mobile store install URL depending on the device type that clicked the launch link.
From there, it is up to you how you expose this URL to the user, and any messaging you provide to help then understand the installation link Behavior.
iOS
iOS requires a unique flow in order to support a standard <a> tag href to trigger deeplinking.
In your callback: function (see SPLauncher Properties) you will need to include an additional else if check before the last else statement you would edit for Android & Chromebook support.
callback: function (result) {
var resultType = result.type;
if (resultType=='failed') {
...
else if (result.mobileLaunchUrl) {
// This is special case for iOS where we have to show a <a> link with href set to this URL to get
// ios deeplinking to work.
resultType = 'ios-launch-app';
document.getElementById('ios-launch-app-link').href = result.mobileLaunchUrl;
}
else {
mobileAppInstallUrl = result.appInstallUrl
}
}Install Link Behavior
Installation
As stated above, when an Android, Chromebook, or iOS device encounters a launch link, and the user does not have the ScreenPal Application installed, the callback will fail. You will be provided download link to pass on to the user.
You may want to provide some additional instruction to the user, such as:
- Please click the download link (iOS follows the link automatically) and install the ScreenPal app from the app store.
- Once you are finished, come back to this page.
- Press the launch button again to load the application and unlock it.
Here is an example of this implemented on the same page with the Android & Chromebook launch link:
<div id="failed" style="display:none;">
<b>Failed to launch. Did you have our app installed?</b><br>
<br>
<ol>
<li>Please click the download link and install the ScreenPal app from the app store.</li>
<li>Once you are finished, come back to this page.</li>
<li>Press the launch button again to load the application and unlock it.</li>
</ol>
<br>
<a href="javascript:download()">Download now</a>
</div>You can see this behavior in action on our example page.
Here is an example of an iOS launch link triggered by the callback you implemented before:
<div id="ios-launch-app" style="display:none;">
<b>Click the link below to launch or install the app on iOS</b><br>
<br>
<ol>
<li>If you are taken to the app store, install the app.</li>
<li>Once you are finished, come back to this page.</li>
<li>Press the launch button again to load the application and unlock it.</li>
</ol>
<a id="ios-launch-app-link" href="">Launch or Install the App</a>
</div>Opening and Unlocking the Application
Once the app is installed, when a user clicks on a button or link you have implemented, the app on the device will open.
Once opened, the app will unlock the paid features that are available, and in-app upsells or purchase flows are removed.
Currently, any custom publish implementation that would show in the desktop apps, will not be displayed. The available export/share options are as follow:
- Android: Operating System Share Modal
- Chromebook : Save Video to File
- iOS: Operating System Share Modal
Note: Deep Linking - Workflows are not supported by the Android, Chromebook, and iOS apps.
The applications will launch, but they will just launch into the main UI, regardless of the selected workflow.