I rely on device types to figure out what type of view / controls to display for the plugin. I create custom views based on these device types and other 3rd party apps do something similar. I would need to add dedicated code to to support the plugin. By using the standard service types defined by upnp and MCV, it will make things much easier to support. Every plugin needs to have a unique device id / type. Here are service types to look into:
Look at the Sonos, Squeezebox, Russound plugins for examples on how to use these. Sonos and Squeezebox would be the better choices to start with.
For the inputs, you would use InputSelection1, the inputs range from input1 - 10 and some discrete inputs. I currently support Input[1-10].
Just submitted version 1.3 which adds support for the following service id's
I haven't implemented AV transport. Still looking into it. I hope that I can get support within your app. If I have to change the device type I can. Don't know if that changes anything in your app code.
Looking to change my device type to "urn:schemas-micasaverde-com:device:receiver:1"
so that all receiver apps can be supported by your android app. With the base serviceIDs implemented it should be easier to support all the receiver plugins. I think that would make your coding job easier. I don't know what you think of that but I hope I am heading in the right direction.
Just tested your app with on/off, volume, and mute control. My beta version 1.3 seems to work. If you could give me any feedback, I would greatly appreciate it.