The Wikipedia Zero experience would benefit from less transient notifications. In the current implementation, notifications may be entirely hidden behind an active link preview easily, for example. The system status bar seems an obvious improvement.Acceptance criteria:
I* When the new implementationapp joins a Zero network, on page load (or network request,it will show a notification in the system status bar. if not possible):This notification can then persist independently of the lifecycle of the app's activities.
- When a header supports Zero and** Tapping on the body of the notification will relaunch the state has changedapp if it's closed, show a or updateor bring the app to the current notificationforeground if it's already open.
- When a header doesn't support Zero and the state has changed, show a or update the current notification** The notification will contain verbiage defined by the Comms and Partnerships teams.
- When the app is backgrounded** The notification will contain an "action" button that will lead the user to a URL hosted by us (opened in the default Browser app) that will contain detailed information about W0, including information specific to the carrier that is being used.
** The accent color of the notification, as well as the LED blink color, will be defined by the carrier.
* When the app exits a Zero network, the notification will change its verbiage to reflect the fact that the user is no longer on a zero-rated network. (If the previous "enter" notification was dismissed by the user, this "exit" notification will be re-issued.)
* The very *first* time that the user joins a Zero network, we will show a pop-up dialog with some "welcome" verbiage about W0, and a "Learn more" button to go to the FAQ page (this is in addition to the W0 notification). For subsequent joins/exits from Zero networks, dismiss any notification and clear state so the appno popup message will operate identically as if launched for the first time when foregroundedbe shown (and only the notification is shown). It would be nice if all notifications could be suppressed when in the background state to avoid issues with saved pages service and other background tasks showing a notification when the user is not actively using the app.The verbiage in the notification itself will be defined by Comms and Partnerships (it will not use the carrier-defined message).
* Our "exit interstitial" behavior (warning the user that navigating to an external link will incur data rates) will remain unchanged.