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.
Aplikasi dengan identitas paket dapat menyimpan kontaknya di Windows. Kontak ini dapat muncul sebagai saran di People Widget, pencarian Windows, dan Share Sheet. Artikel ini memperlihatkan cara membuat akun data user, menyimpan kontak, dan mengonfigurasi akses untuk pengalaman Windows.
Buat UserDataAccount untuk kontrak People
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);
}
Note
DisplayName untuk Kontak dibangun menggunakan FirstName dan LastName. Jika nama belakang tidak disediakan, DisplayName akan identik dengan string yang disediakan untuk nama depan.
Privasi dan persetujuan
Hanya tambahkan kontak yang jelas disebutkan
Aplikasi Anda hanya boleh berkontribusi pada kontak yang telah ditambahkan atau diotorisasi pengguna secara eksplisit. Tidak pernah:
- Mengunggah seluruh buku alamat
- Menyinkronkan kontak secara otomatis tanpa persetujuan pengguna
- Berbagi kontak dari direktori perusahaan tanpa izin eksplisit
Minta izin sebelum menyimpan kontak di Windows People:
private async Task<bool> RequestContactStoreAccessAsync()
{
// Requesting a writable ContactStore prompts the user for consent.
// Your app must declare the contacts capability in its manifest.
ContactStore store = await ContactManager.RequestStoreAsync(
ContactStoreAccessType.AppContactsReadWrite);
return store != null;
}
Menghormati pengaturan privasi pengguna
Izinkan pengguna:
- Pilih kontak mana yang akan dibagikan dengan Windows
- Nonaktifkan integrasi Windows People
- Menghapus kontak mereka dari Windows kapan saja
// Provide a setting to disable sync
if (this.ShouldSyncContactsWithWindows)
{
await SyncContactsAsync();
}
else
{
// Clear contacts if the user disables sync
await ClearWindowsContactsAsync();
}
Konten terkait
Windows developer