تعبيرات التوجيه والعلامات

نظرة عامة

تمكّنك تعبيرات العلامات من استهداف مجموعات معينة من الأجهزة، أو التسجيلات بشكل أكثر تحديداً، عند إرسال إعلام منبثق من خلال Notification Hubs.

استهداف تسجيلات محددة

الطريقة الوحيدة لاستهداف تسجيلات إعلامات محددة هي إقران العلامات بها، ثم استهداف تلك العلامات. كما ناقشنا في إدارة التسجيل، لتلقي الإعلامات المنبثقة، يجب على التطبيق تسجيل مؤشر الجهاز على مركز الإعلامات. بمجرد أن ينشئ التطبيق تسجيلاً على مركز الإعلامات، يمكن للواجهة الخلفية للتطبيق إرسال إعلامات منبثقة إليه. يمكن للواجهة الخلفية للتطبيق اختيار التسجيلات التي تريد استهدافها بإعلام معين بالطرق التالية:

  1. البث: تتلقى جميع التسجيلات في مركز الإعلامات الإعلام.
  2. العلامة: تتلقى جميع التسجيلات التي تحتوي على العلامة المحددة الإعلام.
  3. تعبير العلامة: تتلقى جميع التسجيلات التي تتطابق مجموعة علاماتها مع التعبير المحدد الإعلام.

علامات

يمكن أن تكون العلامة أي سلسلة، تصل إلى 120 حرفاً، تحتوي على أحرف أبجدية رقمية والأحرف غير الأبجدية الرقمية التالية: "_"، "@"، "#"، "."، ":"، "-". يوضح المثال التالي تطبيقاً يمكنك من خلاله تلقي إعلامات منبثقة حول مجموعات موسيقية معينة. في هذا السيناريو، تتمثل إحدى الطرق البسيطة لتوجيه الإعلامات في تسمية التسجيلات بالعلامات التي تمثل الفرق الموسيقية المختلفة، كما هو موضح في الشكل التالي:

نظرة عامة على العلامات

في الشكل، تصل الرسالة الموسومة بـ Beatles إلى الكمبيوتر اللوحي الذي سجّل مع علامة Beatles.

لمزيد من المعلومات حول إنشاء تسجيلات للعلامات، راجع إدارة التسجيل.

يمكنك إرسال إعلامات إلى العلامات باستخدام أساليب إرسال الإعلامات للفئة Microsoft.Azure.NotificationHubs.NotificationHubClient في Microsoft Azure Notification Hubs SDK. يمكنك أيضاً استخدام Node.js أو واجهات برمجة تطبيقات REST للإعلامات المنبثقة. وفيما يلي مثال باستخدام SDK.

Microsoft.Azure.NotificationHubs.NotificationOutcome outcome = null;

// Windows 8.1 / Windows Phone 8.1
var toast = @"<toast><visual><binding template=""ToastText01""><text id=""1"">" +
"You requested a Beatles notification</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, "Beatles");

// Windows 10
toast = @"<toast><visual><binding template=""ToastGeneric""><text id=""1"">" +
"You requested a Wailers notification</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, "Wailers");

يجب عدم توفير العلامات مسبقاً، ويمكن أن تشير إلى مفاهيم متعددة خاصة بالتطبيق. على سبيل المثال، يمكن لمستخدمي هذا التطبيق المثال التعليق على الفرق الموسيقية وتلقي الإعلامات المنبثقة، ليس فقط للتعليقات على فرقهم المفضلة، ولكن أيضاً لجميع التعليقات من أصدقائهم، بغض النظر عن الفرقة التي يعلقون عليها. يوضح الشكل التالي مثالاً على هذا السيناريو:

علامات الأصدقاء

في هذا المثال، تهتم Alice بتحديثات فريق Beatles، ويهتم Bob بتحديثات فريق Wailers. Bob مهتم أيضاً بتعليقات Charlie الذي يهتم بـ Wailers. عند إرسال إعلام لتعليق Charlie على Beatles، ترسله مراكز الإعلامات إلى كل من Alice وBob.

بينما يمكنك ترميز اهتمامات متعددة في العلامات (على سبيل المثال، band_Beatles أو follows_Charlie)، فإن العلامات عبارة عن سلاسل بسيطة وليست خصائص ذات قيم. يتطابق التسجيل فقط مع وجود علامة معينة أو عدم وجودها.

للحصول على برنامج تعليمي كامل ومفصل حول كيفية استخدام العلامات لإرسالها إلى مجموعات الاهتمامات، راجع الأخبار العاجلة.

ملاحظة

تدعم Azure Notification Hubs ما يصل إلى 60 علامة كحد أقصى لكل تسجيل.

استخدام العلامات لاستهداف المستخدمين

هناك طريقة أخرى لاستخدام العلامات وهي تحديد جميع الأجهزة المقترنة بمستخدم معين. يمكنك وسم تسجيل بعلامة تحتوي على معرّف المستخدم، كما في الشكل التالي:

وسم المستخدمين

في الشكل، تصل الرسالة الموسومة بالعلامة user_Alice إلى جميع الأجهزة الموسومة بـ user_Alice.

تعبيرات العلامات

هناك حالات يجب أن تستهدف فيها الإعلامات مجموعة من التسجيلات المحددة ليس بواسطة علامة واحدة، ولكن بواسطة تعبير منطقي يستخدم العلامات.

فكر في تطبيق رياضي يرسل تذكيراً للجميع في بوسطن حول مباراة بين Red Sox وCardinals. إذا كان تطبيق العميل يسجل علامات حول الاهتمام بالفرق والموقع، فيجب أن يستهدف الإعلام كل شخص في بوسطن مهتم إما بـ Red Sox أو Cardinals. يمكن التعبير عن هذا الشرط بالتعبير المنطقي التالي:

(follows_RedSox || follows_Cardinals) && location_Boston

تعبيرات العلامات

تدعم تعبيرات العلامات عوامل التشغيل المنطقية الشائعة مثل AND (&&)، وOR (||)، وNOT (!)؛ ويمكن أيضاً أن تحتوي على أقواس. يمكن لتعبيرات العلامات التي تستخدم عوامل التشغيل OR فقط الإشارة إلى 20 علامة؛ يمكن لتعبير يستخدم عوامل التشغيل AND وليس عوامل التشغيل OR الإشارة إلى 10 علامات؛ وبخلاف ذلك تقتصر تعبيرات العلامات على 6 علامات.

فيما يلي مثال على إرسال الإعلامات باستخدام تعبيرات العلامات باستخدام SDK:

Microsoft.Azure.NotificationHubs.NotificationOutcome outcome = null;

String userTag = "(location_Boston && !follows_Cardinals)";

// Windows 8.1 / Windows Phone 8.1
var toast = @"<toast><visual><binding template=""ToastText01""><text id=""1"">" +
"You want info on the Red Sox</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, userTag);

// Windows 10
toast = @"<toast><visual><binding template=""ToastGeneric""><text id=""1"">" +
"You want info on the Red Sox</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, userTag);