Язык: HTML | XAML

Краткое руководство: персонализация вашего приложения (XAML)

Applies to Windows and Windows Phone

Ваши приложения Магазина Windows на языках C++, C# или Visual Basic могут использовать Live Connect для доступа к информации из профиля учетной записи Майкрософт пользователя с помощью пакета Live SDK.

Чтобы сделать это, необходимо сперва зарегистрировать свое приложение для использования Live Connect. Затем при запуске приложения пользователь сможет войти со своей учетной записью Майкрософт и разрешить приложению работать с личными данными. После того как пользователь выполнит вход и даст согласие, приложение сможет получать доступ к данным профиля пользователя для персонализации взаимодействия с ним. Далее приведено подробное описание.

Важно  Это краткое руководство служит исключительно для демонстрационных и иллюстративных целей. Для использования этого компонента в приложении, которое предполагается отправить в Магазин Windows для распространения, в него необходимо включить не только возможность входа, но и возможность выхода, а также заявление о конфиденциальности. После этого краткого руководства прочтите Руководство по взаимодействию с пользователем при входе в учетную запись Майкрософт, чтобы узнать, как добавить эти возможности.

Необходимые условия

Добавление ссылки на Live SDK

При запуске приложения оно может отобразить элемент управления Windows для входа пользователя с помощью его учетной записи Майкрософт. После выполнения входа пользователь получит приглашение разрешить вашему приложению доступ к его личным данным, если он не дал на это согласие раньше.

Чтобы при запуске приложения отобразить элемент управления входа Windows, выполните следующее.

  1. В обозревателе решений щелкните правой кнопкой мыши Ссылки > Добавить ссылку....
  2. Щелкните Windows > Расширения для отображения списка ссылок, которые могут быть добавлены к вашей программе.
  3. Установите флажок рядом с Live SDK. Если в списке нет Live SDK, переустановите Live SDK и начните процедуру заново.
  4. Нажмите кнопку ОК, чтобы закрыть диалоговое окно.

Добавление операторов using в приложение

В начале каждого файла кода C# в приложении, ссылающегося на Live SDK, например MainPage.xaml.cs, а также в файлах кода программной части пользовательского интерфейса приложения добавьте следующие операторы using.


using Microsoft.Live;


Добавьте элемент пользовательского интерфейса для персонализированного приветствия.

Добавьте в макет своего приложения элемент для отображения имени пользователя.

Собственно код языка XAML, который можно использовать для этого, зависит от макета приложения. В данном примере показан один из способов этого добавления к макету приложения, однако он не включает свойств стилизации или размещения, которые, вероятно, стоит включить при выполнении добавлений к приложению.


<TextBlock x:Name="userName" Text="You're not signed in." />


Добавление кода, получающего информацию пользователя из учетной записи Майкрософт

В файле кода программной части страницы, куда была добавлена разметка на предыдущем этапе, добавьте код для получения информации о профиле пользователя из его учетной записи Майкрософт и обновления текста на странице.

Этот пример кода делает следующее:

  1. Инициализирует Live SDK.
  2. Входит в учетную запись Майкрософт пользователя. Если пользователь не подключен к сети, он увидит экран входа учетной записи Майкрософт для выполнения входа.
  3. Получает согласие на доступ к информации из профиля пользователя. Если пользователь не дал согласия на доступ приложения к своей информации, то будет выведен пользовательский интерфейс, запрашивающий это согласие.
  4. Получает информацию пользователей из их учетных записей Майкрософт.
  5. Обновляет пользовательский интерфейс приложения персонализированным приветствием.

try
{
    // Initialize access to the Live Connect SDK.
    LiveAuthClient LCAuth = new LiveAuthClient();
    LiveLoginResult LCLoginResult = await LCAuth.InitializeAsync();
    try
    {
        // Sign in to the user's Microsoft account with the required scope.
        //    
        //  This call will display the Microsoft account sign-in screen if the user 
        //  is not already signed in to their Microsoft account through Windows 8.
        // 
        //  This call will also display the consent dialog, if the user has 
        //  has not already given consent to this app to access the data described 
        //  by the scope.
        // 
        LiveLoginResult loginResult = await LCAuth.LoginAsync(new string[] { "wl.basic" });
        if (loginResult.Status == LiveConnectSessionStatus.Connected)
        {
            // Create a client session to get the profile data.
            LiveConnectClient connect = new LiveConnectClient(LCAuth.Session);

            // Get the profile info of the user.
            LiveOperationResult operationResult = await connect.GetAsync("me");

            // Format the text to display and update the element in the layout.
            dynamic result = operationResult.Result;
            if (result != null)
            {
                this.userName.Text = string.Join(" ", "Hello", result.name, "!");
            }
            else
            {
                this.userName.Text = "Unable to get your name.";
            }
        }

    }
    catch (LiveAuthException exception)
    {
        // handle the login, scope, or request exception
    }
}
catch (LiveAuthException exception)
{
    // handle the initialization exception
}
catch (LiveConnectException exception)
{
    // handle the Live Connect API exception
}


Протестируйте свое персонализированное приложение

При запуске персонализированного приложения можно заметить, что экран входа в учетную запись Майкрософт выводится не всегда. Это может быть вызвано тем, что Windows запоминает ваши данные для входа в систему, чтобы упростить предоставление пользователям персонализированного обслуживания при запуске ими приложения.

Важно  Для доступа к данным пользователя из приложения, которое предполагается отправить в Магазин Windows для распространения, в него необходимо включить не только возможность входа, но и возможность выхода, а также заявление о конфиденциальности. Реализацию входа и выхода описывает Руководство по взаимодействию с пользователем при входе в учетную запись Майкрософт.

В этом разделе вы узнали, как начать использовать Live Connect для доступа к данным пользователя из приложения Магазина Windows на C++, C# или Visual Basic в таких облачных службах Майкрософт, как Outlook.com и Microsoft OneDrive.

Вы также узнали, как позволить пользователям выполнять вход с помощью учетной записи Майкрософт и как получить их согласие на доступ вашего приложения к их данным.

Дополнительные сведения об использовании Live Connect см. в руководстве по взаимодействию с пользователем при входе в учетную запись Майкрософт, в котором описывается добавление функций входа и выхода.

Подробнее о том, что приложение может сделать с данным профиля пользователя, см. в разделе Получение данных пользователяДокументации Live Connect.

 

 

Показ:
© 2015 Microsoft