Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Windows adalah platform ideal bagi aplikasi pihak ketiga untuk mengintegrasikan kontak orang teratas mereka. Integrasi ini memungkinkan pengguna berinteraksi dengan persona untuk berbagai pengalaman orang. Windows sekarang menyediakan WinUI pihak ketiga dan aplikasi lain dengan identitas paket dengan API untuk menyimpan semua kontak mereka.
Setelah aplikasi Anda menyimpan kontak mereka di Windows, pengguna akan dapat melihat saran kontak ini di panel Berbagi di Windows untuk berbagi dengan mulus dengan kontak teratas mereka. Lihat Cara berbagi file di File Explorer di Windows untuk informasi selengkapnya tentang panel Berbagi .
Membuat UserDataAccount untuk Kontrak Pengguna
Mulailah dengan membuat akun data pengguna. Aplikasi pihak ketiga diperlukan untuk membuat UserDataAccount dengan UserDisplayName berfungsi sebagai "com.microsoft.peoplecontract".
UserDataAccountStore udas =
await UserDataAccountManager.RequestStoreAsync(UserDataAccountStoreAccessType.AppAccountsReadWrite);
UserDataAccount uda = await udas.CreateAccountAsync("com.microsoft.peoplecontract");
Selanjutnya, tambahkan "com.microsoft.windows.system" ke daftar ExplictReadAccessPackageFamilyNames untuk akun tersebut. Ini akan memberikan akses terbatas dari kontak pihak ketiga ke pengalaman Windows.
uda.ExplictReadAccessPackageFamilyNames.Add("com.microsoft.windows.system");
await uda.SaveAsync();
Menyimpan kontak
Langkah pertama dalam menyimpan kontak adalah membuat daftar kontak. Untuk melakukan ini, aplikasi pihak ketiga harus membuat daftar kontak baru untuk UserDataAccount di ContactStore Windows. Aplikasi dapat memilih untuk menyimpan jenis akses default OtherAppReadAccess untuk daftar kontak, sambil mengaturnya None akan mencegah aplikasi lain memiliki akses ke kontak ini. Lihat enum ContactListOtherAppReadAccess untuk daftar lengkap jenis akses yang tersedia.
ContactStore store = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AppContactsReadWrite);
this.contactList = await store.CreateContactListAsync(contactListsName, uda.Id);
contactList.OtherAppReadAccess = ContactListOtherAppReadAccess.None;
await contactList.SaveAsync();
Saat menyimpan kontak, aplikasi pihak ketiga harus menyertakan semua informasi relevan yang diperlukan agar pengalaman Windows mendukung Kontak.
Bidang berikut diperlukan saat menyimpan kontak:
FirstNameRemoteIdDisplayPicture
Bidang berikut bersifat opsional:
LastNamePhonesEmails
Cuplikan kode ini menunjukkan cara menyimpan kontak:
foreach (var appContact in AppContacts)
{
var cont = new Contact
{
FirstName = appContact.FirstName,
LastName = appContact.LastName,
RemoteId = appContact.Id,
SourceDisplayPicture = RandomAccessStreamReference.CreateFromUri(new Uri(appContact.ProfilePicPath)),
Phones = { new ContactPhone { Number = appContact.Phone } }
};
await this.contactList.SaveContactAsync(cont);
}
Catatan
DisplayName untuk Kontak dibangun menggunakan FirstName dan LastName. Jika nama belakang tidak disediakan, DisplayName akan identik dengan string yang disediakan untuk nama depan.
Menyimpan peringkat untuk kontak
Anda dapat membuat daftar anotasi untuk UserDataAccount untuk menyimpan peringkat untuk kontak Anda. Aplikasi dapat menyimpan peringkat untuk kontak teratas mereka dengan menambahkan anotasi ke kontak. Anotasi ini disimpan sebagai bagian dari daftar anotasi di penyimpanan kontak.
ContactAnnotationStore annotationStore = await
ContactManager.RequestAnnotationStoreAsync(ContactAnnotationStoreAccessType.AppAnnotationsReadWrite);
this.contactAnnotationList = await annotationStore.CreateAnnotationListAsync(uda.Id);
Anda dapat menyimpan peringkat untuk kontak teratas Anda dengan menggunakan anotasi pada kontak. Peringkat disimpan sebagai bagian dari ProviderProperties pada anotasi kontak. Bersama dengan peringkat, aplikasi harus mengatur SupportedOperations pada anotasi kontak menjadi Share.
foreach (var appContact in topAppContacts)
{
Contact contact = await list.GetContactFromRemoteIdAsync(topAppContact.RemoteID);
var annotation = new ContactAnnotation
{
ContactId = contact.Id,
SupportedOperations = ContactAnnotationOperations.Share
};
annotation.ProviderProperties.Add("Rank", rank);
await annotationsLst.TrySaveAnnotationAsync(annotation);
}
Memperbarui peringkat kontak
Ini atas kebijakan aplikasi kapan harus memperbarui peringkat kontak yang disimpan di Windows. Windows merekomendasikan agar daftar peringkat diperbarui secara teratur untuk memberikan pengalaman pengguna terbaik. Setiap kali Anda perlu memperbarui daftar peringkat, Anda harus mengikuti beberapa langkah.
Hapus ContactAnnotationList.
Setelah aplikasi memiliki daftar kontak teratas yang diperbarui, daftar anotasi dapat dihapus dan daftar anotasi baru dengan anotasi yang diperbarui untuk kontak teratas mereka dapat dibuat.
await this.contactAnnotationList.DeleteAsync();Buat sebuah
ContactAnnotationListbaru. Ikuti langkah-langkah di bagian Menyimpan peringkat untuk kontak untuk membuat daftar anotasi baru dan menyimpan peringkat untuk kontak teratas Anda.
Konten terkait
Windows developer