Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.
0 oy
2.1k kez görüntülendi
ios development kategorisinde tarafından
Parse üzerinde JSON payload ile şu şekilde bildirim gönderiyorum:

{
    "aps": {
         "badge": 1,
         "alert": "Hello World"
    },
    "news_id": 1
}

badge number kısmını tam olarak anlayamadım. Her mesaj gönderdiğimizde buradaki sayıyı nasıl organize ediyoruz? Kafamıza göre numara mı giriyoruz ? :) Bir de bildirime tıklandığında bu badge number'ı nasıl azaltıyoruz?

1 cevap

+1 oy
tarafından
tarafından seçilmiş
 
En İyi Cevap

badge number'ların kontrolü tamamen sizin elinizde, eğer payload'a 1 girerseniz uygulama ikonu üzerinde 1 görünür. yani daha önce atanmış sayıya ekleme yapılmaz.
bu sayıları eksiltmek, arttırmak veya tamamen silmeyi uygulamanız içerisinde

UIApplication.sharedApplication().applicationIconBadgeNumber = 

ile yapmalısınız.
notification'la alınan badge numarasını mevcut badge numarasını kontrol ederek uygulamanızın ihtiyacına göre arttırıp azaltmalısınız.

tarafından
Çok teşekkür ederim. Netleşti şimdi. Sitenizde hazırladığınız APNS'yi video eğitim olarak sunmayı düşündünüz mü ?
Aslında Swift ile gerçek hayat projesi şeklinde  0'dan Yayınlanmaya hazır uygulama oluşturmak gibi bir eğitim seti hazırlamayı düşünüyor musunuz ?

Çok faydası olacaktır; çünkü anlatım tarzınız çok açıklayıcı ve öğretici.

Teşekkürler
tarafından
+1
ah, bir zaman bulabilsem :)
tarafından
Umarım bulursunuz da şu bilgi hazinenizden biz de nasipleniriz :)
tarafından
Parse Push Badge Increment hakkında bir sorum olacaktı:

Ben JSON Payload gönderiyorum Parse sitesi üzerinden. Orada badge number otomatik olarak artsın diye, "Increment" tanımlıyorum.  Aşağıdaki şekilde bir kullanım deniyorum ama bir işe yaramıyor:

{
    "aps": {
         "badge": "Increment",
         "alert": "Hello World"
    },
    "news_id": 1
}

Bu increment'i nasıl ayarlıyoruz acaba ?

Parse sitesindeki Push ayarları şu şekilde:
http://i.hizliresim.com/ogJPOb.jpg

Resimde gördüğünüz "Increment App Badge" ayarını açtığımda da  increment olmuyor.
tarafından
+1
açıkçası parse'a ilk çıktığı zamanlar üstünkörü bir göz atmıştım. nasıl yapıldığı hakkında bir fikrim yok ama paylaştığınız görüntüdeki apns payload'ın içerisinde badge karşısında integer bir değer olmalı sizin orada bellirttiğinig "increment" bir değişkenimi ifade ediyor parse sistemi içerisinde yoksa öylece gönderiyormu?
increment yerine direkt bir sayı girin bakalım öyle çalışıyormu.
tarafından
Evet, sayı girince çalışıyor. Bir değişkeni ifade ediyor anladığım kadarıyla. Bu konuda sitelerinde  sadece şu bilgi var:

badge: (iOS/OS X only) the value indicated in the top right corner of the app icon. This can be set to a value or to Increment in order to increment the current value by 1.
tarafından
+1
tamam işte orada bir sayı değeri olacak herhalde, increment açık olduğunda da kendiliğinden her defasında bir arttıracak o sayıyı galiba. ben de tam bilemiyorum.
bir deneyin bakalım üst üste birkaç notification göndererek sayı kendiliğinden artıyor mu.
tarafından
Şimdi badge yazan yere 1 yazdım ve seçenekteki Increment App Badge'i aktif hala getirdim. Badge number 1 oldu. Sonra aynısını bir daha yaptım. Ama artmadı sayı 1 oldu yine. Ben de anlayamadım
tarafından
+1
şöyle bir google'layınca aşağıdaki sayfaya denk geldim.

https://www.parse.com/questions/badge-increment


aynı problemi yaşayan başka biri de sormuş bu soruyu,
öncelikle apns payload'ında badge karşısında "Increment" yazmalı ve increment seçeneği açık olmalı.

ama ilgili sayfada problemin sürdüğünü söyleyen kişiye parse yetkilisinin verdiği cevap şu olmuş.

Make sure to either update to a recent version of the Parse iOS SDK, or use PFInstallation when subscribing your users to push notifications. This will ensure your Installation objects are populated correctly.

en son parse IOS SDK sürümünü kullandığınızdan emin olun veya kullanıcıların push notification alabilmeleri için kaydederken PFInstallation kullanın. Bu kurulum nesnelerinizin doğru bir şekilde toplanabilmesi için gereklidir.
 
şimdi bu PFInstallation parse'da nedir ne işe yarar bilemiyorum ama bunları bir kontrol edin bakalım.
tarafından
Teşekkür ederim. Ben aşağıdaki adresten son SDK'yi indirip yeniden projemi düzenledim:

https://www.parse.com/apps/quickstart#parse_push/ios/swift/existing

Amma velakin, increment  badge number gerçekten imtihanım oldu bugün. Bir türlü çalışmadı. Aklıma gelen her opsiyonu denedim :(
tarafından
Bilgi: JSON Payload kullanmadan yani plain text gönderince Increment App Badge çalışıyor.  JSON payloadu seçince maalesef çalışmadı. Yani ben çalıştıramadım.
tarafından
REST Api kullanımıyla  PHP ve Curl ile "badge": "Increment" ifadesi çalışıyor.
Şu an sadece parse.com üzerindeki form alanında çalıştıramadım. Ama inanıyorum ki sadece ben çalıştıramıyorum :) Çünkü böyle bir hata olsa adamlar düzeltirdi.
...