앱 설치 관리자를 통해 앱에 설치 매개 변수 전달
MSIX를 사용하여 앱을 배포할 때 사용자가 다운로드/설치 URI를 클릭한 후 다운로드/설치 URI에서 정의한 쿼리 문자열 매개 변수가 실행될 때 앱에 전달되도록 앱을 구성할 수 있습니다. 사용자가 앱을 처음 설치한 경우 또는 앱이 이전에 설치되었는지 여부에 관계없이 작동합니다. 이 문서에서는 이 기능을 활용하도록 패키지된 애플리케이션 및 다운로드/설치 URI를 구성하는 방법을 보여 줍니다. 이는 원본, 다운로드 유형 등을 기준으로 다른 설치를 추적하거나 처리하려는 경우 유용할 수 있으며, 웹 다운로드 및 사용자가 전자 메일 캠페인에서 URI를 클릭하는 기타 경우에 사용할 수 있습니다. 자세한 내용은 이 블로그 게시물을 검사.
프로토콜 활성화를 위한 애플리케이션 구성
가장 먼저 해야 할 일은 정의한 사용자 지정 프로토콜을 사용하여 시작할 수 있도록 앱을 등록하는 것입니다. 이 프로토콜이 호출되면 애플리케이션이 시작되고 URI에 지정된 모든 prameter가 앱이 시작될 때 앱의 활성화 이벤트 인수에 전달됩니다. MSIX의 appxmanifest.xml 파일의 애플리케이션 확장 노드에 프로토콜 확장 항목을 추가하여 프로토콜을 등록할 수 있습니다.
<Application>
...
<Extensions>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="my-custom-protocol"/>
</uap:Extension>
</Extensions>
...
</Application>
Windows 패키징 프로젝트를 사용하는 경우 package.appxmanifest 파일을 두 번 클릭하고 선언 탭으로 이동하고 사용 가능한 선언에서 프로토콜을 선택하여 기본 매니페스트 편집기를 사용하여 사용자 지정 프로토콜을 정의할수도 있습니다.
설치 후 앱이 시작될 때 매개 변수를 처리하는 코드 작성
애플리케이션이 시작될 때 앱에 전달될 설치 매개 변수를 처리하려면 애플리케이션에서 코드를 구현해야 합니다. 아래 예제 코드는 AppInstance.GetActivatedEventArgs 메서드를 사용하여 앱을 인스턴스화하는 데 사용되는 활성화 유형을 결정합니다(다른 메서드를 사용하여 매개 변수를 처리할 수도 있습니다). 앱이 설치 URI의 쿼리 스팅 매개 변수를 사용하여 시작/활성화되면(다음 섹션의 정의 참조) 활성화 유형은 appxmanifest.xml 및 다운로드/설치 URI에 선언된 사용자 지정 프로토콜에 정의된 프로토콜 활성화가 됩니다. 활성화 이벤트 인수는 ProtocolActivatedEventArgs 형식이며 아래 코드에서 사용하는 형식입니다.
using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;
public static void Main(string[] cmdArgs)
{
var activationArgs = AppInstance.GetActivatedEventArgs();
switch (activationArgs.Kind)
{
//Install parameters will be passed in during a protocol activation
case ActivationKind.Protocol:
HandleProtocolActivation(activationArgs as ProtocolActivatedEventArgs);
break;
case ActivationKind.Launch:
//Regular launch activation type
HandleLaunch(activationArgs as LaunchActivatedEventArgs);
break;
default:
break;
}
static void HandleProtocolActivation(ProtocolActivatedEventArgs args)
{
if (args.Uri != null)
{
//Handle the installation parameters in the protocol uri
handleInstallParameter(args.Uri.ToString());
}
}
설치 URI에 사용자 지정 활성화 프로토콜 및 매개 변수 추가
설치 매개 변수를 처리하도록 앱이 설정되면 사용자가 URI를 클릭한 후 시작 시 앱에 전달될 고유하게 정의된 매개 변수를 포함하도록 앱 다운로드/설치 URI를 사용자 지정할 수 있습니다. URI에는 다음이 포함되어야 합니다.
- 앱 설치 관리자를 호출하는 ms-appinstaller 프로토콜입니다.
- 앱의 사용자 지정 프로토콜 및 앱이 시작될 때 앱에 전달하려는 설치 매개 변수를 가리키는 고유한 매개 변수 activationUri 입니다.
- 앱의 사용자 지정 프로토콜과 매개 변수 및 해당 값입니다.
아래 예제 URI에서 사용자 지정 프로토콜 my-custom-protocol, 매개 변수 my-매개 변수를 정의하고 my-param-value 값을 지정했습니다. 사용자가 URI를 클릭한 후 앱이 시작되면 activationUri 이후 URI의 쿼리 문자열 부분을 받게 됩니다. 이 경우 my-custom-protocol:?my-parameter=my-param-value가 됩니다.
ms-appinstaller:?source=https://contoso.com/myapp.appinstaller&activationUri=my-custom-protocol:?my-parameter=my-param-value
ms-appinstaller:?source=https://contos.com/myapp.msix&activationUri=my-custom-protocol:?my-parameter=my-param-value
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기