Povolit komunikační akce pro kontakty

Anotace kontaktů popisují komunikační akce, které aplikace podporuje pro kontakt, například zobrazení profilu, zasílání zpráv nebo volání. Tento článek ukazuje, jak deklarovat tyto možnosti a jak Windows otevře příslušný kontakt ve vaší aplikaci.

Než začnete, přidejte své kontakty do Windows.

Deklarujte podporované komunikační operace

Aplikace můžou deklarovat možnosti komunikace podporované pro kontakt pomocí vlastnosti SupportedOperations v ContactAnnotation.

Vlastnost SupportedOperations určuje typy komunikačních akcí, které aplikace podporuje pro interakci s kontaktem. Tyto operace jsou definovány výčtem ContactAnnotationOperations.

Vzhledem k tomu, že ContactAnnotationOperations je výčet příznaků, lze více operací kombinovat pomocí binárního operátoru OR (|). To umožňuje aplikacím označit všechny podporované komunikační funkce kontaktu v jedné anotaci. Další informace o této vlastnosti naleznete v referenčních informacích k rozhraní API pro ContactAnnotation.SupportedOperations.

Následující příklad ukazuje, jak deklarovat podporované komunikační operace pro kontakt.

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);

V tomto příkladu anotace deklaruje systému Windows, že aplikace podporuje zobrazení profilu kontaktu, odesílání zpráv, hlasové hovory nebo videohovory a přístup k aktualizacím sociálního kanálu pro zadaný kontakt.

Aplikace by měly nastavit podporované operace tak, aby přesně představovaly možnosti interakce a komunikace, které jsou pro kontakt v aplikaci k dispozici.

Zpracovat aktivaci komunikace

Když uživatelé vyberou komunikační akci z prostředí Windows, Windows spustí vaši aplikaci pomocí registrovaného protokolu URI a předá vaší aplikaci údaj o kontaktu RemoteId.

Následující schémata identifikátoru URI odpovídají hodnotám ContactAnnotationOperations .

Operation Schéma identifikátoru URI SupportedOperations vlajka
Call ms-voip-call: AudioCall
Video ms-voip-video: VideoCall
Message ms-ipmessaging: Message
Profile ms-contact-profile: ContactProfile

Pokud například aplikace deklaruje AudioCall | VideoCall, Windows může aplikaci aktivovat pomocí identifikátoru URI, například:

ms-voip-video:<RemoteId>

<RemoteId> je stejná RemoteId hodnota, jakou jste uložili v ContactAnnotation. Použijte ho k vyhledání odpovídajícího uživatele nebo konverzace v aplikaci a spuštění požadovaného postupu.

Zaregistrujte schémata identifikátorů URI jenom pro operace, které vaše aplikace podporuje. Windows zobrazí komunikační akci pouze v případech, kdy je k dispozici odpovídající registrace protokolu.

Zaregistrujte schémata URI

Deklarujte každé schéma identifikátoru URI v manifestu balíčku jako rozšíření windows.protocol. Následující příklad zaregistruje protokoly pro zobrazení profilu, zasílání zpráv, audio volání a videohovory.

<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>