Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
WebView2 kullanılabilir olmaya devam eder. Ancak HoloLens'te WebView2 desteği sona erer (hata düzeltmeleri, içerik güncelleştirmeleri veya teknik destek yoktur) ve bu nedenle uygulamaların uzun bir süre çalışmaya devam edeceğine dair hiçbir garanti vermeyeceğiz.
Unity için Microsoft Karma Gerçeklik WebView eklentisi, WebView2 işlevselliğinin HoloLens 2 uygulamanızla tümleştirilmesini sağlar. Unity için bu WebView eklentisi, WebView2 denetimini sarmalayarak, işlemeyi otomatik olarak işleyerek ve girişi otomatik olarak WebView2 denetimine yönlendirerek WebView2 işlevselliğinin HoloLens 2 uygulamanızla tümleştirilmesini kolaylaştırır.
Bu eklenti ayrıca Unity ile WebView2 arasındaki birlikte çalışma özelliğini yöneterek javascript ile Unity arasında iletiler ve olaylar aracılığıyla iletişimi etkinleştirir.
Bu eklenti, CoreWebView2 aracılığıyla kullanılabilen işlevlerin bir alt kümesini kullanıma sunar.
HoloLens 2'deki WebView2 ve Unity için WebView eklentisi önizleme aşamasındadır ve genel kullanıma sunulmadan önce değiştirilebilir. WebView2 Önizlemesi, Microsoft HoloLens için Insider Preview'da kullanılabilir. Bu önizlemeye erişmek için Windows Insider Programı'na kayıtlı olmanız gerekir; Bkz . Microsoft HoloLens için Insider önizlemesinde Insider derlemelerini almaya başlama.
WebView2 ve WebView eklentisi yalnızca Windows 11 güncelleştirmesini çalıştıran HoloLens 2 cihazlarında desteklenir. Daha fazla bilgi için bkz . HoloLens 2'yi güncelleştirme.
Unity için WebView eklentisini kullanmaya başlama hakkında bilgi için bkz . HoloLens 2 Unity uygulamalarında WebView2'yi kullanmaya başlama.
IWebView Arabirimi
Unity için WebView eklentisinin ana arabirimi.
public interface IWebView
{
event WebView_OnNavigated Navigated;
event WebView_OnCloseRequested WindowCloseRequested;
GameObject GameObject { get; }
Texture2D Texture { get; }
int Width { get; set; }
int Height { get; set; }
Uri Page { get; }
Task OnceCreated { get; }
void Resize(int width, int height);
void Load(Uri url);
void Dispose();
}
IWebView Temsilcileri
public delegate void WebView_OnNavigated(string path);
public delegate void WebView_OnCanGoForwardUpdated(bool value);
IWebView Olayları
IWebView.Navigated Olayı
CoreWebView2.SourceChanged Olayı WebView tarafından tetiklendiğinde tetiklenen olay .
Örnek
webView.Navigated += OnNavigated;
private void OnNavigated(string uri)
{
UrlField.text = uri;
}
IWebView.WindowCloseRequested Olayı
CoreWebView2.WindowCloseRequested Olayı WebView tarafından tetiklendiğinde tetiklenen olay .
Örnek
webView.WindowCloseRequested += OnWindowCloseRequested;
private void OnWindowCloseRequested()
{
Destroy(GameObject);
}
IWebView Özellikleri
IWebView.GameObject Özelliği
Sahnedeki WebView eklentisini temsil eden üst düzey Unity GameObject varlığı. Salt okunur.
IWebView.Texture Özelliği
WebView içeriğinin işlendiği 2B Unity Texture2D nesnesi. Salt okunur
IWebView.Width Özelliği
WebView dokusunun genişliği ve WebView denetimi. Unity sahnesindeki örneğin işlenmiş boyutları IWebView tarafından GameObjectdenetlenmektedir.
IWebView.Height Özelliği
WebView dokusunun ve WebView denetiminin yüksekliği. Unity sahnesindeki örneğin işlenmiş boyutları IWebView tarafından GameObjectdenetlenmektedir.
IWebView.Page Özelliği
Şu anda yüklü olan veya WebView denetimi tarafından gidilmekte olan URI. Salt okunur
IWebView.OnceCreated Özelliği
WebView denetimi tam olarak örneklendiğinde ve kullanıma hazır olduğunda görev yürütülür. Salt okunur
Örnek
webView.OnceCreated.ContinueWith((task) => {
// Finish setting up plugin.
webview.Navigated += OnNavigated;
webview.WindowCloseRequested += OnWindowCloseRequested;
Load(initialURL);
}, TaskScheduler.FromCurrentSynchronizationContext());
IWebView Yöntemleri
IWebView.Resize Yöntemi
WebView2 denetiminin ve Textureboyutunu değiştirir. Ayrıntılar için temel alınan CoreWebView2Controller.Bounds Özelliğine bakın.
Unity sahnesindeki örneğin işlenmiş boyutları IWebView tarafından GameObjectdenetlenmektedir.
Örnek
Resize(600, 400);
IWebView.Load Yöntemi
Belirtilen URI'ye gider. Ayrıntılar için temel alınan CoreWebView2.Navigate Yöntemine bakın.
Örnek
Load(new Uri("https://www.microsoft.com"));
IWebView.Dispose Yöntemi
Bir IWebView örnekle ilgili bellek, tanıtıcılar ve geri çağırmalar gibi kaynakları temizler.
İç belleğin düzgün bir şekilde boşaltıldığından emin olmak için belirli IWebView bir örnekle işiniz bittiğinde bu yöntemi çağırabilirsiniz. Çağrıldıktan IWebView sonra Dispose örnek geçersiz olarak kabul edilmelidir.
Örnek
void OnDestroy()
{
webView.Dispose();
}
IWithMouseEvents Arabirimi
Unity için WebView eklentisi için fare ve işaretçi girişini destekler.
public interface IWithMouseEvents
{
void MouseEvent(WebViewMouseEventData mouseEvent);
}
IWithMouseEvents Yöntemleri
IWithMouseEvents.MouseEvent Yöntemi
Bir WebViewMouseEventData olayı WebView denetimine yayılır. İç mantığa bağlı olarak, olay CoreWebView2Controller.SendMouseInput Yöntemi veya CoreWebView2Controller.SendPointerInput Yöntemi çağrılır.
Örnek
public void OnPointerDown(PointerEventData eventData)
{
IWithMouseEvents mouseEventsWebView = webView as IWithMouseEvents;
// Call hypothetical function which converts the event's x, y into the WebView2's coordinate space.
var hitCoord = ConvertToWebViewSpace(eventData.position.x, eventData.position.y);
WebViewMouseEventData mouseEvent = new WebViewMouseEventData
{
X = hitCoord.x,
Y = hitCoord.y,
Type = PointerEvent.PointerDown,
Button = PointerButton.Left,
TertiaryAxisDeviceType = WebViewMouseEventData.TertiaryAxisDevice.PointingDevice
};
mouseEventsWebView.MouseEvent(mouseEvent);
}
IWithPostMessage Arabirimi
Unity kodu ile barındırılan WebView kodu arasında birlikte çalışma iletişimi için arabirim.
WebView2'de birlikte çalışma hakkında daha fazla bilgi edinmek için bkz . Yerel ve web tarafı kod birlikte çalışma.
public interface IWithPostMessage : IWebView
{
event WebView_OnPostMessage MessageReceived;
void PostMessage(string message, bool isJSON = false);
}
IWithPostMessage Temsilcileri
public delegate void WebView_OnPostMessage(string message);
IWithPostMessage Olayları
IWithPostMessage.MessageReceived Yöntemi
WebView denetiminden yeni bir JavaScript iletisi alındığında tetikleniyor. Ayrıntılar için temel alınan CoreWebView2.WebMessageReceived olayına bakın.
Örnek
(webView as IWithPostMessage).MessageReceived += OnMessageReceived;
void OnMessageReceived(string message)
{
Debug.Log(message);
}
IWithPostMessage Yöntemleri
IWithPostMessage.PostMessage Yöntemi
WebView denetimindeki barındırılan içeriğe bir JavaScript iletisi gönderir. Parametresine isJSON bağlı olarak, bu durum CoreWebView2.PostWebMessageAsString Yönteminin veya CoreWebView2.PostWebMessageAsJson Yönteminin çağrılmasıyla sonuçlanır.
var msg = new MyMessage("updateText", "Updated from Unity!");
(webView as IWithPostMessage).PostMessage(JsonUtility.ToJson(msg), true);
IWithBrowserHistory Arabirimi
Önceki bir sayfaya gitme gibi tarayıcı geçmişiyle ilgili işlevleri işler.
public interface IWithBrowserHistory : IWebView
{
event WebView_OnCanGoForwardUpdated CanGoForwardUpdated;
event WebView_OnCanGoBackUpdated CanGoBackUpdated;
void GoBack();
void GoForward();
}
IWithBrowserHistory Temsilcileri
public delegate void WebView_OnCanGoBackUpdated(bool value);
public delegate void WebView_OnCloseRequested();
IWithBrowserHistory Olayları
IWithBrowserHistory.CanGoForwardUpdated Olayı
Gezinti gerçekleştiğinde tetiklenen. CoreWebView2.CanGoForward Özelliği ise trueolay temsilcisi bir true değer sağlar.
Örnek
(webView as IWithBrowserHistory).CanGoBackUpdated += OnCanGoBack;
void OnCanGoBack(bool value)
{
BackButton.enabled = value;
}
IWithBrowserHistory.CanGoBackUpdated Olayı
Gezinti gerçekleştiğinde tetiklenen. Olay temsilcisi, CoreWebView2.CanGoBack Özelliği ise truebir true değer sağlar.
Örnek
(webView as IWithBrowserHistory).CanGoForwardUpdated += OnCanGoForward;
void OnCanGoForward(bool value)
{
ForwardButton.enabled = value;
}
IWithBrowserHistory Yöntemleri
IWithBrowserHistory.GoBack Yöntemi
Önceki sayfaya gider. Ayrıntılar için temel alınan CoreWebView2.GoBack Yöntemine bakın.
Örnek
(webView as IWithBrowserHistory).GoBack();
IWithBrowserHistory.GoForward Yöntemi
Sonraki sayfaya gider. Ayrıntılar için temel alınan CoreWebView2.GoForward Yöntemine bakın.
Örnek
(webView as IWithBrowserHistory).GoForward();