c# xaml windows-8 microsoft-metro .net-4.5

c# - ¿En qué parte de la aplicación Windows 8 debe codificar ''política de privacidad''?



xaml windows-8 (5)

mi aplicación falló la certificación con la siguiente razón: "4.1.1 Su aplicación debe tener una declaración de privacidad si es compatible con la red ... Debe proporcionar acceso a su política de privacidad en la página Descripción de su aplicación, así como en la configuración de la aplicación como se muestra en el hechizo Configuración de Windows ".

De qué están hablando? ¿qué descripción? ¿Cómo configuro la información que se muestra en la configuración de Windows?

la aplicación es C #


Debe indicar si su aplicación está recopilando información y qué está haciendo con ella. Si no lo haces, aún así lo dices.

De acuerdo con sus reglas, se supone que debe mostrar dicho aviso en dos lugares diferentes:

  • En la descripción de la aplicación (obviamente, lo que está visible en la tienda de aplicaciones).
  • En el menú de configuración.

Supongo que este último puede ser cualquier etiqueta personalizada o texto que muestre el control que muestra dicho aviso. Solo lea la sección 4.1.1. aquí . Solo tenga en cuenta que esto puede ser cualquier información enviada a Internet, por ejemplo, puntuaciones altas, información de búsqueda de pareja o tal vez solo una actualización para verificar los datos.

Si está utilizando algún tipo de lista de mejores puntuaciones, puede incluir un aviso como este:

Esta aplicación transmite su puntuación más alta con su apodo a nuestros servidores si elige hacerlo. No compartiremos esta información con ningún tercero y solo la utilizaremos para compilar la lista oficial de puntajes altos.

No soy abogado y, como tal, no puedo proporcionarle una política realmente adecuada y precisa según su aplicación, pero debería darle una idea de lo que está buscando. Si aún no está seguro, intente comprobar que las aplicaciones hagan cosas similares a las suyas.

Se puede ver más información sobre el encanto de las configuraciones en MSDN y en esta publicación de blog .


En un reciente devcamp de MS win8 nos dijeron que la opción más fácil es poner un enlace a su política de privacidad en línea en el encanto de la configuración de su aplicación.

Puedes encontrar algunas manos en los laboratorios en C # aquí:

http://msdn.microsoft.com/en-us/windows/apps/jj674832

Que contienen una demostración titulada ''Lab_Settings_CS'' que puede copiar y pegar cambiando la página ''Acerca de'' a su página ''Política de privacidad'' - es simplemente un nuevo Control de usuario.


Para agregar un enlace a su política de privacidad:

//using Windows.UI.ApplicationSettings; //using System; // You can put this event handler somewhere in a main class that runs your app. // I put it in may main view model. SettingsPane.GetForCurrentView().CommandsRequested += ShowPrivacyPolicy; // Method to add the privacy policy to the settings charm private void ShowPrivacyPolicy(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args) { SettingsCommand privacyPolicyCommand = new SettingsCommand("privacyPolicy","Privacy Policy", (uiCommand) => { LaunchPrivacyPolicyUrl(); }); args.Request.ApplicationCommands.Add(privacyPolicyCommand); } // Method to launch the url of the privacy policy async void LaunchPrivacyPolicyUrl() { Uri privacyPolicyUrl = new Uri("http://www.yoursite.com/privacypolicy"); var result = await Windows.System.Launcher.LaunchUriAsync(privacyPolicyUrl); }


En lugar de abrir un enlace de página web, puede codificar directamente la política de privacidad en el código mismo. En App.xaml.cs, pega el siguiente código

private void OnCommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args) { var privacy = new SettingsCommand("PrivacyPolicy", "PrivacyPolicy", (handler) => { var settings = new SettingsFlyout(); settings.Content = new PrivacyUserControl(); //settings.HeaderBrush = new SolidColorBrush(_background); //settings.Background = new SolidColorBrush(_background); settings.HeaderBrush = _Hbackground; settings.Background = _background; settings.HeaderText = "Privacy Policy"; settings.IsOpen = true; }); args.Request.ApplicationCommands.Add(privacy); UICommandInvokedHandler handler1 = new UICommandInvokedHandler(onSettingsCommand); // throw new NotImplementedException(); } void onSettingsCommand(IUICommand command) { SettingsCommand settingsCommand = (SettingsCommand)command; ((Frame)Window.Current.Content).Navigate(typeof(HelpPage), ""); }

Crear un nuevo control de usuario

<UserControl xmlns:common="using:App.Common" x:Class="App.UserControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid> <StackPanel > <TextBlock Foreground="White" Text="Privacy Policy" FontFamily="Segoe UI" FontWeight="SemiLight" FontSize="26.667" /> <TextBlock Margin="0,50,0,0" Foreground="White" Text="put your notes here" FontFamily="Segoe UI" FontWeight="SemiLight" FontSize="18" TextWrapping="Wrap" /> </StackPanel> </Grid>


Si su aplicación no contiene ninguna política de privacidad y en la certificación obtiene el mismo error de 4.1, entonces hay pasos muy simples que debe seguir:

  1. Abra su proyecto
  2. En el explorador de soluciones, haga doble clic en package.appxmanifest.
  3. Pestaña de capacidades abiertas
  4. desmarque el cliente de internet.
  5. Crea un paquete de aplicación y súbelo en la tienda de Windows.

¡Eso es todo! :)