Запуск Dynamics 365 Remote Assist из другого приложения (активация протоколов)
Совет
У пользователей Dynamics 365 Remote Assist теперь есть доступ к Remote Assist в мобильном приложении Microsoft Teams. Используйте все возможности Teams для совместной работы с другими пользователями! Для наиболее комфортного осуществления вызовов в HoloLens используйте Dynamics 365 Guides.
С помощью Guides удаленные эксперты могут помогать вам решать проблему, в то время как перед вами находится голографическое содержимое руководства.
Примечание
Azure Active Directory теперь называется Microsoft Entra ID. Подробнее
Вы можете внедрить в свое приложение HoloLens, iOS или Android код для переключения на Microsoft Dynamics 365 Remote Assist и начала вызова с использованием универсального кода ресурса (URI).
Например, предположим, что вы создаете приложение для технического обслуживания вертолетов. В него можно добавить кнопку, которую инженер по обслуживанию сможет нажать в случае затруднений, чтобы позвонить более опытному специалисту. Эта кнопка будет запускать Dynamics 365 Remote Assist и вызывать указанного специалиста.
Активация протоколов HoloLens
Приложение Dynamics 365 Remote Assist для HoloLens поддерживает два метода активации протоколов:
ms-voip-video (для видеовызовов);
ms-voip-call (для обычных аудиовызовов).
Для обоих методов используется одинаковая схема аргументов, принимающая поле contactID. URI будет выглядеть следующим образом:
ms-voip-video:?contactids=\<contactID\>
ИД контакта — это ИД объекта Microsoft Entra пользователя.
Пример кода
Код нужно внедрить в приложение HoloLens. Следующий пример кода написан на языке C++, но его легко адаптировать под другой язык.
Platform::String\^ id = objectId-\>Text;
auto uri = ref new Windows::Foundation::Uri("ms-voip-video:?contactids=" + id);
resultText-\>Text = uri-\>AbsoluteUri;
concurrency::task\<bool\> launchUriOperation(Windows::System::Launcher::LaunchUriAsync(uri));
launchUriOperation.then([this](bool success)
{
if (success)
{
// URI launched
resultText-\>Text += " (URI Launched)";
}
else
{
// URI launch failed
resultText-\>Text += " (FAILED)";
}
});
Чтобы совершить обычный вызов, а не видеовызов, используйте следующий URI: ms-voip-call:?contactids=
Возврат в приложение по завершении вызова
Можно включить необязательное поле returnto
, чтобы по завершении вызова приложение Dynamics 365 Remote Assist возвращало управление вашему приложению. Это позволяет пользователям начинать и завершать работу в вашем приложении без переключения между приложениями вручную.
Для поддержки поля returnto
вам нужно зарегистрировать свое приложение с пользовательским URI (см. статью Регистрация приложения с пользовательским URI).
Затем нужно будет включить необязательное поле returnto
с именем зарегистрированного приложения, полученным на предыдущем шаге. В примере ниже helicoptor-maintenance-app — это зарегистрированный URI:
ms-voip-call:?contactids=<CONTACT_ID>&returnto=helicoptor-maintenance-app");
Пример запуска Dynamics 365 Remote Assist из приложения с необязательным полем returnto
Следующий пример кода написан на языке C++, но его легко адаптировать под другой язык.
Platform::String^ id = objectId->Text;
auto uri = ref new Windows::Foundation::Uri("ms-voip-video:?contactids=" + id + &returnto=helicoptor-maintenance-app");
resultText->Text = uri->AbsoluteUri;
concurrency::task<bool> launchUriOperation(Windows::System::Launcher::LaunchUriAsync(uri));
launchUriOperation.then([this](bool success)
{
if (success)
{
// URI launched
resultText->Text += " (URI Launched)";
}
else
{
// URI launch failed
resultText->Text += " (FAILED)";
}
});
Совершение вызова для тестирования кода
Запустите приложение на HoloLens.
Инициируйте вызов из своего приложения.
HoloLens закроет ваше приложение, откроет приложение Dynamics 365 Remote Assist (если оно еще не открыто), и выполнит вход в систему.
После загрузки панели контактов Dynamics 365 Remote Assist инициирует вызов указанного контакта.
Дополнительные сведения о запуске приложения с использованием URI см. в статье Запуск приложения с помощью URI.
Активация протоколов iOS и Android
Мобильное приложение Dynamics 365 Remote Assist поддерживает два метода активации протоколов:
- ramobile (используется, когда известно, что приложение Remote Assist Mobile уже установлено на устройстве);
- https://call.d365ra.com/link" (используется, когда неизвестно, есть ли на устройстве приложение Remote Assist Mobile).
Схема аргументов для обоих методов принимает необязательное поле contactSearch
, которое представляет собой массив строк в формате JSON, используемый для поиска контакта.
{ "contactSearch":[ "supportContact@microsoft.com"] }
Пример
В этом примере мы выполним поиск контакта. Нам нужно включить параметр contactSearch
, который представляет собой массив поисковых строк.
- Прежде всего мы сформируем строку JSON:
{
"contactSearch":[
"Jill Smith",
"jillsmith@microsoft.example"
]
}
- Строка JSON кодируется в Base64.
ewogICJjb250YWN0U2VhcmNoIjpbCiAgICAiSmlsbCBTbWl0aCIsCiAgICAiamlsbHNtaXRoQG1pY3Jvc29mdC5leGFtcGxlIgogIF0KfQo=
3а. Чтобы использовать метод ramobile, добавьте кодированную в Base64 строку к ramobile:, чтобы сформировать новый URI.
"ramobile:ewogICJjb250YWN0U2VhcmNoIjpbCiAgICAiSmlsbCBTbWl0aCIsCiAgICAiamlsbHNtaXRoQG1pY3Jvc29mdC5leGFtcGxlIgogIF0KfQo=";
Когда пользователь выберет эту ссылку, Remote Assist Mobile запустится, выполнит поиск указанного контакта и предоставит пользователю результаты.
3б. Для использования метода с прямой HTTPS-ссылкой необходимо добавить кодированную в Base64 строку в качестве значения к ключу d.
"https://call.d365ra.com/link?d=ewogICJjb250YWN0U2VhcmNoIjpbCiAgICAiSmlsbCBTbWl0aCIsCiAgICAiamlsbHNtaXRoQG1pY3Jvc29mdC5leGFtcGxlIgogIF0KfQo=";
Когда пользователь выберет эту ссылку и приложение Remote Assist Mobile не установлено, откроется окно веб-браузера, в котором пользователю будет предложено установить Remote Assist Mobile. После установки приложения пользователь может нажать еще одну кнопку, чтобы запустить Remote Assist Mobile, выполнить поиск указанного контакта и получить результаты. Если приложение Remote Assist Mobile уже установлено, оно запустится, выполнит поиск указанного контакта и предоставит пользователю результаты.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по