Language: HTML | XAML

快速入門:傳送徽章更新 (XAML)

Applies to Windows and Windows Phone

附註  不是使用 C#/VB/C++?請參閱快速入門:傳送徽章更新 (HTML)

這個主題說明如何在磚上建立或更新徽章。您將會傳送徽章通知,其中包括字符或數值。您也會學到如何移除磚上的徽章。

徽章是磚上顯示的數字或字符,用來表示應用程式的狀態。徽章是磚上的重疊項,而不是磚的一部分。它可以顯示在磚上的許多地方:

  • 使用由左往右語言 (例如英文) 的 Windows 上顯示在右下角
  • 使用由右往左語言 (例如阿拉伯文) 的 Windows 上顯示在左下角
  • 使用由左往右語言的 Windows Phone 8.1 上顯示在右上角
  • 使用由右往左語言的 Windows Phone 8.1 上顯示在左上角

徽章可透過它本身的 API 與結構描述來操作,並透過它本身的通知來更新。這個主題會逐步引導您完成定義徽章內容、透過通知傳送該內容,以及在不再需要該內容時予以移除等程序。 這些動作是使用本機通知示範的,而本機通知是實作上最簡單的通知。

附註  在這個主題中,您將直接透過 XML 文件物件模型 (DOM) 來操作通知內容。另外還有透過 NotificationsExtensions 程式庫的選擇性方法,這個程式庫會以物件屬性的形式呈現 XML 內容,包含 Intellisense。如需詳細資訊,請參閱快速入門:在程式碼中使用 NotificationsExtensions 程式庫。若要查看這個主題中以 NotificationsExtenstions 表示的程式碼,請參閱應用程式磚和徽章範例

先決條件

為了解這個主題,您將需要:

  • 徽章與通知詞彙及概念的實用知識。如需詳細資訊,請參閱磚、徽章及通知
  • 熟悉徽章 XML 結構描述。如需詳細資訊,請參閱徽章結構描述
  • 能夠使用 Windows 執行階段 API 透過 C#、C++ 或 Microsoft Visual Basic 建立基本 Windows 市集應用程式。如需詳細資訊,請參閱使用 C# 或 Visual Basic 建立您的第一個 Windows 市集應用程式
  • 了解如何為 Extensible Application Markup Language (XAML) 的 Windows 市集應用程式建立程式碼後置。
  • 熟悉 XML 和透過文件物件模型 (DOM) API 操作 XML 的方法。

指示

1. 新增命名空間宣告

Windows.UI.Notifications 包含徽章 API。



using namespace Windows::UI::Notifications;
using namespace Windows::Data::Xml::Dom;

2. 選擇要顯示數字或字符

徽章可以顯示 0-99 的數字,或是系統定義的一組狀態字符的其中一個字符。您選擇的徽章將取決於您的情況。例如,電子郵件程式可顯示未讀郵件的數目,或在新郵件抵達時顯示「新郵件」字符。如需可用字符的詳細資訊,請參閱徽章概觀。如需數字或字符之使用時機的詳細資訊,請參閱磚與徽章的指導方針和檢查清單

  • Applies to Windows Phone

從 Windows Phone 8.1 開始,手機徽章只支援「警示」和「注意」狀態字符和數字。傳送任何其他字符到手機將會清除徽章。

編號徽章與字符徽章是透過個別的特定徽章範本所定義。您必須針對您決定的徽章類型擷取適當的範本。以下範例會擷取數字徽章的範本。



XmlDocument^ badgeXml = BadgeUpdateManager::GetTemplateContent(BadgeTemplateType::BadgeNumber);

以下範例會擷取字符徽章的範本。



XmlDocument^ badgeXml = BadgeUpdateManager::GetTemplateContent(BadgeTemplateType::BadgeGlyph);

3. 指定徽章的值。

以下範例會從範本擷取 badge 元素,並為它指派一個數值。



XmlElement^ badgeElement = dynamic_cast<XmlElement^>(badgeXml->SelectSingleNode("/badge"));
badgeElement->SetAttribute("value", "7");

以下範例會指定徽章的字符值。



XmlElement^ badgeElement = dynamic_cast<XmlElement^>(badgeXml->SelectSingleNode("/badge"));
badgeElement->SetAttribute("value", "newMessage");

4. 建立徽章通知,然後傳送給徽章。

以下範例會將您定義的 XML 封裝至通知中,然後傳送給徽章。



BadgeNotification^ badge = ref new BadgeNotification(badgeXml);
BadgeUpdateManager::CreateBadgeUpdaterForApplication()->Update(badge);

5. 選用:在徽章不再有效時予以清除

如果透過徽章數字或字符所傳達的資訊已過期或不再有幫助,就應該移除徽章。下列程式碼會從呼叫應用程式磚移除目前的徽章。您也可以傳送「無」值做為徽章更新,取代呼叫 Clear 方法。

附註  和磚不同,徽章可以透過雲端清除。



BadgeUpdateManager::CreateBadgeUpdaterForApplication()->Clear();

摘要與後續步驟

在這個快速入門中,您已定義並傳送新內容到應用程式磚上的徽章,並在徽章不再有效時予以移除。

這個快速入門將徽章更新以本機通知的形式傳送。您也可以探索其他通知傳遞方法:排程、定期及推播。如需詳細資訊,請參閱傳遞通知

相關主題

徽章概觀
徽章結構描述
如何設定徽章的定期通知
BadgeTemplateType
BadgeNotification

 

 

顯示:
© 2014 Microsoft