Запуск Dynamics 365 Remote Assist из другого приложения (активация протоколов)

Совет

У пользователей Dynamics 365 Remote Assist теперь есть доступ к Remote Assist в мобильном приложении Microsoft Teams. Используйте все возможности Teams для совместной работы с другими пользователями! Для наиболее комфортного осуществления вызовов в HoloLens используйте Dynamics 365 Guides.

С помощью 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)";
    }     
});  

Совершение вызова для тестирования кода

  1. Запустите приложение на HoloLens.

  2. Инициируйте вызов из своего приложения.

  3. HoloLens закроет ваше приложение, откроет приложение Dynamics 365 Remote Assist (если оно еще не открыто), и выполнит вход в систему.

  4. После загрузки панели контактов 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, который представляет собой массив поисковых строк.

  1. Прежде всего мы сформируем строку JSON:
	{
      "contactSearch":[
        "Jill Smith",
        "jillsmith@microsoft.example"
      ]
    }
  1. Строка 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 уже установлено, оно запустится, выполнит поиск указанного контакта и предоставит пользователю результаты.