Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Аннотации контакта описывают действия связи, которые приложение поддерживает для контакта, например просмотр профиля, обмен сообщениями или вызов. В этой статье показано, как объявить эти возможности и как Windows открывает соответствующий контакт в приложении.
Перед началом добавьте свои контакты в Windows.
Объявите поддерживаемые операции обмена данными
Приложения могут объявлять возможности связи, поддерживаемые контактом, с помощью свойства SupportedOperations в ContactAnnotation.
Свойство SupportedOperations задает типы действий связи, поддерживаемых приложением для взаимодействия с контактом. Эти операции определяются перечислением ContactAnnotationOperations .
Так как ContactAnnotationOperations это перечисление флагов, можно объединить несколько операций с помощью двоичного оператора OR (|). Это позволяет приложениям указывать все поддерживаемые возможности связи для контакта в одной аннотации. Дополнительные сведения об этом свойстве см. в справочнике по API для ContactAnnotation.SupportedOperations.
В следующем примере показано, как объявить поддерживаемые операции обмена данными для контакта.
var annotation = new ContactAnnotation
{
ContactId = contact.Id,
RemoteId = contact.RemoteId,
SupportedOperations =
ContactAnnotationOperations.ContactProfile |
ContactAnnotationOperations.Message |
ContactAnnotationOperations.AudioCall |
ContactAnnotationOperations.VideoCall |
ContactAnnotationOperations.SocialFeeds
};
await this.contactAnnotationList.TrySaveAnnotationAsync(annotation);
В этом примере аннотация сообщает Windows, что приложение поддерживает просмотр профиля контакта, отправку сообщений, выполнение аудио- или видеозвонков и доступ к обновлениям социального канала для указанного контакта.
Приложения должны задать поддерживаемые операции, чтобы точно представлять возможности взаимодействия и связи, доступные для контактной записи в приложении.
Обработать активацию соединения
Когда пользователи выбирают действие связи из области Windows, Windows запускает приложение с помощью зарегистрированного протокола URI и передает приложению данные контакта RemoteId.
Следующие схемы URI соответствуют значениям схемы ContactAnnotationOperations.
| Operation | Схема URI | ФлагSupportedOperations |
|---|---|---|
| Call | ms-voip-call: |
AudioCall |
| Видео | ms-voip-video: |
VideoCall |
| Message | ms-ipmessaging: |
Message |
| Profile | ms-contact-profile: |
ContactProfile |
Например, если приложение объявляетAudioCall | VideoCall, Windows может активировать приложение с помощью URI, например:
ms-voip-video:<RemoteId>
<RemoteId> — это то же значение RemoteId, которое вы сохранили на ContactAnnotation. Используйте его, чтобы найти соответствующего пользователя или беседу в приложении и запустить запрошенный сценарий.
Регистрируйте схемы URI только для операций, поддерживаемых приложением. Windows отображает действие связи только в том случае, если доступна регистрация соответствующего протокола.
Зарегистрируйте схемы URI
Объявите каждую схему URI в манифесте пакета как расширение windows.protocol. В следующем примере регистрируются протоколы для просмотра профилей, обмена сообщениями, аудиозвонка и видеозвонка.
<Extensions>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="ms-contact-profile">
<uap:DisplayName>TestProfileApp</uap:DisplayName>
</uap:Protocol>
</uap:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="ms-ipmessaging">
<uap:DisplayName>TestMsgApp</uap:DisplayName>
</uap:Protocol>
</uap:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="ms-voip-video">
<uap:DisplayName>TestVideoApp</uap:DisplayName>
</uap:Protocol>
</uap:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="ms-voip-call">
<uap:DisplayName>TestCallApp</uap:DisplayName>
</uap:Protocol>
</uap:Extension>
</Extensions>
Связанные материалы
Windows developer