Even with an intuitive user interface and a delightful app experience, sometimes your users might be confused or have questions. Xbox One has a standard, built-in method of showing Help information to users so that they don’t have to flip through printed manuals, sift through online search results, or contact your customer support.
App Help on Xbox One is presented using Help manuals, which are delivered over the network or cached locally for an offline experience. Help is relevant to the user’s current app, and can be context-sensitive down to individual menu items or locations in an app. Apps are required to submit a Help manual to XDP.
For information about Help manuals, and to download a sample manual, see the Game and App Help Technical Overview and Best Practices white paper download, available on XGD. (At XGD, search for the title of the white paper.)
Users gain access to your Help content on the console using a variety of methods. They can use voice (“Xbox Help!”), gesture, or a controller to invoke Help. Help will display primarily in snapped mode, taking up a part of the screen next to your app. If a user activates Help on the console while your app is in the snapped state, Help will open in fill mode, and will not change your app’s view mode. Help is also a required item on your app menu.
There is no system-wide gesture to access Help. For the user to invoke Help through a gesture, the app must have a menu, a gesture to get to the menu (such as press and hold), and a gesture to select the Help entry from the menu.
The ApplicationModel::Help class provides methods to launch the Help app to display your app’s Help manual or to display error information to the user.
The Show method launches the Help app and displays the calling app’s Help manual.
For context-sensitive help, work with your DAM to create a new event named “HelpContext” (or something similar) in the XDP configuration spreadsheet for your common logging library. This new event should include a string parameter named “HelpTopic” (or something similar). Ask your DAM to configure a statistic rule that takes a string parameter named “HelpTopic” for your “HelpContext” custom event and sets it on the preconfigured “CurrentHelpTopic” user statistic. From a development standpoint, you do not need to call the built-in SectionStart and SectionEnd events for context-sensitive help. Instead, call your new “HelpContext” event and set the desired help topic string that matches your help manual on the “HelpTopic” parameter. App Help looks up the value of that string in the index.html of your help manual.
The ShowForError method launches the Help app to assist the user in understanding or troubleshooting an error that occurred in the app. Error assistance is independent of the app’s Help manual, and the Help app will attempt to find helpful information for the user based on the error code reported. The context string (the contextId parameter) allows an app to provide an app-defined string that identifies the context the user is in. The context string is passed as post data to the Help service for logging purposes.
See the example code in Show and ShowForError.