2017-08-05 3 views
0

Supposons un scénario dans lequel il y a une application de chat et je l'ai ouvert, puis j'ai appuyé sur le bouton d'accueil. Maintenant, l'application fonctionne en arrière-plan, mais pas tué. Puis-je recevoir des badges de notification ou des pop-ups pour les messages à venir? Par exemple: S'il y a un nouveau message et que mon application produit du son ou un badge si elle n'est pas supprimée et fonctionne en arrière-plan.Notifications pour l'application iOS Ouvrir en arrière-plan (pas tué)

Je pose cette question car je suis dans le doute. J'ai trouvé en ligne que l'application peut fonctionner en arrière-plan seulement pour quelques énumérés liste de tâches prédéfinies par Apple, pas dans tous les cas comme Android.

S'il vous plaît dites-moi si je peux être averti des nouveaux messages dans ce cas ou non. (sans serveur, utilisez les notifications push). Plus clairement ce que je veux est d'avoir des notifications locales une fois que l'application est dans le scénario mentionné ci-dessus. Veuillez me dire si c'est possible.

Merci d'avance.

+0

Voir [cette question] (https://stackoverflow.com/questions/37933387/firebase-cloud-messaging-doesnt-create -push-notifications-but-gets-information/38445657 # 38445657) et également [cette question] (https://stackoverflow.com/questions/39914557/push-notification-not-showing-in-ios-10). Il y a beaucoup d'informations pour vous guider. Les instructions pour le configurer se trouvent dans la section [Recevoir des messages dans un guide d'application iOS] (https://firebase.google.com/docs/cloud-messaging/ios/receive) – Jay

Répondre

0

Vous pouvez utiliser les notifications push VoIP pour cela. Vous pouvez exécuter du code en arrière-plan pour gérer les notifications en arrière-plan, puis lorsque votre application décide de lire une notification locale. Cependant, en juin, Apple n'autorise plus les développeurs à utiliser l'API de cette façon, sauf à partir de WhatsApp.

Vous aurez besoin d'utiliser PushKit:

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, forType type: PKPushType)

func voipRegistration() { 
     let voipRegistry: PKPushRegistry = PKPushRegistry(queue: DispatchQueue.main) 
     voipRegistry.delegate = self 
     voipRegistry.desiredPushTypes = [PKPushType.voIP] 
    } 
+0

Antwa, merci pour votre réponse. Vous voulez dire ce que je veux faire ci-dessus n'est pas possible sans notifications push i.e je ne peux pas faire afficher mon application pour n'importe quel message arrivé après que j'ai appuyé sur le bouton home et l'application va en arrière-plan. Droite? –

+0

@JacobKaif Autant que je sache, vous ne pouvez pas sans utiliser cette API ou tout simplement les notifications push anciennes. –

+0

@JacobKaif Ils sont fondamentalement les mêmes, sauf que vous devez modifier légèrement votre service d'apn, générer un certificat push voip et ajouter le droit. J'ai parlé à un représentant de la pomme à ce sujet et ils ne veulent surtout pas que vous l'utilisiez de cette façon. Sauf WhatsApp, comme je l'ai parrainé. Ils s'en foutent de l'utiliser ainsi. –