Web view is part of the campus mobile app: it takes content from the internet and uses the phone’s browser engine to show it in the app.
A browser engine is like an internet browser, such as Chrome or Safari, but without the full set of features. Many different apps use the browser engine, not just the campus app. A browser engine is a standard part of every smartphone’s operating system.
The operating system is the base software on the smartphone that controls everything else. The browser engine can change depending on the operating system.
Why is Web View important?
Web view depends on the student’s phone operating system. Two students may be running the same campus app, but if they have two different phones, they might have different browser engines. In this case, web view might behave two different ways within the same campus app. Content in the campus app may appear differently to each student.
It’s important to understand what kind of issues are possible. For example:
- Certain content in the app can display differently from phone to phone
- Limitations in web view may translate to limitations in the campus app
- The browser engine used by web view can be updated independently of the campus app, so students may find “things have changed” even if they haven’t updated the app
For what to do in this case, see “Troubleshooting Steps” and “Known Issues” below.
Where is Web View used in the campus app?
Web View appears in the campus app in the following places:
- Campus Guide tiles, specifically In-app Web Links (see Figure 1)
- Integrated content in My Courses, such as Enrollment, Bursar, Holds, Financial Aid, Directory, and others
Figure 1: Campus Cloud Studio showing creation of a Web Link tile, of the “In-app link” type. In-app links can have issues with Web View. See Troubleshooting Steps, below.
Identifying issues with Web View
If students report issues in the following areas, you may have reason to suspect web view. The “symptoms” may vary within these affected areas.
- Campus Guide tiles
- Custom web apps developed by a third party and shown in the campus app
- Integrated modules within My Courses (such as: directory, holds, bursar, financial aid, enrollment, or course catalog)
If you suspect an issue with web view, follow the troubleshooting steps below. Please also refer to the list of known issues with web view.
Follow this section for steps to troubleshoot campus guide tiles, and custom content displayed in the app.
Campus Guide tiles
Some possible issues include:
- If you create a tile linking to a file for students to download, the file might not download
- If you link to a web page, the page might appear different on some phones
- If you link to a web page with advanced functionality, it might work differently on some phones or not at all
Troubleshooting steps for campus guide tiles are always the same:
- In Campus Cloud, click Studio, then click App Experiences
- Find your app experience in the list, and click Customize
- Find the malfunctioning tile and click Edit
- For Web Link tiles, change the tile type from “In-App Link” to “External Link”
- Click Save
When you view the tile in the campus mobile app, tapping it will open the link in an external browser. This bypasses any issues resulting from web view.
Custom Content developed for the app
Your school may have developed custom content for use in the campus app. These typically take the form of web applications that the app shows using web view. Limitations in web view may cause issues with these web applications. This can include:
- If you use a web application in the campus app, it looks differently on some phones than on others
- The application may work differently on some phones than on others.
- Or it may not work on some phones at all
There are two ways to proceed:
- Like for campus guide tiles, you can change the tile type to be an external link, rather than an in-app link. The campus app will open an external browser to show the content. This bypasses web view.
- You can work with the web application developer to resolve compatibility issues between different browser engines
You may also want to refer to our list of known issues, below.
The Support team at Ready Education is aware of the following issues resulting from limitations in web view. This is not an exhaustive list. We add to the list whenever a new issue is uncovered.
PDF files in campus guide tiles do not display on Android
The solution for this issue is to use Campus Cloud Studio to ensure the PDF files are linked as an “External Link” rather than an in-app link. A limitation with Android WebView means students cannot download PDF files as an in-app link. However, there is no issue downloading files as an external link.
Follow the instructions in Troubleshooting Steps, above
In-app browsers do not display some content on one device, whereas content does appear on other devices
To use the in-app browser to display custom content, remember that the web page must display properly on all devices, including web view on iOS and Android. If content is not displaying properly on a specific device, consider troubleshooting the web page and making it compatible with all devices. Or, consider contacting the page developer to report an issue with the page content.
User is prompted to log in again to D2L SSO integration SSO
In this case, users were being prompted to log in for a second time after trying to access integrated content from an LMS. The root cause of the problem was a limitation in the browser engine used by web view (specifically, the issue was with session-specific cookies). The root cause of this issue was a change to the iOS browser engine. When a user updated their version of iOS, they updated the browser engine, which changed the behaviour of the campus app unexpectedly. To fix this problem, Ready Education must re-engineer the campus app and deliver a solution to accommodate this use case.
Here are technical details about how web view is implemented on the iOS and Android versions of the campus mobile app. Note: The campus app will always use the most updated components available on the student’s smartphone.
Web View on iOS
The iOS app uses WKWebView to fetch information from the internet and display it in the app. Technical documentation for WKWebView is available here:
WKWebView uses a browser engine that is hosted at the system level, not in the app, and it will change depending on the version of iOS. Two students, with two different versions of iOS, may experience the same content differently.
Web View on Android
The Android app uses the system WebView component with the Chrome Client implementation. Technical documentation is available here:
Android’s web view component uses a browser engine that is hosted at the system level, not in the app, and it will change depending on the version of Android. Two students, with two different versions of Android, may experience the same content differently.