Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Apps met pakketidentiteit kunnen hun contactpersonen opslaan in Windows. Deze contactpersonen kunnen worden weergegeven als suggesties in de widget Personen, Windows Zoeken en het shareblad. In dit artikel wordt beschreven hoe u een gebruikersgegevensaccount maakt, contactpersonen opslaat en toegang configureert voor Windows ervaringen.
Een UserDataAccount maken voor het People-contract
Begin met het maken van een gebruikersgegevensaccount. Apps van derden zijn vereist voor het maken van een UserDataAccount met UserDisplayName als "com.microsoft.peoplecontract".
UserDataAccountStore udas =
await UserDataAccountManager.RequestStoreAsync(UserDataAccountStoreAccessType.AppAccountsReadWrite);
UserDataAccount uda = await udas.CreateAccountAsync("com.microsoft.peoplecontract");
Voeg "com.microsoft.windows.system" vervolgens toe aan de lijst met ExplicitReadAccessPackageFamilyNames voor het account. Dit biedt beperkte toegang tot contactpersonen van derden voor Windows-ervaringen.
uda.ExplictReadAccessPackageFamilyNames.Add("com.microsoft.windows.system");
await uda.SaveAsync();
Contactpersonen opslaan
De eerste stap bij het opslaan van contactpersonen is het maken van een lijst met contactpersonen. Hiervoor moeten apps van derden de nieuwe lijst met contactpersonen maken voor een UserDataAccount in de Windows ContactStore. Apps kunnen ervoor kiezen om het standaardtoegangstype OtherAppReadAccess voor de lijst met contactpersonen te behouden, terwijl het None zo wordt ingesteld dat andere apps geen toegang hebben tot deze contactpersonen. Zie de opsomming ContactListOtherAppReadAccess voor de volledige lijst met beschikbare toegangstypen.
ContactStore store = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AppContactsReadWrite);
this.contactList = await store.CreateContactListAsync(contactListsName, uda.Id);
contactList.OtherAppReadAccess = ContactListOtherAppReadAccess.None;
await contactList.SaveAsync();
Tijdens het opslaan van een contactpersoon moeten apps van derden alle relevante informatie bevatten die vereist is voor Windows-ervaringen om een contactpersoon te activeren.
De volgende velden zijn vereist bij het opslaan van een contactpersoon:
FirstNameRemoteIdDisplayPicture
De volgende velden zijn optioneel:
LastNamePhonesEmails
Dit codefragment laat zien hoe u een contactpersoon opslaat:
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
Het DisplayName voor de contactpersoon wordt samengesteld met behulp van FirstName en LastName. Als de achternaam niet is opgegeven, zal DisplayName identiek zijn aan de voornaam.
Privacy en toestemming
Voeg alleen uitdrukkelijk opgegeven contactpersonen toe
Uw app moet alleen bijdragen aan de contactpersonen die de gebruiker expliciet heeft toegevoegd of geautoriseerd. Nooit:
- Het hele adresboek uploaden
- Contactpersonen automatisch synchroniseren zonder toestemming van de gebruiker
- Contactpersonen delen vanuit bedrijfsadresboeken zonder expliciete toestemming
Vraag om toestemming voordat u contactpersonen opslaat in 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;
}
Privacy-instellingen voor gebruikers respecteren
Gebruikers toestaan om:
- Kiezen welke contactpersonen u wilt delen met Windows
- Uitschakelen van de integratie van Windows People
- Hun contactpersonen op elk gewenst moment verwijderen uit Windows
// Provide a setting to disable sync
if (this.ShouldSyncContactsWithWindows)
{
await SyncContactsAsync();
}
else
{
// Clear contacts if the user disables sync
await ClearWindowsContactsAsync();
}
Verwante onderwerpen
Windows developer