Попытка обнаружения и запуска DIAL на телевизоре Sony Bravia (Android). ПРИМЕЧАНИЕ. Не пытаюсь использовать Google Cast... но пытаюсь использовать DIAL для обнаружения и запуска установленного приложения. Обнаружение UDP ПОИСК дает мне это.
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=1800
DATE: Mon, 15 Aug 2016 19:09:52 GMT
EXT:
LOCATION: http: // 10.180.12.183:8008 /ssdp/device-desc.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: 4185dfde-1dd2-11b2-845e-c7225b044ee1
SERVER: Linux/3.10.27, UPnP/1.0, Portable SDK for UPnP devices/1.6.18
X-User-Agent: redsonic
ST: urn:dial-multiscreen-org:service:dial:1
USN: uuid:25664941-9d79-be82-aab6-39c4cdda7052::urn:dial-multiscreen-org:service:dial:1
BOOTID.UPNP.ORG: 0
CONFIGID.UPNP.ORG: 1869286273
Получение МЕСТОПОЛОЖЕНИЯ http://10.180.12.183:8008/ssdp/device-desc.xml дает мне этот заголовок:
Application-Url: http: // 10.180.12.183:8008 /apps/
Content-Length: 1081
Content-Type: application/xml
Содержание этого ответа таково:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http: // 10.180.12.183:8008 </URLBase>
<device>
<deviceType>urn:dial-multiscreen-org:device:dial:1</deviceType>
<friendlyName>MySonyTv</friendlyName>
<manufacturer>Sony</manufacturer>
<modelName>BRAVIA 4K 2015</modelName>
<UDN>uuid:25664941-9d79-be82-aab6-39c4cdda7052</UDN>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>98</width>
<height>55</height>
<depth>32</depth>
<url>/setup/icon.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:dial-multiscreen-org:service:dial:1</serviceType>
<serviceId>urn:dial-multiscreen-org:serviceId:dial</serviceId>
<controlURL>/ssdp/notfound</controlURL>
<eventSubURL>/ssdp/notfound</eventSubURL>
<SCPDURL>http: // www .google.com/ cast</SCPDURL>
</service>
</serviceList>
</device>
</root>
В соответствии с правилами протокола DIAL для служб DIAL REST я должен ПОЛУЧИТЬ информацию о своем приложении, используя это:
http: // 10.180.12.183:8008 /apps/MyAppName
Но я получаю «404: Не найдено» и пустой текстовый ответ. Если я поставлю «YouTube» или «Netflix» в качестве суффикса вместо MyAppName, я получу осмысленный XML-ответ.
Как только я получу хороший ответ на стандартный запрос DIAL REST GET, я надеюсь выполнить DIAL REST POST для того же URL-адреса, чтобы запустить свое приложение — точно так же, как я смог сделать с другими устройствами, поддерживающими DIAL.
Мои вопросы (надеюсь, для сотрудников Sony или экспертов-разработчиков Sony, знакомых с DIAL на телевизорах Sony на базе Android. Мне не нужно общее руководство по DIAL по обнаружению/запуску на стороне клиента и знать, как написать сервер DIAL, если я решу это делать):
Действительно ли телевизоры Sony на базе Android поддерживают DIAL (а не только Google Cast V2 или V3)? Если да, то какое свойство в моем приложении Android на телевизоре представляет имя приложения, которое я должен использовать в суффиксе DIAL REST?
Нужна ли мне какая-то дополнительная запись в AndroidManifest.xml моего телевизионного приложения или, возможно, также дополнительный ресурс (аналогично Amazon Fire TV, требующему ресурс xml/whisperplay.xml, который содержит запись xml «dial/application/dialid», которая используется Сервер Fire DIAL для обнаружения/запуска)?
Что еще вы можете рассказать мне об уникальных аспектах реализации сервера DIAL в телевизорах Sony на базе Android?
ПРИМЕЧАНИЕ. Помните... Google Cast меня не интересует - мне нужно запустить приложение, а не просто транслировать стандартное видео. Кроме того, я рад использовать собственный механизм обнаружения / запуска, который может предложить Sony ... но тогда мне нужно знать, как этот механизм работает, поэтому был бы признателен за ссылку, если это решение.