Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikace s identitou balíčku můžou ukládat své kontakty v systému Windows. Tyto kontakty se můžou zobrazovat jako návrhy ve widgetu Lidé, ve Vyhledávání ve Windows a v panelu Sdílet. Tento článek ukazuje, jak vytvořit účet uživatelských dat, uložit kontakty a nakonfigurovat přístup pro prostředí Windows.
Vytvoření účtu UserDataAccount pro smlouvu People
Začněte vytvořením uživatelského datového účtu. Je nutné, aby aplikace třetích stran vytvořily uživatelský účet UserDataAccount s UserDisplayName jako "com.microsoft.peoplecontract".
UserDataAccountStore udas =
await UserDataAccountManager.RequestStoreAsync(UserDataAccountStoreAccessType.AppAccountsReadWrite);
UserDataAccount uda = await udas.CreateAccountAsync("com.microsoft.peoplecontract");
Dále přidejte "com.microsoft.windows.system" do seznamu ExplictReadAccessPackageFamilyNames pro účet. Tím zajistíte omezený přístup kontaktů třetích stran k prostředím Windows.
uda.ExplictReadAccessPackageFamilyNames.Add("com.microsoft.windows.system");
await uda.SaveAsync();
Ukládání kontaktů
Prvním krokem při ukládání kontaktů je vytvoření seznamu kontaktů. Aby to bylo možné, musí aplikace třetích stran vytvořit nový seznam kontaktů pro UserDataAccount v ContactStore Windows. Aplikace si můžou ponechat výchozí OtherAppReadAccess typ přístupu pro seznam kontaktů a zároveň ho nastavit tak, aby None ostatní aplikace neměly přístup k těmto kontaktům. Úplný seznam dostupných typů přístupu najdete v výčtu ContactListOtherAppReadAccess .
ContactStore store = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AppContactsReadWrite);
this.contactList = await store.CreateContactListAsync(contactListsName, uda.Id);
contactList.OtherAppReadAccess = ContactListOtherAppReadAccess.None;
await contactList.SaveAsync();
Při ukládání kontaktu musí aplikace třetích stran zahrnovat všechny relevantní informace potřebné pro využití kontaktu v prostředích systému Windows.
Při ukládání kontaktu jsou vyžadována následující pole:
FirstNameRemoteIdDisplayPicture
Následující pole jsou volitelná:
LastNamePhonesEmails
Tento fragment kódu ukazuje, jak uložit kontakt:
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 pro Kontakt je vytvořen pomocí FirstName a LastName. Pokud by nebylo uvedeno příjmení, DisplayName bude totožný s řetězcem zadaným pro křestní jméno.
Ochrana osobních údajů a souhlas
Přispívejte pouze výslovně zadané kontakty
Vaše aplikace by měla přispívat jenom kontakty, které uživatel explicitně přidal nebo autorizoval. Nikdy:
- Nahrání celého adresáře
- Automatická synchronizace kontaktů bez souhlasu uživatele
- Sdílení kontaktů z podnikových adresářů bez explicitního oprávnění
Před uložením kontaktů v Windows People požádejte o oprávnění:
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;
}
Respektovat nastavení ochrany osobních údajů uživatele
Umožnit uživatelům:
- Výběr kontaktů, které se mají sdílet s Windows
- Odhlásit integraci Windows People
- Odstranění kontaktů z Windows kdykoli
// Provide a setting to disable sync
if (this.ShouldSyncContactsWithWindows)
{
await SyncContactsAsync();
}
else
{
// Clear contacts if the user disables sync
await ClearWindowsContactsAsync();
}
Související obsah
Windows developer