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.
Important
Cihaz meta verileri kullanım dışıdır ve windows'un gelecek bir sürümünde kaldırılacaktır. Bu işlevin değiştirilmesi hakkında bilgi için bkz . Sürücü Paketi Kapsayıcı Meta Verileri.
UWP cihaz uygulamaları, v4 yazdırma sürücüsünden gönderilen çift yönlü iletişim (Bidi) olaylarına yanıt verebilir. Bu makalede yazdırma bildirimleri tanıtılır ve Yazdırma ayarları ve yazdırma bildirimleri örneğinin C# sürümünün yazdırma bildirimine yanıt vermek için arka plan görevini nasıl kullandığı gösterilir. Arka plan görevi, bildirim ayrıntılarını yerel uygulama veri deposuna kaydetmeyi, bildirim göndermeyi ve kutucuğu ve rozeti güncelleştirmeyi gösterir. Genel olarak UWP cihaz uygulamaları hakkında daha fazla bilgi edinmek için bkz. UWP cihaz uygulamalarıyla tanışın.
Yazdırma ayarları ve yazdırma bildirimleri örneğinin C# sürümü, BackgroundTask projesinde uygulamanın arka plan bölümünü (arka plan görevi) gösterir. The code for the background task is in the PrintBackgroundTask.cs file. The foreground app, the full-screen app that can be launched from Start, is in the DeviceAppForPrinters project. The InkLevel.xaml.cs file shows one way that notification details can be accessed from the foreground app. To work with print notifications, the sample uses the printer extension library in the PrinterExtensionLibrary project. Yazıcı uzantısı kitaplığı, v4 yazdırma sürücüsünün yazıcı uzantısı arabirimlerine erişmek için kullanışlı bir yol sağlar. Daha fazla bilgi için bkz. Yazıcı uzantısı kitaplığına genel bakış.
Bu makalede gösterilen kod örnekleri , Yazdırma ayarları ve yazdırma bildirimleri örneğinin C# sürümünü temel alır. Bu örnek JavaScript ve C++ ile de kullanılabilir. C++ COM'a doğrudan erişebildiğinden, örneğin C++ sürümü kod kitaplığı projelerini içermez. Kodun en son sürümlerini görmek için örnekleri indirin.
Print notifications
Yazdırma bildirimleri, UWP cihaz uygulamanızın yazdırma sırasında kağıt sıkışması, yazıcı kapısını açma, düşük mürekkep düzeyleri veya yazıcı yetersiz hataları gibi önemli yazıcı olaylarını kullanıcıya bildirmesini sağlar. Yazıcı bir bildirim tetiklediğinde, sistem olay aracısı uygulamanızın arka plan görevini çalıştırır. Buradan, arka plan görevi bildirim ayrıntılarını kaydedebilir, bildirim gönderebilir, kutucuğu güncelleştirebilir, rozeti güncelleştirebilir veya hiçbir şey yapmaz. Uygulamanız, bildirim ayrıntılarını kaydederek kullanıcıların yazıcı sorunlarını anlamasına ve düzeltmesine yardımcı olan bir deneyim sağlayabilir.
Yazıcı üreticileri, UWP cihaz uygulamalarıyla yazdırma bildirimlerini kullanmak için v4 yazdırma sürücülerinde Bidi ve DriverEvent XML dosyasını uygulamalıdır. For more information, see Bidirectional Communications.
Bir DriverEvent gerçekleştiğinde ve UWP cihaz uygulamasının arka plan görevi başlatıldığında, uygulamanın nasıl ilerleyebileceğine ilişkin çeşitli seçenekleri vardır. Görevin başlatılmasına yol açan akış hakkında daha fazla bilgi için bkz. Özelleştirilmiş Kullanıcı Arabirimi için Sürücü Desteği.
Arka plan görevi aşağıdakileri seçebilir:
- Do nothing
- Bildirim ayrıntılarını yerel uygulama veri deposuna kaydetme
- UWP uygulaması kutucuk bildirimini güncelleştirme
- UWP uygulama bildirimini güncelleştirme rozeti
- UWP uygulaması bildirim gönderme
Kutucuk bildirimi veya bildirim, kullanıcının ön plan uygulamanızı rahatça başlatmasını sağlayabilir. When the foreground app is launched, it can use the OnLaunched method in App.xaml.cs to check if it was launched by a tile or toast. Varsa, ön plan uygulaması yerel uygulama veri deposundaki tüm yazdırma bildirimi ayrıntılarına erişebilir.
Prerequisites
Başlamadan önce:
Yazıcınızın bir v4 yazdırma sürücüsü kullanılarak yüklendiğinden emin olun. Daha fazla bilgi için bkz . v4 yazdırma sürücüleri geliştirme.
Geliştirme bilgisayarınızı ayarlayın. See Getting started for information about downloading the tools and creating a developer account.
Uygulamanızı mağazayla ilişkilendirin. Daha fazla bilgi için bkz. UWP cihaz uygulaması oluşturma.
Yazıcınızı uygulamanızla ilişkilendiren cihaz meta verileri oluşturun. Daha fazla bilgi için bkz. Cihaz meta verileri oluşturma.
Uygulamanızın ana sayfası için kullanıcı arabirimini oluşturun. Tüm UWP cihaz uygulamaları, tam ekran görüntülendiği Başlangıç ekranından başlatılabilir. Ürün veya hizmetlerinizi, cihazlarınızın belirli markalarına ve özelliklerine uygun şekilde vurgulamak için Başlangıç deneyimini kullanın. Kullanabileceği kullanıcı arabirimi denetimlerinin türüyle ilgili özel bir kısıtlama yoktur. Tam ekran deneyiminin tasarımını kullanmaya başlamak için Microsoft Store tasarım ilkelerine bakın.
If you're writing your app with C# or JavaScript, add the PrinterExtensionLibrary and DeviceAppForPrintersLibrary projects to your UWP device app solution. Bu projelerin her birini yazdırma ayarları ve yazdırma bildirimleri örneğinde bulabilirsiniz.
C++ COM'a doğrudan erişebildiğinden, C++ uygulamaları COM tabanlı yazıcı cihaz bağlamıyla çalışmak için ayrı bir kitaplık gerektirmez.
1. Adım: Arka plan görevini kaydetme
Windows'un uygulamanın yazdırma bildirimlerini işleyebildiğini fark edebilmesi için, yazdırma bildirimleri için bir arka plan görevleri uzantısı kaydetmesi gerekir. Bu uzantı bir öğesinde Extension bildirilir ve Category öznitelik olarak ve EntryPointwindows.backgroundTasks özniteliği olarak BackgroundTask.PrintBackgroundTaskayarlanır. Uzantı, görev türlerini desteklediğini systemEvent belirten bir Task öğe de içerir.
You can add the print background task extension on the Declarations tab of the Manifest Designer in Microsoft Visual Studio. Xml (Metin) Düzenleyicisi'ni kullanarak uygulama paketi bildirim XML'sini el ile de düzenleyebilirsiniz. Right-click the Package.appxmanifest file in Solution Explorer for editing options.
This example shows the background task extension in the Extension element, as it appears in the app package manifest file, Package.appxmanifest.
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
<Identity Name="Microsoft.SDKSamples.DeviceAppForPrinters.CS" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.0.0.0" />
<Properties>
<DisplayName>Device App For Printers C# sample</DisplayName>
<PublisherDisplayName>Microsoft Corporation</PublisherDisplayName>
<Logo>Assets\storeLogo-sdk.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3.0</OSMinVersion>
<OSMaxVersionTested>6.3.0</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="DeviceAppForPrinters" Executable="$targetnametoken$.exe" EntryPoint="DeviceAppForPrinters.App">
<VisualElements DisplayName="Device App For Printers C# sample" Logo="Assets\squareTile-sdk.png"
SmallLogo="Assets\smallTile-sdk.png" Description="DeviceAppForPrinters C# sample"
ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="true">
<DefaultTile ShowName="allLogos" ShortName="App4PrinterCS" WideLogo="Assets\tile-sdk.png" />
<SplashScreen Image="Assets\splash-sdk.png" BackgroundColor="#00b2f0" />
</VisualElements>
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="BackgroundTask.PrintBackgroundTask">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.printTaskSettings" Executable="$targetnametoken$.exe" EntryPoint="DeviceAppForPrinters.App" />
</Extensions>
</Application>
</Applications>
</Package>
2. Adım: Cihaz meta verilerini yapılandırma
Uygulamanızı cihazınızla ilişkilendirmek için Cihaz Meta Veri Yazma Sihirbazı'nı kullanırken UWP cihaz uygulaması bilgilerini belirtin sayfasındaki Bildirim işleyicileri kutusunu tamamladığınızdan emin olun. Bu, yazdırma bildirimi sırasında uygulamanızın arka plan görevinin çağrılmasını sağlamaya yardımcı olur.
For step-by-step instructions on how to edit your device metadata, see the Testing section.
3. Adım: Kullanıcı arabirimini oluşturma
Uygulamanızı oluşturmadan önce kullanıcı deneyimini tasarlamak için tasarımcılarınız ve pazarlama ekibinizle birlikte çalışmanız gerekir. Kullanıcı deneyimi, şirketinizin marka özelliklerini yansıtmalı ve kullanıcılarınızla bağlantı kurmanıza yardımcı olmalıdır.
Design guidelines
Kutucuk ve rozet deneyiminizi tasarlamadan önce Microsoft Store uygulama yönergelerini gözden geçirmeniz önemlidir. Yönergeler, uygulamanızın diğer UWP uygulamalarıyla tutarlı sezgisel bir deneyim sağlamasına yardımcı olur.
Uygulamanızın ana sayfasında, Windows 8.1'in tek bir monitörde çeşitli boyutlarda birden çok uygulama görüntüleyebileceğini unutmayın. Uygulamanızın ekran boyutları, pencere boyutları ve yönlendirmeler arasında uygun bir şekilde nasıl yeniden düzenleyebileceği hakkında daha fazla bilgi edinmek için aşağıdaki rehberlere bakın.
- Pencere boyutları ve ekranlara ölçeklendirme yönergeleri
- Pencereleri uzun ve dar düzenlere yeniden boyutlandırma yönergeleri
Best practices
Bildirimlere eylem sözcükleri eklemeyin. Bildirim iletisinde, kullanıcılara bildirim göndermelerini, basmalarını veya seçmelerini söyleyen bir metin kullanmayın. Kullanıcılar daha fazla bilgi bulmak için bir bildirime basabileceklerini zaten anlamışlardır. Örneğin, "Yazıcınızda mürekkep az" yerine "Yazıcınızın mürekkep yetersiz" yazmanız yeter. Sorun gidermek için basın".
Etkileşimleri basit tutun. Bildirim deneyiminde gösterilen her şey bildirimle ilgili olmalıdır. Örneğin, kağıt sıkışması ile ilgili bir bildirim sayfasında yalnızca bu sorunu çözmeyle ilgili bağlantılar ve bilgiler bulunmalıdır. Mürekkep satın alma veya diğer destek bilgileri gibi ilgisiz deneyimlere bağlantılar içermemelidir.
Use multimedia. Kullanıcıların cihazlarıyla ilgili bir sorunu hızla çözmesine yardımcı olmak için gerçek fotoğrafları, videoları veya cihazın çizimlerini kullanın.
Kullanıcıları uygulamanızın bağlamında tutun. Bir sorun hakkında bilgi sağlarken çevrimiçi veya diğer destek malzemelerine bağlantı verme. Kullanıcıyı uygulama bağlamında tutun.
4. Adım: Arka plan görevi oluşturma
Uygulamanız yazdırma bildirimleri için bir arka plan görevi kaydederse, arka plan görevi etkinleştirmesi için bir işleyici sağlaması gerekir.
Yazdırma ayarları ve yazdırma bildirimleri örneğindePrintBackgroundTask, sınıf yazdırma bildirimlerini işler.
Yazıcınızın durumu hemen kullanıcı müdahalesi gerektirmiyorsa, bildirim göstermek yerine kutucuğu güncelleştirin. Örneğin, düşük mürekkep koşulu için kutucuk güncelleştirmesi yeterlidir. Ancak yazıcıda mürekkep yoksa uygulama bir bildirim gösterebilir.
Bildirim ayrıntılarını kaydetme
Arka plan görevi ön plan uygulamasını doğrudan başlatamaz, yalnızca kullanıcı başlatabilir: bir kutucuktan, bildirimden veya Başlat'tan. Bu nedenle, ön plan uygulamasının yazdırma bildirimi ayrıntılarına erişebildiğinden emin olmak için arka plan görevi bunları yerel depolama alanına kaydeder. Yerel depolamayı kullanma hakkında daha fazla bilgi için bkz . Hızlı Başlangıç: yerel uygulama verileri.
Bir yazdırma bildirimi tetiklendiğinde, Windows yöntemini çağırarak Run arka plan görevini çalıştırır. Bildirim verileri, Windows.Devices.Printers.Extensions.PrintNotificationEventDetails yazmak için atanması gereken bir yöntem parametresi aracılığıyla arka plan görevine geçirilir. Bu PrinterName nesnenin ve EventData özellikleri sırasıyla yazıcı adını ve Bidi iletisini taşır.
This example shows the background task's Run method, in the PrintBackgroundTask.cs file, where the print notification details are saved to app settings before the toast, tile, and badge methods are called.
public void Run(Windows.ApplicationModel.Background.IBackgroundTaskInstance taskInstance)
{
// Save notification details to local storage
PrintNotificationEventDetails details = (PrintNotificationEventDetails)taskInstance.TriggerDetails;
settings.Values[keyPrinterName] = details.PrinterName;
settings.Values[keyAsyncUIXML] = details.EventData;
// Demonstrate possible actions
ShowToast(details.PrinterName, details.EventData);
UpdateTile(details.PrinterName, details.EventData);
UpdateBadge();
}
Kutucuğu güncelleştirme
Yazdırma bildirimi ayrıntıları yöntemine UpdateTile gönderildiğinde, örneğin arka plan görevi bunların bir kutucukta nasıl görüntüleneceğini gösterir. Kutucuklar hakkında daha fazla bilgi için bkz . Kutucuk ve kutucuk bildirimine genel bakış.
This example shows the background task's UpdateTile method, in the PrintBackgroundTask.cs file.
void UpdateTile(string printerName, string bidiMessage)
{
TileUpdater tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
tileUpdater.Clear();
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150Text09);
XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");
tileTextAttributes[0].InnerText = printerName;
tileTextAttributes[1].InnerText = bidiMessage;
TileNotification tileNotification = new TileNotification(tileXml);
tileNotification.Tag = "tag01";
tileUpdater.Update(tileNotification);
}
Rozet güncelleştirme
yöntemi, UpdateBadge rozeti güncelleştirmek için BadgeNotification sınıfının nasıl kullanılacağını gösterir. For more information about tiles, see Badge overview.
This example shows the background task's UpdateBadge method, in the PrintBackgroundTask.cs file.
void UpdateBadge()
{
XmlDocument badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
XmlElement badgeElement = (XmlElement)badgeXml.SelectSingleNode("/badge");
badgeElement.SetAttribute("value", "error");
var badgeNotification = new BadgeNotification(badgeXml);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeNotification);
}
Kadeh kaldırma
Bildirim bildirimi, kullanıcıya ilgili, zamana duyarlı bilgiler içeren ve bir uygulamadaki ilgili içeriğe hızlı erişim sağlayan geçici bir iletidir. Kullanıcılara bildirim bildirimleri, ilgi çekici bir şeyi takip etmek üzere uygulamanıza geri dönme daveti olarak görüntülenmelidir. Daha fazla bilgi için bkz . Bildirim bildirimine genel bakış.
Bildirim bildirimlerini etkinleştirmek için uygulamanın uygulama paketi bildiriminde bildirim özelliğine sahip olduğunu kaydetmesi gerekir. öğesinde VisualElements özniteliğini ToastCapable true olarak ayarlayın.
Important
Özellikle de tasdik edilemeyen olaylar için her zaman bir bildirim göstermenizi önermeyiz. Bu, kullanıcılar için can sıkıcı hale gelebilir ve bir uygulamadan gelen tüm bildirimleri kapatmalarına neden olabilir. Kullanıcının hemen ilgilenmesini gerektirmeyen olaylar için yalnızca kutucuğu ve rozeti güncelleştirmenizi ve bildirim göstermemenizi öneririz.
This example shows the ToastCapable attribute in the VisualElements element, as it appears in the app package manifest file, Package.appxmanifest.
<VisualElements DisplayName="Device App For Printers C# sample" Logo="Assets\squareTile-sdk.png"
SmallLogo="Assets\smallTile-sdk.png" Description="DeviceAppForPrinters C# sample"
ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="true">
<DefaultTile ShowName="allLogos" ShortName="App4PrinterCS" WideLogo="Assets\tile-sdk.png" />
<SplashScreen Image="Assets\splash-sdk.png" BackgroundColor="#00b2f0" />
</VisualElements>
This example is from the ShowToast method of the PrintBackgroundTask.cs file. ve bodyadlı title iki dizeyi temel alan bir bildirim oluşturmayı gösterir.
void ShowToast(string title, string body)
{
//
// Get Toast template
//
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
//
// Pass to app as eventArgs.detail.arguments
//
((XmlElement)toastXml.SelectSingleNode("/toast")).SetAttribute("launch", title);
//
// The ToastText02 template has 2 text nodes (a header and a body)
// Assign title to the first one, and body to the second one
//
XmlNodeList textList = toastXml.GetElementsByTagName("text");
textList[0].AppendChild(toastXml.CreateTextNode(title));
textList[1].AppendChild(toastXml.CreateTextNode(body));
//
// Show the Toast
//
ToastNotification toast = new ToastNotification(toastXml);
ToastNotificationManager.CreateToastNotifier().Show(toast);
}
5. Adım: Etkinleştirmeyi işleme
Bir yazdırma bildirimi arka plan görevini tetikledikten sonra, bir bildirim bildirimine veya kutucuğa dokunarak uygulama başlatılabilir. Uygulamanız ikisinden de etkinleştirildiyse, özelliği aracılığıyla LaunchActivatedEventArgs.arguments uygulamaya bir parametre geçirilir. For more information about activation and the Microsoft Store app lifecycle, see Application lifecycle.
Uygulamanızın bu durumlardan birinde etkinleştirilip etkinleştirilmediğini belirlemek için olayı işleyip OnLaunched olay işleyicisine geçirilen olay bağımsız değişkenlerini inceleyin. Olay bağımsız değişkenleri null ise, uygulama Kullanıcı tarafından Başlat'tan etkinleştirilmiştir. Olay bağımsız değişkenleri null değilse, uygulama bir bildirim veya kutucuktan başlatılmış demektir.
This example is from the OnLaunched method of the App.xaml.cs file. Bildirim veya kutucuklardan etkinleştirmenin nasıl işleneceğini gösterir.
protected override async void OnLaunched(LaunchActivatedEventArgs args)
{
Frame rootFrame = Window.Current.Content as Frame;
// Do not repeat app initialization when the Window already has content,
// just ensure that the window is active
if (rootFrame == null)
{
// Create a Frame to act as the navigation context and navigate to the first page
rootFrame = new Frame();
// Associate the frame with a SuspensionManager key
SuspensionManager.RegisterFrame(rootFrame, "AppFrame");
if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
// Restore the saved session state only when appropriate
try
{
await SuspensionManager.RestoreAsync();
}
catch (SuspensionManagerException)
{
//Something went wrong restoring state.
//Assume there is no state and continue
}
}
// Place the frame in the current Window
Window.Current.Content = rootFrame;
}
if (rootFrame.Content == null || !String.IsNullOrEmpty(args.Arguments))
{
// When the navigation stack isn't restored or there are launch arguments
// indicating an alternate launch (e.g.: via toast or secondary tile),
// navigate to the appropriate page, configuring the new page by passing required
// information as a navigation parameter
if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
{
throw new Exception("Failed to create initial page");
}
}
// Ensure the current window is active
Window.Current.Activate();
}
6. Adım: Bildirim ayrıntılarına erişme
Arka plan görevi ön plan uygulamasını doğrudan başlatamadığından, ön plan uygulamasının bunlara erişebilmesi için yazdırma bildirimi ayrıntılarının uygulamanın ayarlarına kaydedilmesi gerekir. Yerel depolamayı kullanma hakkında daha fazla bilgi için bkz . Hızlı Başlangıç: yerel uygulama verileri.
Bu örnek, yazdırma ayarları ve yazdırma bildirimleri örneğindeki uygulama ayarlarından yazıcı adı ve Bidi iletisinin nasıl alınıp alınıp alınılmayacağınızı gösterir. The code is from the DisplayBackgroundTaskTriggerDetails method of the InkLevel.xaml.cs file. The key index values, keyPrinterName, and keyAsyncUIXML, are the same string constants that are used in the background task, PrintBackgroundTask.cs.
void DisplayBackgroundTaskTriggerDetails()
{
String outputText = "\r\n";
try
{
string printerName = settings.Values[keyPrinterName].ToString();
outputText += ("Printer name from background task triggerDetails: " + printerName);
}
catch (Exception)
{
outputText += ("No printer name retrieved from background task triggerDetails ");
}
outputText += "\r\n";
try
{
string asyncUIXML = settings.Values[keyAsyncUIXML].ToString();
outputText += ("AsyncUI xml from background task triggerDetails: " + asyncUIXML);
}
catch (Exception)
{
outputText += ("No asyncUI xml retrieved from background task triggerDetails ");
}
ToastOutput.Text += outputText;
}
Testing
UWP cihaz uygulamanızı test etmeden önce, cihaz meta verileri kullanılarak yazıcınıza bağlanmalıdır.
Cihaz uygulaması bilgilerini eklemek için yazıcınızın cihaz meta veri paketinin bir kopyasına ihtiyacınız vardır. Cihaz meta verileriniz yoksa, UWP cihaz uygulamanız için cihaz meta verileri oluşturma makalesinde açıklandığı gibi Cihaz Meta Verileri Yazma Sihirbazı'nı kullanarak oluşturabilirsiniz.
Bu makaledeki adımları tamamlamadan önce , Cihaz Meta Veri Yazma Sihirbazı'nı kullanmak için Microsoft Visual Studio Professional, Microsoft Visual Studio Ultimate veya Windows 8.1 için tek başına SDK'yı yüklemeniz gerekir. Windows için Microsoft Visual Studio Express'in yüklenmesi, SDK'nın sihirbazı içermeyen bir sürümünü yükler.
Aşağıdaki adımlar uygulamanızı oluşturur ve cihaz meta verilerini yükler.
Test imzalamayı etkinleştirin.
%ProgramFiles(x86)%\Windows Kits\8.1\bin\x86 klasöründeki DeviceMetadataWizard.exe dosyasına çift tıklayarak Cihaz Meta Verisi Yazma Sihirbazı’nı başlatın.
From the Tools menu, select Enable Test Signing.
Bilgisayarı yeniden başlatın
Çözüm (.sln) dosyasını açarak çözümü oluşturun. F7 tuşuna basın veya örnek yüklendikten sonra üstteki menüden Derleme Çözümü'ne> gidin.
Yazıcının bağlantısını kesin ve kaldırın. Cihaz bir sonraki algılandığında Windows'un güncelleştirilmiş cihaz meta verilerini okuması için bu adım gereklidir.
Cihaz meta verilerini düzenleyin ve kaydedin. Cihaz uygulamasını cihazınıza bağlamak için cihaz uygulamasını cihazınızla ilişkilendirmeniz gerekir.
Cihaz meta verileriniz henüz oluşturulmadıysa bkz. UWP cihaz uygulamanız için cihaz meta verileri oluşturma.
Cihaz Meta Veri Yazma Sihirbazı henüz açık değilse,DeviceMetadataWizard.exeçift tıklayarak%ProgramFiles (x86)%\Windows Kits\8.1\bin\x86'dan başlatın.
Cihaz Meta Verilerini Düzenle'yi seçin. Bu seçenek, mevcut cihaz meta veri paketinizi düzenlemenizi sağlar.
In the Open dialog box, locate the device metadata package associated with your UWP device app. (It has a devicemetadata-ms file extension.)
UWP cihaz uygulaması bilgilerini belirtin sayfasında, UWP cihaz uygulaması kutusuna Microsoft Store uygulama bilgilerini girin. Paket adını, Yayımcı adını ve UWP uygulama kimliğini otomatik olarak girmek için UWP uygulamabildirim dosyasını içeri aktar'ı seçin.
If your app is registering for printer notifications, fill out the Notification handlers box. In Event ID, enter the name of the print event handler. In Event Asset, enter the name of the file where that code resides.
When you're done, select Next until you get to the Finish page.
Cihaz meta veri paketini gözden geçir sayfasında, tüm ayarların doğru olduğundan emin olun ve Cihaz meta veri paketini yerel bilgisayardaki meta veri deposuna kopyala onay kutusunu seçin. Then select Save.
Windows'un cihaz bağlandığında güncelleştirilmiş cihaz meta verilerini okuması için yazıcınızı yeniden bağlayın.
Troubleshooting
Sorun: Varsayılan bildirim görünmüyor
Beklendiğinde varsayılan yazdırma bildirimi görünmüyorsa...
Possible cause: Test signing isn't turned on. Açma hakkında bilgi için bu makaledeki Hata Ayıklama bölümüne bakın.
Possible cause: Toast notifications are disabled by domain policies. Etki alanını bırakın ve yeniden deneyin.
Possible cause: The printer hasn't implemented DriverEvents. v4 sürücünüzün Bidi ve DriverEvents'i destekleyip desteklemediğini denetleyin. Daha fazla bilgi için bkz. Özelleştirilmiş Kullanıcı Arabirimi için Sürücü Desteği.
Possible cause: The machine has no recent job in the printer queue. Ekranınızın sağ alt köşesinde yazıcı simgesinin gösterildiğinden emin olun. Aksi takdirde, başka bir yazdırma işi gönderin.
Possible cause: Your entry point for the background task (
IBackgroundTask) is within the same project as your foreground app. Bu senaryoya izin verilmez. Arka plan görev işleyiciniz için tamamen yeni bir sınıfı ayırın.Possible cause: The class that is the entry point for notifications in your app is incorrectly given in your manifest or device metadata, causing the app to crash within the background host and not showing any toast. Aşağıdaki sorunları denetleyin:
Make sure the entry point is given correctly in the Declarations tab of the Manifest Designer. C# ve C++ için Namespace.ClassName biçiminde olmalıdır. JavaScript için, .js dosyasının göreli dizin yolu olmalıdır.
JavaScript uygulaması tamamlandıktan sonra close() öğesini çağırmalıdır.
C# sınıfının Windows.ApplicationModel.Background.IBackgroundTask uygulaması ve genel bir void
Run(Windows.ApplicationModel.Background.IBackgroundTaskInstance taskInstance)yöntemine sahip olması gerekir.C++ sınıfının Windows::ApplicationModel::Background::IBackgroundTask uygulamasının ve bir
virtual void Run(Windows::ApplicationModel::Background::IBackgroundTaskInstance^ taskInstance)yöntemi olması gerekir.
Related articles
- Rozete genel bakış (UWP uygulamaları)
- Kutucuk ve kutucuk bildirimine genel bakış (UWP uygulamaları)
- Kutucuklar ve rozetler için yönergeler ve denetim listesi (UWP uygulamaları)
- Bildirim bildirimine genel bakış (UWP uygulamaları)
- Bildirim bildirimleri (UWP uygulamaları) için yönergeler ve denetim listesi
- Özelleştirilmiş Kullanıcı Arabirimi için Sürücü Desteği
- v4 yazdırma sürücüleri geliştirme
- Yazıcı Uzantısı Arabirimleri (v4 Yazdırma Sürücüsü)
- Bidirectional Communications
- UWP uygulamalarını kullanmaya başlama
- UWP cihaz uygulaması oluşturma (adım adım kılavuz)
- UWP cihaz uygulaması için cihaz meta verileri oluşturma (adım adım kılavuz)