작업 표시줄에 앱 고정Pin your app to the taskbar

앱을 시작 메뉴에 고정하는 것 처럼 작업 표시줄에 프로그래밍 방식으로 자신의 앱을 고정할 수 있습니다.You can programmatically pin your own app to the taskbar, just like you can pin your app to the Start menu. 앱이 현재 고정 되어 있는지 여부와 작업 표시줄에서 고정을 허용 하는지 여부를 확인할 수 있습니다.And you can check whether your app is currently pinned, and whether the taskbar allows pinning.

여기에 고정 된 앱을 보여 주는 Windows 10 작업 표시줄의 스크린샷

중요

낙하 작성자 업데이트 필요 : 작업 표시줄 api를 사용 하려면 SDK 16299을 대상으로 하 고 빌드 16299 이상을 실행 해야 합니다.Requires Fall Creators Update : You must target SDK 16299 and be running build 16299 or higher to use the taskbar APIs.

중요 한 api : task바 관리자 클래스Important APIs : TaskbarManager class

사용자에 게 작업 표시줄에 앱을 고정 하도록 요청 해야 하는 경우When should you ask the user to pin your app to the taskbar?

작업 표시줄 관리자 클래스 를 사용 하면 사용자에 게 앱을 작업 표시줄에 고정 하도록 요청할 수 있습니다. 사용자가 요청을 승인 해야 합니다.The TaskbarManager class lets you ask the user to pin your app to the taskbar; the user must approve the request. 뛰어난 앱을 빌드하는 데 많은 노력을 기울여야 하므로 이제 사용자에 게 작업 표시줄에 고정 하도록 요청할 수 있습니다.You put a lot of effort into building a stellar app, and now you have the opportunity to ask the user to pin it to taskbar. 하지만 코드를 살펴보기 전에 경험을 디자인할 때 고려해 야 할 몇 가지 사항은 다음과 같습니다.But before we dive into the code, here are some things to keep in mind as you are designing your experience:

  • 작업에 대 한 명확한 "작업 표시줄에 고정" 호출을 사용 하 여 앱에서 비 중단 및 쉽게 해제 가능한 UX 를 만들 수 있습니다.Do craft a non-disruptive and easily dismissible UX in your app with a clear "Pin to taskbar" call to action. 이러한 용도로는 대화 및 flyouts를 사용 하지 마십시오.Avoid using dialogs and flyouts for this purpose.
  • 사용자에 게 pin을 요청 하기 전에 앱의 가치 를 명확 하 게 설명 합니다.Do clearly explain the value of your app before asking the user to pin it.
  • 타일이 이미 고정 되어 있거나 장치에서 지원 하지 않는 경우 사용자에 게 앱을 고정 하도록 요청 하지 마세요 .Don't ask a user to pin your app if the tile is already pinned or the device doesn’t support it. 이 문서에서는 고정이 지원 되는지 여부를 확인 하는 방법을 설명 합니다.(This article explains how to determine whether pinning is supported.)
  • 앱을 고정 하도록 사용자에 게 질문 하지 않습니다 (표정이 될 수 있음).Don't repeatedly ask the user to pin your app (they will probably get annoyed).
  • 명시적인 사용자 개입 없이 또는 앱이 최소화 되거나 열리지 않는 경우 pin API를 호출 하지 마세요 .Don't call the pin API without explicit user interaction or when your app is minimized/not open.

1. 필요한 Api가 있는지 확인 합니다.1. Check whether the required APIs exist

앱에서 이전 버전의 Windows 10을 지 원하는 경우 Task 관리자 클래스를 사용할 수 있는지 확인 해야 합니다.If your app supports older versions of Windows 10, you need to check whether the TaskbarManager class is available. IsTypePresent 메서드 를 사용 하 여이 검사를 수행할 수 있습니다.You can use the ApiInformation.IsTypePresent method to perform this check. TaskbarManager 클래스를 사용할 수 없는 경우 Api에 대 한 호출을 실행 하지 마십시오.If the TaskbarManager class isn't available, avoid executing any calls to the APIs.

if (ApiInformation.IsTypePresent("Windows.UI.Shell.TaskbarManager"))
{
    // Taskbar APIs exist!
}

else
{
    // Older version of Windows, no taskbar APIs
}

2. 작업 표시줄이 있고 고정이 허용 되는지 확인 합니다.2. Check whether taskbar is present and allows pinning

Windows 앱은 다양 한 장치에서 실행할 수 있습니다. 일부는 작업 표시줄을 지원 하지 않습니다.Windows apps can run on a wide variety of devices; not all of them support the taskbar. 현재는 데스크톱 장치만 작업 표시줄을 지원 합니다.Right now, only Desktop devices support the taskbar.

