Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

APNS'ile gelen bildirimi UNUserNotificationCenter'ile uygulama açıkken algılama

0 oy
272 kez görüntülendi
13, Haziran, 2017 ios development kategorisinde halitgg tarafından soruldu

Merhaba,

Linkteki adımları izleyip swift 3 e uyarladım şuan tamamen çalışır durumda.
- Uygulama tamamen kapalıyken AppDelegate - didFinishLaunchingWithOptions fonksiyonu ile launchOptions içinde gelen json verisini okuyarak,
gelen bildirime tıkladığında istediğim sayfaya yönlendire biliyorum.

  • Fakat uygulama açıkken yani uygulama iconuna tıklayıp açıldığında gelen bildirimi görüyorum. Ama bildirimin içeriğini hangi fonksiyon ile okuya bilirim ve Uygulama gelir gelmez kullanıcı bildirime tıklamadan nereye düşüyor bildirim hangi fonksiyona.

Cevabınız için şimdiden teşekkürler, herkese iyi çalışmalar

13, Haziran, 2017 halitgg tarafından yorumlandı

Debug ile kontrol ettim
Uygulama açıkken

Bildirim geldiğinde ve genişletildiğinde
- applicationWillResignActive fonksiyonu çalışıyor

Bildirime tıklandığında
- applicationDidBecomeActive fonksiyonu çalışıyor

Ama hala bildirim gelir gelmez hangi fonksiyonun çalıştığını çözemedim.
Örnek olarak: Whatsapp ta uygulama açıkken mesaj gelirse, bildirim geliyor, bildirime tıklamadan sayfayı yeniliyor mesaj gelen kişiyi listenin başına alıp mesaj sayısını gösteriyor, bildirime tıklanırsa mesaja gidiyor.

13, Haziran, 2017 halitgg tarafından yorumlandı
func application(_ application: UIApplication, 
didReceiveRemoteNotification 
userInfo: [AnyHashable : Any]) {

}

func application(_ application: UIApplication, 
didReceiveRemoteNotification 
userInfo: [AnyHashable : Any], 
fetchCompletionHandler 
completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

}

bu iki fonksiyona da girmiyor

13, Haziran, 2017 halitgg tarafından yorumlandı
func application(_ application: UIApplication, 
didFinishLaunchingWithOptions 
launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {


if let notification = launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] as? [String: AnyObject] {

Burada uygulama kapalıyken bildirime tıklayıp açıldığında Json u okuyorum

1 cevap

0 oy
13, Haziran, 2017 yasin tarafından cevaplandı

benzer bir soru ve verdiğim cevap için,
Uygulama açıkken bildirim geldiğini belli etmiyor

16, Haziran, 2017 halitgg tarafından yorumlandı

Malesef hocam bir değişiklik yok. Bildirim geliyor ama "willPresent" fonksiyonuna girmiyor nasıl veriyor bildirimi fonksiyona girmeden onuda anlamış değilim

16, Haziran, 2017 yasin tarafından yorumlandı

bir örnek hazırladım aşağıdaki link üzerinden indirerek inceleyebilirsin.
https://drive.google.com/open?id=0B_33To7xgYO7WExRRmxXSVFYT3c

bundleIdentifier'i ve provizyon dosyasını değiştirerek kendi bildirimlerini gönderip, test edebilirsin.

şu payload'ı göndererek test ettim. Çalışıyor.

'{"aps":{"alert":{"title":"Hello world!","body":"This is the test notification."},"sound":"default","badge":1}}'

uygulama açıkken önce,
userNotificationCenter:willPresent:withCompletionHandler
delegate metodu tetikleniyor ve bildirim görünüyor.

bildirime tıklandığında da
userNotificationCenter:didReceive response:withCompletionHandler

delegate metodu tetikleniyor.

19, Haziran, 2017 halitgg tarafından yorumlandı

Hocam sizin yolladığınız bu örnekte çalıştı ama benim uygulamada çalışmıyor. AppDelegate sınıfını sizin sınıfla aynı yaptım yine çalışmadı. Benim projenin başka bir yerinde ya eksik ya da fazla bir yer var onu bulamadım

21, Haziran, 2017 yasin tarafından yorumlandı

yani, ben de anlayamadım.
muhtemelen senin proje içerisinde bir yerlerde mükerrer notification kodları filan var galiba.

21, Haziran, 2017 halitgg tarafından yorumlandı

Olabilir hocam kontrol ediyorum, çözüme ulaştığımda yazarım buraya.
Yardımlarınız ve ilginiz için çok teşekkür ederim

...