Xamarin.Essentials:브라우저
Browser 클래스를 사용하면 애플리케이션이 최적화된 시스템 기본 브라우저 또는 외부 브라우저에서 웹 링크를 열 수 있습니다.
시작하기
이 API를 사용하기 전에 라이브러리가 제대로 설치되고 프로젝트에 설정되어 있는지 확인하기 위해 Xamarin.Essentials에 대한 시작 가이드를 읽어보세요.
브라우저 기능에 액세스하려면 다음 플랫폼 관련 설정이 필요합니다.
프로젝트의 대상 Android 버전이 Android 11(R API 30)로 설정된 경우 새 패키지 가시성 요구 사항에 사용되는 쿼리로 해당 Android 매니페스트를 업데이트해야 합니다.
속성 폴더 아래의 AndroidManifest.xml 파일을 열고 매니페스트 노드 내부에 다음을 추가합니다.
<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>
Browser 사용
클래스에서 Xamarin.Essentials에 대한 참조를 추가합니다.
using Xamarin.Essentials;
Browser 기능은 Uri
및 BrowserLaunchMode
로 OpenAsync
메서드를 호출하여 작동합니다.
public class BrowserTest
{
public async Task OpenBrowser(Uri uri)
{
try
{
await Browser.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
}
catch(Exception ex)
{
// An unexpected error occured. No browser may be installed on the device.
}
}
}
이 메서드는 브라우저가 시작된 후 반환되며, 반드시 사용자가 종료하는 것은 아닙니다.
사용자 지정
시스템 기본 브라우저를 사용할 때 iOS 및 Android에서 사용할 수 있는 몇 가지 사용자 지정 옵션이 있습니다. 여기에는 TitleMode
(Android에만 해당), 표시되는 Toolbar
(iOS 및 Android) 및 Controls
(iOS만 해당)에 대한 기본 색상 옵션이 포함됩니다.
이러한 옵션은 OpenAsync
를 호출할 때 BrowserLaunchOptions
를 사용하여 지정됩니다.
await Browser.OpenAsync(uri, new BrowserLaunchOptions
{
LaunchMode = BrowserLaunchMode.SystemPreferred,
TitleMode = BrowserTitleMode.Show,
PreferredToolbarColor = Color.AliceBlue,
PreferredControlColor = Color.Violet
});
플랫폼 구현 관련 정보
시작 모드는 브라우저 시작 방법을 결정합니다.
시스템 기본 설정
사용자 지정 탭을 사용하여 URI를 로드하고 탐색 인식을 유지합니다.
외부
Intent
를 사용하여 시스템 일반 브라우저에서 URI를 열도록 요청합니다.