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

نظرة عامة

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

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

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

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

علامات

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

Tags overview

في الشكل ، تصل الرسالة الموسومة ب 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");

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

Tags friends

في هذا المثال ، تهتم أليس بتحديثات فرقة البيتلز ، ويهتم بوب بتحديثات Wailers. بوب مهتم أيضا بتعليقات تشارلي ، وتشارلي مهتم ب Wailers. عندما يتم إرسال إشعار لتعليق تشارلي على فرقة البيتلز ، ترسله Notification Hubs إلى كل من أليس وبوب.

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

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

ملاحظة

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

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

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

Tag users

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

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

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

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

(follows_RedSox || follows_Cardinals) && location_Boston

Tag expressions

تدعم تعبيرات العلامات عوامل التشغيل المنطقية الشائعة مثل 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);