Mengaktifkan tindakan komunikasi untuk kontak

Anotasi kontak menjelaskan tindakan komunikasi yang didukung aplikasi untuk kontak, seperti menampilkan profil, mengirim pesan, atau melakukan panggilan. Artikel ini memperlihatkan cara mendeklarasikan kemampuan tersebut dan cara Windows membuka item kontak yang relevan di aplikasi Anda.

Sebelum memulai, tambahkan kontak Anda ke Windows.

Mendeklarasikan operasi komunikasi yang didukung

Aplikasi dapat mendeklarasikan kemampuan komunikasi yang didukung untuk kontak dengan menggunakan properti SupportedOperations di ContactAnnotation.

Properti SupportedOperations menentukan jenis tindakan komunikasi yang didukung aplikasi untuk berinteraksi dengan kontak. Operasi ini didefinisikan oleh enumerasi ContactAnnotationOperations .

Karena ContactAnnotationOperations merupakan enumerasi bendera, beberapa operasi dapat digabungkan menggunakan operator BINER OR (|). Ini memungkinkan aplikasi untuk menunjukkan semua kemampuan komunikasi yang didukung untuk kontak dalam satu anotasi. Untuk informasi selengkapnya tentang properti ini, lihat referensi API untuk ContactAnnotation.SupportedOperations.

Contoh berikut menunjukkan cara mendeklarasikan operasi komunikasi yang didukung untuk kontak.

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

Dalam contoh ini, anotasi menyatakan kepada Windows bahwa aplikasi mendukung melihat profil kontak, mengirim pesan, melakukan panggilan audio atau video, dan mengakses pembaruan umpan sosial untuk kontak yang ditentukan.

Aplikasi harus mengatur operasi yang didukung untuk secara akurat mewakili kemampuan interaksi dan komunikasi yang tersedia untuk kontak dalam aplikasi.

Tangani aktivasi komunikasi

Saat pengguna memilih tindakan komunikasi dari permukaan Windows, Windows meluncurkan aplikasi Anda dengan menggunakan protokol URI terdaftar dan meneruskan RemoteId milik kontak ke aplikasi.

Skema URI berikut sesuai dengan nilai ContactAnnotationOperations.

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

Misalnya, jika aplikasi mendeklarasikan AudioCall | VideoCall, Windows dapat mengaktifkan aplikasi dengan URI seperti:

ms-voip-video:<RemoteId>

<RemoteId> adalah nilai RemoteId yang sama yang Anda simpan di ContactAnnotation. Gunakan untuk menemukan pengguna atau percakapan yang sesuai di aplikasi Anda dan memulai pengalaman yang diminta.

Daftarkan skema URI hanya untuk operasi yang didukung aplikasi Anda. Windows menampilkan tindakan komunikasi hanya ketika pendaftaran protokol yang cocok tersedia.

Daftarkan skema URI

Deklarasikan setiap skema URI dalam manifes paket sebagai windows.protocol ekstensi. Contoh berikut mendaftarkan protokol untuk melihat profil, olahpesan, panggilan audio, dan panggilan video.

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