브라우저

Browse sample. 샘플 찾아보기

이 문서에서는 .NET 다중 플랫폼 앱 UI(.NET MAUI) IBrowser 인터페이스를 사용하는 방법을 설명합니다. 이 인터페이스를 사용하면 애플리케이션이 시스템 기본 설정 브라우저 또는 외부 브라우저에서 웹 링크를 열 수 있습니다.

인터페이스의 IBrowser 기본 구현은 속성을 통해 Browser.Default 사용할 수 있습니다. IBrowser 인터페이스와 Browser 클래스는 모두 네임스페이스에 Microsoft.Maui.ApplicationModel 포함됩니다.

시작하기

브라우저 기능에 액세스하려면 다음 플랫폼별 설정이 필요합니다.

프로젝트의 대상 Android 버전이 Android 11(R API 30) 이상으로 설정된 경우 Android의 패키지 표시 유형 요구 사항을 사용하는 쿼리로 Android 매니페스트를 업데이트해야 합니다.

Platforms/Android/AndroidManifest.xml 파일에서 노드에 다음 queries/intent 노드를 manifest 추가합니다.

<queries>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="http"/>
  </intent>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="https"/>
  </intent>
</queries>

브라우저 열기

브라우저는 메서드와 형식BrowserLaunchModeIBrowser.OpenAsync 사용하여 Uri 호출하여 열립니다. 다음 코드 예제에서는 브라우저를 여는 방법을 보여 줍니다.

private async void BrowserOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        await Browser.Default.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

이 메서드는 사용자가 브라우저를 닫은 후가 아니라 브라우저가 시작된 후에 반환됩니다. Browser.OpenAsync 는 브라우저가 bool 성공적으로 시작되었는지 여부를 나타내는 값을 반환합니다.

사용자 지정

시스템 기본 설정 브라우저를 사용하는 경우 iOS 및 Android에 사용할 수 있는 몇 가지 사용자 지정 옵션이 있습니다. 이러한 옵션에는 (Android 전용) 및 표시되는 (iOS 및 Android) 및 Controls (iOS만 해당)에 대한 Toolbar 기본 설정 색이 포함 TitleMode 됩니다.

를 호출OpenAsync할 때 다음 BrowserLaunchOptions 옵션을 지정합니다.

private async void BrowserCustomOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        BrowserLaunchOptions options = new BrowserLaunchOptions()
        {
            LaunchMode = BrowserLaunchMode.SystemPreferred,
            TitleMode = BrowserTitleMode.Show,
            PreferredToolbarColor = Colors.Violet,
            PreferredControlColor = Colors.SandyBrown
        };

        await Browser.Default.OpenAsync(uri, options);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

플랫폼 간 차이점

이 섹션에서는 브라우저 API와의 플랫폼별 차이점에 대해 설명합니다.

브라우저 BrowserLaunchOptions.LaunchMode 를 시작하는 방법을 결정합니다.

  • SystemPreferred

    사용자 지정 탭 은 URI를 로드하고 탐색 인식을 유지하는 데 사용됩니다.

  • External

    시스템의 Intent 일반 브라우저를 통해 URI를 열도록 요청하는 데 사용됩니다.