7

我的应用程序未通过认证,原因是:“4.1.1 如果您的应用程序具有网络功能,则必须有隐私声明......您必须在应用程序的描述页面以及应用程序的设置中提供对隐私政策的访问权限如 Windows 设置魅力中所示。”

他们在说什么?什么描述?如何设置 Windows 设置中显示的信息?

该应用程序是 C#

4

5 回答 5

8

要添加指向您的隐私政策的链接:

//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);
}
于 2012-11-09T05:36:05.893 回答
5

您应该说明您的应用程序是否正在收集任何信息以及您正在使用它做什么。如果你不这样做,仍然这样说。

根据他们的规则,您应该在两个不同的位置显示这样的通知:

  • 在应用程序描述中(显然是在应用程序商店中可见的内容)。
  • 在设置菜单中。

我假设后者可以是任何自定义标签或显示控件显示此类通知的文本。只需阅读第 4.1.1 节。在这里。请记住,这可以是发送到互联网的任何数据,例如高分、配对信息或只是一些数据更新检查。

如果你使用某种高分列表,你可以只包括一些这样的通知:

如果您选择这样做,此应用程序会将您的高分和您的昵称传输到我们的服务器。我们不会与任何第三方共享这些数据,只会将其用于编制官方高分榜。

我不是律师,因此无法根据您的应用程序为您提供任何真正适当和准确的政策,但它应该让您了解他们正在寻找什么。如果您仍然不确定,请尝试检查应用是否与您的类似。

可以在 MSDN 和此博客文章中找到有关设置魅力的更多信息。

于 2012-11-07T23:57:09.673 回答
5

无需打开网页链接,您可以直接在代码本身中编写隐私政策。在 App.xaml.cs 中,粘贴以下代码

        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), "");
    }

创建一个新的用户控件

<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>

于 2012-11-12T22:03:35.920 回答
3

在最近的 MS win8 devcamp 上,我们被告知最简单的选择是在应用程序的设置魅力中放置一个指向您的在线隐私政策的链接。

您可以在此处找到一些 C# 实验室的动手操作:

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

其中包含一个名为“Lab_Settings_CS”的演示,您可以复制并粘贴将“关于”页面更改为“隐私政策”页面 - 它只是一个新的用户控件。

于 2012-11-08T00:03:20.367 回答
2

如果您的应用不包含任何隐私政策并且在认证中您遇到相同的 4.1 错误,那么您必须遵循非常简单的步骤:

  1. 打开你的项目
  2. 在解决方案资源管理器中双击 package.appxmanifest。
  3. 打开功能选项卡。
  4. 取消选中互联网客户端。
  5. 创建应用程序包并将其上传到 windows 商店。

就这样!:)

于 2012-11-17T09:42:21.003 回答