2015-04-02 33 views
11

IOS uygulamasında sessiz bir yerel bildirim alabilir miyiz. Bu, arka planda, kullanıcıyla etkileşimde bulunan veri işlemlerini gerçekleştirir.Sessiz Yerel Bildirim IOS

Yapmak istediğim, sabah saat 8'de her gün çıkan ve yerel bir bildirim gönderen bir yerel bildirim oluşturmaktır. Kullanıcı bunu aldıktan sonra bazı veri işlemlerini yapmak ve kullanıcının yeni verilerle görebileceği yeni bir tane oluşturmak istiyorum. İlk sessiz yerel bildirimi gördükten sonra işlendi.

İtme bildirimini elimden geldiğince kullanmamaya çalışıyorum.

+1

Yerel bir bildirim tetiklendiğinde, uygulamanın denetimini almayacaksınız. Bu, görsel olarak kullanıcıya gösterilen bir şeydir. –

+1

Yukarıdakilere ek olarak, yalnızca uzak bildirimler (push) yapmak istediğiniz şeyi yapmanıza izin verir. – Ollie

+0

Yerel ve push bildirimleri, bu anlamda aynı şekilde çalışır. Açmadıkça hiçbir şey yapmıyorlar. – Kex

cevap

4

iOS'ta arka planda sessiz bildirimler alabilirsiniz, ancak bildirimleri göndermek için bir sunucuya ihtiyacınız olacaktır. uygulamanızı sağlayan kullanıcı Beklemede

UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeNone categories:nil]; 
[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings]; 

ile application:didFinishLaunchingWithOptions: push bildirimleri için kayıt Sonra

Screenshot of Background Modes settings

:

Eğer hedefin Yetenekleri sekmesinde Remote notifications arka plan modunu etkinleştirmek Bunu yapmak için push bildirimleri göndermek için cihaz belirtecini alırsınız:

Bir şeyler yanlış giderse

, başarısızlık işleyicisi çağrılır:

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError: 

Sunucunuza deviceToken göndermek ve sabah 8, cihazın yerel anda bu deviceToken için sessiz itme bildirim göndermek için bunu söylemek.

cihaz denilen Aşağıdaki uygulamanın temsilci yöntemine sahip olacaktır Yani:

  - (void)application:(UIApplication *)application 
didReceiveRemoteNotification:(NSDictionary *)userInfo 
     fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler; 

ve size veri işlem yapmak mümkün olacak.

Kolay!

İşiniz bittiğinde tamamlama işleyicisini çağırmayı unutmayın!

+0

Bir sunucu derken. Programlanmış bir görev veya bir çeşit gibi doğru bir cihaza bildirim gönderen bir IOS programı mı? Veya IOS uygulamasında her şeyi yapabilirim, –

+1

Bu iOS olmayan bir programdır, örn. EC2 veya benzeri bir cron iş olarak çalışan. –

+1

Yani uzaktan bildirim kullanıyorsunuz. Ama uzak bildirimden uzaklaşmaya çalışıyorum ve sorum, yerel bildirimlerle ilgili. –

İlgili konular