Aktivera kommunikationsåtgärder för kontakter

Kontaktannoteringar beskriver de kommunikationsåtgärder som en app stöder för en kontakt, till exempel att visa en profil, att skicka meddelanden eller ringa. Den här artikeln visar hur du deklarerar dessa funktioner och hur Windows öppnar den relevanta kontakten i din app.

Innan du börjar, lägg till dina kontakter i Windows.

Deklarera kommunikationsoperationer som stöds

Appar kan deklarera de kommunikationsfunktioner som stöds för en kontakt med hjälp av egenskapen SupportedOperations i ContactAnnotation.

Egenskapen SupportedOperations anger vilka typer av kommunikationsåtgärder som appen stöder för att interagera med en kontakt. Dessa åtgärder definieras av uppräkningen ContactAnnotationOperations .

Eftersom ContactAnnotationOperations är en uppräkning av flaggor kan flera åtgärder kombineras med operatorn binary OR (|). Detta gör att appar kan ange alla kommunikationsfunktioner som stöds för en kontakt i en enda anteckning. Mer information om den här egenskapen finns i API-referensen för ContactAnnotation.SupportedOperations.

I följande exempel visas hur du deklarerar de kommunikationsåtgärder som stöds för en 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);

I det här exemplet deklarerar anteckningen till Windows att appen har stöd för att visa kontaktprofilen, skicka meddelanden, ringa ljud- eller videosamtal och få åtkomst till uppdateringar av sociala flöden för den angivna kontakten.

Appar bör ange vilka åtgärder som stöds för att korrekt representera de interaktions- och kommunikationsfunktioner som är tillgängliga för kontakten i appen.

Hantera aktivering av kommunikation

När användare väljer en kommunikationsåtgärd från en Windows yta startar Windows appen med hjälp av ett registrerat URI-protokoll och skickar kontaktens RemoteId till appen.

Följande URI-scheman motsvarar ContactAnnotationOperations värden.

Operation URI-schema SupportedOperations flagg
Call ms-voip-call: AudioCall
Video ms-voip-video: VideoCall
Message ms-ipmessaging: Message
Profile ms-contact-profile: ContactProfile

Om en app till exempel deklarerar AudioCall | VideoCallkan Windows aktivera appen med en URI, till exempel:

ms-voip-video:<RemoteId>

<RemoteId> är samma RemoteId värde som du lagrade på ContactAnnotation. Använd den för att hitta motsvarande användare eller konversation i din app och starta den begärda upplevelsen.

Registrera endast URI-scheman för åtgärder som din app stöder. Windows visar bara en kommunikationsåtgärd när den matchande protokollregistreringen är tillgänglig.

Registrera URI-scheman

Deklarera varje URI-schema i paketmanifestet som ett windows.protocol tillägg. I följande exempel registreras protokoll för profilvisning, meddelanden, ljudsamtal och videosamtal.

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