2012.10.15 08:42

Windows 8 Store에서 앱 인증에 필요한 요구사항은

http://msdn.microsoft.com/ko-KR/library/windows/apps/51A7C609-94AB-49ab-B8E0-F26FF776DDB4.aspx 

에서 확인할 수 있습니다.

 

이중에서 4.1 항목은 개인정보 보호 정책에 관한 내용입니다.

 

개인정보 보호 정책을 앱 내에 명시해 주면 대부분 통과되는데 개인정보 보호 정책은 시스템바(기존의 참바)--> 설정 안에서 보이도록 해주면 됩니다.

 

 

위의 그림은 권영철 MVP님께서 만든 f Diary 앱입니다. 해당 앱을 설치한 후에 설정 항목에 보시면 개인정보 취급 방침 항목이 포함되어 있는 것을 볼 수 있습니다. 해당 항목을 열어보면 간단한 소개와 함께 개인정보 방침에 대한 웹 사이트로 연결되는 것을 볼 수 있습니다.(http://loveu012u.blog.me/100166271344) 로 연결되니 개인정보 취급 방침에 대한 작성을 참조해 보십시오.

 만약 앱의 배포국가가 국내로 국한되지 않는다면 SmartShare의 주신영 대표이자 MVP님이 제작한 TEDw 앱을 설치해서 참조해 보십시오. TEDw 앱의 경우는 개인정보 취급 방침이 영문으로 작성되어 있습니다.

 

여기서 부터는 시스템바의 설정에 개인정보 취급 방침에 대해서 노출되기 위한 방법을 설명해 드립니다.

어디에 작성해도 좋지만 깔끔한 작성을 위해서 App.xaml.cs 파일에 작성하는 것이 제일 좋은 방법으로 보입니다.

 참고로 아래 내용은 C# 코드 기준입니다. Javascript나 VC++을 사용하시는 분들은 클래스 명만 참조하시면 될 것 같습니다.

 

먼저 두 개의 네임 스페이스를 using 문으로 포함시켜 줍니다.

 

using Windows.UI.Popups;
using Windows.UI.ApplicationSettings;

 

그리고 앱이 시작할 때 해당 내용이 설정에 포함될 수 있도록 OnLaunched 이벤트에 한줄을 추가해 줍니다.

 

        protected override void OnLaunched(LaunchActivatedEventArgs args)
        {
            Frame rootFrame = Window.Current.Content as Frame;

            // Do not repeat app initialization when the Window already has content,
            // just ensure that the window is active
            if (rootFrame == null)
            {
                // Create a Frame to act as the navigation context and navigate to the first page
                rootFrame = new Frame();

                if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Load state from previously suspended application
                }

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;
            }

            if (rootFrame.Content == null)
            {
                // When the navigation stack isn't restored navigate to the first page,
                // configuring the new page by passing required information as a navigation
                // parameter
                if (!rootFrame.Navigate(typeof(frmMain), args.Arguments))
                {
                    throw new Exception("Failed to create initial page");
                }
            }
            // Ensure the current window is active

            Window.Current.Activate();

 

//이 부분이 추가된 한줄 입니다.

            SettingsPane.GetForCurrentView().CommandsRequested += App_CommandsRequested;
        }


셋팅에 필요한 내용을 추가할 준비가 끝났습니다.

이제 두 개의 메서드만 두 추가해 주면 됩니다.

 

 void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
{
            UICommandInvokedHandler handler = new UICommandInvokedHandler(onSettingCommand);
            SettingsCommand generalCommand = new SettingsCommand("개인정보 보호 방침",

"개인정보 보호 방침", handler); 

args.Request.ApplicationCommands.Add(generalCommand);
  

}

  private async void onSettingCommand(IUICommand command)
  {
            Uri uri = new Uri("http://www.youngwook.com/627");
            await Windows.System.Launcher.LaunchUriAsync(uri);
  }

위와 같이 하면 해당 앱을 실행 시킬 때 셋팅에 개인정보 보호 방침이 추가 됩니다. 그리고 해당 항목을 누르면 http://www.youngwook.com/627 로 연결되게 됩니다. 

 

참 쉽죠 ^^

저작자 표시 변경 금지
신고


티스토리 툴바