Share via


Yönlendirme ve Etiket İfadeleri

Etiket ifadeleri, Notification Hubs aracılığıyla anında iletme bildirimi gönderirken belirli cihaz kümelerini veya daha özel kayıtları hedeflemenizi sağlar.

Belirli Kayıtları Hedefleme

Belirli kayıtları hedeflemenin tek yolu, bunları bir etiketle ilişkilendirmek ve ardından bu etiketi hedeflemektir. Kayıt Yönetimi'nde açıklandığı gibi, anında iletme bildirimleri almak için bir uygulamanın bildirim hub'ına bir cihaz tanıtıcısı kaydetmesi gerekir. Bir bildirim hub'ına kayıt oluşturulduktan sonra uygulama arka ucu ona anında iletme bildirimleri gönderebilir.

Uygulama arka ucu, belirli bir bildirimle hedefleyebileceğiniz kayıtları aşağıdaki yollarla seçebilir:

  1. Yayın: Bildirim hub'ında yer alan tüm kayıtlar bildirimi alır.

  2. Etiket: Belirtilen etiketi içeren tüm kayıtlar bildirimi alır.

  3. Etiket ifadesi: Etiket kümesi belirtilen ifadeyle eşleşen tüm kayıtlar bildirimi alır.

Not

Platforma özgü yük gönderirken (örneğin, Windows Store'a özgü bir bildirim), yalnızca ilgili platforma ait kayıtlar bildirim alır. Şablon bildirimi gönderirken yalnızca şablon belirten kayıtlar hedeflenir. Daha fazla bilgi için bkz . Kayıt Yönetimi.

Etiketler

Etiket, alfasayısal karakterleri ve şu alfasayısal olmayan karakterleri içeren 120 karaktere kadar herhangi bir dize olabilir: '_', '@', '#', '.', ':', '-'. Aşağıdaki örnekte, belirli müzik grupları hakkında bildirim alabileceğiniz bir uygulama gösterilmektedir. Bu senaryoda, bildirimleri yönlendirmenin basit bir yolu, kayıtları aşağıdaki resimde olduğu gibi farklı bantları temsil eden etiketlerle etiketlemektir.

Tag Expressions

Bu resimde , Beatles etiketli ileti yalnızca Beatles etiketiyle kaydedilen tablete ulaşıyor.

Etiketler için kayıt oluşturma hakkında daha fazla bilgi için bkz . Kayıt Yönetimi.

SDK'daki Microsoft.ServiceBus.Notifications.NotificationHubClient sınıfının bildirim gönderme yöntemlerini kullanarak etiketlere bildirim gönderebilirsiniz. Node.js veya Anında İletme Bildirimleri REST API'lerini de kullanabilirsiniz.

Aşağıdaki örneklere dikkat edin:

await hub.SendWindowsNativeNotificationAsync(wnsToast, "tag");
notificationHubService.wns.sendToastText01('tag', {
            text1: 'Hello World!'
        }, callback);

Etiketlerin önceden sağlanması gerekmez ve uygulamaya özgü birden çok kavramdan bahsedilebilir. Örneğin, bu örnek uygulamanın kullanıcıları gruplara yorum yapabilir ve yalnızca favori bantlarındaki yorumlar için değil, aynı zamanda yorum yaptıkları gruptan bağımsız olarak arkadaşlarının tüm yorumları için de bildirim almak isteyebilir. Aşağıdaki resimde bu senaryonun bir örneği gösterilmektedir:

Tag Expressions

Bu resimde Alice, Beatles güncelleştirmeleriyle, Bob ise Wailers güncelleştirmeleriyle ilgileniyor. Bob, Charlie'nin yorumlarıyla da ilgileniyor ve Charlie de Wailers ile ilgileniyor. Charlie'nin Beatles hakkındaki yorumu için bir bildirim gönderildiğinde, hem Alice hem de Bob bunu alır.

Önemli

Etiketlerde birden çok endişeyi kodlayabilirsiniz (örneğin, "band_Beatles" veya "follows_Chanrlie"), etiketler basit dizelerdir ve değer içeren özellikler değildir. Kayıt yalnızca belirli bir etiketin varlığında veya yokluğunda eşleştirilir.

İlgi alanı gruplarına göndermek için etiketleri kullanma hakkında tam adım adım öğretici için bkz. Son Dakika Haberleri.

Not

Önceki örnekte, iki bildirim yerine iki etikete tek bir bildirim (bir etiket dizisi sağlama veya OR ile etiket ifadesi kullanma) göndermeniz gerekir. Tek tek etiketlere iki bildirim göndermek, etiket ifadeleri kullanılırken her iki etikete de sahip olan kayıtların yinelenmelerine neden olur.

Kullanıcıları Hedeflemek için Etiketleri Kullanma

Etiketleri kullanmanın bir diğer yolu da belirli bir kullanıcının tüm cihazlarını tanımlamaktır. Kayıtlar, aşağıdaki resimde olduğu gibi kullanıcı kimliği içeren bir etiketle etiketlenebilir:

Tag Expressions

Bu resimde , uid:Alice etiketli ileti uid :Alice etiketli tüm kayıtlara ulaşır; bu nedenle, Alice'in tüm cihazları.

Etiket İfadeleri

Bir bildirimin tek bir etiketle değil, etiketlerdeki Boole ifadesiyle tanımlanan bir kayıt kümesini hedeflemesi gereken durumlar vardır.

Red Sox ve Cardinals arasındaki bir oyun hakkında Boston'daki herkese anımsatıcı gönderen bir spor uygulaması düşünün. İstemci uygulaması, ekiplerle ve konumla ilgili etiketler kaydederse, bildirim Boston'da Red Sox veya Kardinallerle ilgilenen herkese hedeflenmelidir. Bu koşul aşağıdaki Boole ifadesiyle ifade edilebilir:

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

Etiket ifadeleri AND (), OR (&&||) ve NOT (!) gibi tüm Boole işleçlerini içerebilir. Ayrıca parantez de içerebilirler. Etiket ifadeleri yalnızca OR'ler içeriyorsa 20 etiketle sınırlıdır; aksi takdirde 6 etiketle sınırlıdır.

SDK'daki Microsoft.ServiceBus.Notifications.NotificationHubClient sınıfının bildirim gönderme yöntemlerini kullanarak etiket ifadelerine bildirim gönderebilirsiniz. Node.js veya Anında İletme Bildirimleri REST API'lerini de kullanabilirsiniz. Aşağıdaki örneklere dikkat edin:

await hub.SendWindowsNativeNotificationAsync(wnsToast, "(tagA && !tagB)");
notificationHubService.wns.sendToastText01('(tagA && !tagB)', {
            text1: 'Hello World!'
        }, callback);

Ayrıca Bkz.

Diğer Kaynaklar

API Başvuruları
Son Dakika Haberleri öğreticisi
Kullanıcılara bildirim gönderme öğreticisi