Bu, sıklıkla ortaya çıkan bir sorudur.
cevap ya da bu şekilde olması gerekmez, ama sizin durumunuza bağlıdır. Çoğu durumda, ihtiyaç duyduğunuz her an bir PushBroker örneği oluşturmak kesinlikle iyi olur, çünkü çoğu platform bildirimleri göndermek için HTTP tabanlı protokolleri kullanır. Apple söz konusu olduğunda, belgelerinde, güvenli bağlantıların açılmasının ve kapatılmasının en aza indirgenmesi için bağlantınızı APNS açık tutmanız gerektiğini belirtirler. (: Onlar Gönderdiğiniz her mesaj için yeni bir bağlantı oluşturmak istemiyoruz mesela)
Ancak, uygulamada bu onlar bağlayan ve çok sık kesmeden istemiyoruz demektir düşünüyorum. Gerçekte, her zaman sık sık bildirimler topluyorsanız (her 15 dakikada bir ya da her saatte söyleyelim), muhtemelen her parti için yeni bir bağlantı açmanız ve daha sonra işiniz bittiğinde kapanmanız gibi bir sorun yaşamayacaksınız.
kimseden duymadım Bunu yapmak için Apple'ın APNS sunucularından engelleniyor. Aslında, push bildirimleriyle çalışmanın ilk günlerinde, her bildirim için oluşturulacak yeni bir apns bağlantısına neden olan bir hatam vardı. Böyle bir günde binlerce bildirim gönderdim ve Apple'dan hiç bir şey duymadım (en sonunda bir hata olarak belirledim ve elbette düzeltdim). ApplePushService her 10 dakikada sonra sonra 10 başlangıç saniye ve sonra geri bildirim sunucularını yoklar varsayılan olarak, geribildirim toplamak için olduğu gibi
. Bunun olmasını engellemek istiyorsanız, ApplePushChannelSettings.FeedbackIntervalMinutes öğesini < = 0 olarak ayarlayabilirsiniz. Daha sonra, el ile yapmanız gerektiğinde geri bildirim almak için FeedbackService sınıfını kullanabilirsiniz.
Her defasında yeni bir PushBroker örneği oluşturup olaylarını tetiklerseniz, bellek sızmaz mı? Olayların ne zaman birleştirileceğini nasıl bilebilirim? – Kugel
Redth, bu çok değerli bir yorumdu. Özellikle bağlantıların neredeyse sürekli olarak açık kalması gerekip gerekmediğiyle ilgili, daha önce sahip olduğum hissi. –
@Nicholas bu yardımcı oldu. Söylediğim gibi, Apple'ın belgeleri onlara açık bir bağlantı kurmanızı talep ediyor. Uygulamada, toplu işlerde bildirim gönderiyorsanız, bu muhtemelen gerekli değildir ve Apple'ın bunu yapmak için kimseyi yasakladığını hiç duymadım. – Redth