작업 표시줄을 사용할 수 있는 경우에도 사용자 컴퓨터의 그룹 정책에서 작업 표시줄 고정을 사용 하지 않도록 설정할 수 있습니다.Even if the taskbar is available, a group policy on the user's machine might disable taskbar pinning. 따라서 앱을 고정 하기 전에 작업 표시줄에 대 한 고정이 지원 되는지 여부를 확인 해야 합니다.So, before you attempt to pin your app, you need to check whether pinning to the taskbar is supported. 작업 표시줄이 있고 고정이 허용 되는 경우 TaskIsPinningAllowed 속성 은 true를 반환 합니다.The TaskbarManager.IsPinningAllowed property returns true if the taskbar is present and allows pinning.

// Check if taskbar allows pinning (Group Policy can disable it, or some device families don't have taskbar)
bool isPinningAllowed = TaskbarManager.GetDefault().IsPinningAllowed;

참고

작업 표시줄에 앱을 고정 하지 않고 작업 표시줄을 사용할 수 있는지 여부를 확인 하려는 경우에는 Task바 관리자. IsSupported 속성을 사용 합니다.If you don't want to pin your app to the taskbar and just want to find out whether the taskbar is available, use the TaskbarManager.IsSupported property.

3. 앱이 현재 작업 표시줄에 고정 되어 있는지 확인 합니다.3. Check whether your app is currently pinned to the taskbar

사용자에 게 앱을 이미 고정 된 경우 작업 표시줄에 고정할 수 있도록 사용자에 게 요청 하는 점이 없습니다.Obviously, there's no point in asking the user to let you pin the app to the taskbar if it's already pinned there. IsCurrentAppPinnedAsync 메서드 를 사용 하 여 앱이 이미 고정 되어 있는지 여부를 확인 한 후 사용자에 게 요청할 수 있습니다.You can use the TaskbarManager.IsCurrentAppPinnedAsync method to check whether the app is already pinned before asking the user.

// Check whether your app is currently pinned
bool isPinned = await TaskbarManager.GetDefault().IsCurrentAppPinnedAsync();

if (isPinned)
{
    // The app is already pinned--no point in asking to pin it again!
}
else 
{
    //The app is not pinned. 
}

4. 앱 고정4. Pin your app

작업 표시줄이 있고 고정이 허용 되 고 앱이 현재 고정 되어 있지 않은 경우 사용자가 앱을 고정할 수 있음을 알려주는 미묘한 팁을 표시 하는 것이 좋습니다.If the taskbar is present and pinning is allowed and your app currently isn't pinned, you might want to show a subtle tip to let users know that they can pin your app. 예를 들어 사용자가 클릭할 수 있는 UI의 어딘가에 고정 아이콘을 표시할 수 있습니다.For example, you might show a pin icon somewhere in your UI that the user can click.

사용자가 pin 제안 UI를 클릭 하면 Taskbarmanager. RequestPinCurrentAppAsync 메서드를 호출 합니다.If the user clicks your pin suggestion UI, you would then call the TaskbarManager.RequestPinCurrentAppAsync method. 이 메서드는 사용자에 게 앱을 작업 표시줄에 고정 하려는 것인지 확인 하는 대화 상자를 표시 합니다.This method displays a dialog that asks the user to confirm that they want your app pinned to the taskbar.

중요

이는 전경 UI 스레드에서 호출 해야 합니다. 그렇지 않으면 예외가 throw 됩니다.This must be called from a foreground UI thread, otherwise an exception will be thrown.

// Request to be pinned to the taskbar
bool isPinned = await TaskbarManager.GetDefault().RequestPinCurrentAppAsync();

고정 대화 상자

이 메서드는 앱이 이제 작업 표시줄에 고정 되어 있는지 여부를 나타내는 부울 값을 반환 합니다.This method returns a boolean value that indicates whether your app is now pinned to the taskbar. 앱이 이미 고정 된 경우 메서드는 사용자에 게 대화 상자를 표시 하지 않고 즉시 true를 반환 합니다.If your app was already pinned, the method immediately returns true without showing the dialog to the user. 사용자가 대화 상자에서 "아니요"를 클릭 하거나 작업 표시줄에 앱을 고정 하는 것이 허용 되지 않는 경우이 메서드는 false를 반환 합니다.If the user clicks "no" on the dialog, or pinning your app to the taskbar isn't allowed, the method returns false. 그렇지 않으면 사용자가 예를 클릭 하면 앱이 고정 되 고 API는 true를 반환 합니다.Otherwise, the user clicked yes and the app was pinned, and the API will return true.

리소스Resources