私のアプリは、次の理由で認証に失敗しました: 「4.1.1 アプリがネットワーク対応の場合、アプリにはプライバシーに関する声明が必要です . . . アプリの説明ページとアプリの設定で、プライバシー ポリシーへのアクセスを提供する必要があります。 Windows 設定チャームに表示されます。」
彼らは何を話している?何の説明?Windows の設定に表示される情報を設定するにはどうすればよいですか?
アプリはC#です
私のアプリは、次の理由で認証に失敗しました: 「4.1.1 アプリがネットワーク対応の場合、アプリにはプライバシーに関する声明が必要です . . . アプリの説明ページとアプリの設定で、プライバシー ポリシーへのアクセスを提供する必要があります。 Windows 設定チャームに表示されます。」
彼らは何を話している?何の説明?Windows の設定に表示される情報を設定するにはどうすればよいですか?
アプリはC#です
プライバシー ポリシーへのリンクを追加するには:
//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);
}
Web ページのリンクを開く代わりに、コード自体にプライバシー ポリシーを直接コーディングできます。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>
アプリが情報を収集しているかどうかと、その情報を使って何をしているのかを説明する必要があります。そうしない場合でも、そう言ってください。
彼らの規則によれば、そのような通知を 2 つの異なる場所に表示することになっています。
後者は、そのような通知を表示するコントロールを示すカスタム ラベルまたはテキストである可能性があると思います。セクション 4.1.1を読んでください。ここに。これは、ハイスコア、マッチメイキング情報、またはデータの更新チェックなど、インターネットに送信される任意のデータである可能性があることに注意してください。
ある種のハイスコア リストを使用している場合は、次のような通知を含めることができます。
このアプリは、あなたが選択した場合、あなたのハイスコアをあなたのニックネームとともに当社のサーバーに送信します。このデータを第三者と共有することはなく、公式のハイスコア リストを作成するためにのみ使用します。
私は弁護士ではないので、アプリによっては本当に適切で正確なポリシーを提供することはできませんが、彼らが探しているものについてのアイデアを提供するはずです. それでもわからない場合は、自分のアプリと同様のことを行うアプリを確認してください。
設定チャームの詳細については、MSDN およびこのブログ投稿を参照してください。
最近の MS win8 devcamp で、最も簡単なオプションは、アプリの設定チャームにオンライン プライバシー ポリシーへのリンクを配置することであると言われました。
ここでは、C# のハンズオン ラボをいくつか見つけることができます。
http://msdn.microsoft.com/en-us/windows/apps/jj674832
これには、「Lab_Settings_CS」というタイトルのデモが含まれており、これをコピーして貼り付けて、「About」ページを「Privacy Policy」ページに変更できます。これは単なる新しいユーザー コントロールです。
アプリにプライバシー ポリシーが含まれておらず、認証で同じ 4.1 エラーが発生した場合は、非常に簡単な手順に従う必要があります。
それで全部です!:)