API Orang Lintas Perangkat
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 3, UWP, dan aplikasi lain pihak ketiga dengan identitas paket dengan API untuk menyimpan semua kontak mereka.
Penting
Beberapa informasi berkaitan dengan produk prarilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Catatan
Aplikasi dapat mencoba fitur ini segera setelah dirilis ke Program Windows Insider (Saluran Beta) di pengaturan Windows Update (lihat Mulai menggunakan Program Windows Insider untuk informasi selengkapnya).
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 Orang
Mulailah dengan membuat akun data pengguna. Aplikasi pihak ketiga diperlukan untuk membuat UserDataAccount dengan UserDisplayName
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:
FirstName
RemoteId
DisplayPicture
Bidang berikut bersifat opsional:
LastName
Phones
Emails
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
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 sebagai 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.
-
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();
Membuat baru
ContactAnnotationList
. Ikuti langkah-langkah di bagian Menyimpan peringkat untuk kontak untuk membuat daftar anotasi baru dan menyimpan peringkat untuk kontak teratas Anda.
Lihat juga
Windows developer
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk