Developer:KazooIntegrationOnIos

From LinnDocs
Revision as of 11:24, 10 July 2014 by Davidd (talk | contribs) (URL Specification)
Jump to: navigation, search

Introduction

This article describes how developers of integration controller apps on iOS can provide full integration for customers with Linn systems.

A 3rd party controller app can provide control of a Linn system using the OpenHome Media specification. However for the best customer experience, we would recommend using the iOS custom URL scheme specified in this document to allow a user to launch Kazoo. Once Kazoo has launched the user can return to the controller app by clicking the back button at the top of the screen. The back button is only visible when Kazoo is launched using the iOS custom URL scheme.

URL Specification

The table below to construct a custom URL to launch Kazoo.

scheme kazoo Launch Kazoo
host launch Add a back button
query keys title Title to be shown in title bar (optional)
backButton Text to be shown in back button
returnUrl URL to launch or re-open controller app
room Room to be select on launch of Kazoo (optional)
server Media server to be select on launch of Kazoo (optional)
select Name of UI screen to select (optional)
home, music, radio, multi room etc
location Location to browse to in the selected UI screen (optional)

All query key values must be escaped to be used in a URL.

If any of the optional keys are not specified Kazoo will default where the user was last time that Kazoo was launched.

Note that query keys "select" and "location" do not work as expect in Kazoo 4.1.504.

Examples

To open Kazoo and enable a user to return to a fictional controller app, "Integrater App", with a URL scheme, integrater, you would use the following Kazoo URL scheme,

kazoo://launch?backButton=Integrator App&returnUrl=integrator://

A particular room can be selected, as follows,

kazoo://launch?backButton=Integrator App&returnUrl=integrator://&room=Sitting Room

Starting in the radio station selection screen, as follow,

kazoo://launch?backButton=Integrator App&returnUrl=integrator://&room=Sitting Room&select=radio

A particular server in the "Album" container can be selected, as follows,

kazoo://launch?backButton=Integrator App&returnUrl=integrator://&room=Sitting Room&server=Media Library&select=music&location=/Album