web-dev-qa-db-fra.com

Est-il possible d'envoyer une notification SILENT LOCAL sur iOS

Mon application réveille du mode suspendu sur silencieuse à distance notification d'un serveur, exactement comme je le veux. Ce serveur envoie une notification Push avec " content-available : 1", qui effectue le travail.

Maintenant, je veux le faire sans l'aide d'un serveur et donc je veux envoyer silencieux local notifications (depuis l'application) à un moment futur (comme après 15 min.), Mais je peux ne trouvez pas un moyen de définir "content-available: 1". Je finis donc par recevoir une notification locale qui ne réveille pas mon application, comme je peux le faire avec remote notification.

J'ai recherché des informations et tout ce que je peux trouver sont des exemples de notifications interactives et la définition du titre, du corps, de l'alerte et des déclencheurs (en fonction de l'emplacement, de la date, etc.). Mais rien sur la manière de définir content-available property.

Alors, est-il possible de définir le contenu disponible pour les notifications locales?

7
AndaluZ

C'est juste pas possible sans intervention de l'utilisateur. Il n’existe pas de solution de type AlarmManager pour Android permettant de sortir l’application du mode suspendu sous iOS. Dans iOS, il n'est pas possible de réactiver périodiquement l'application depuis suspendu mode, sauf depuis la notification Push à distance (si une application externe envoie une notification Push périodiquement).

0
AndaluZ

Je pense qu'il n'est pas vraiment possible de réactiver l'application sans l'intervention de l'utilisateur sur les notifications locales. La récupération en arrière-plan pourrait être la solution possible pour votre cas.

application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)

Cette méthode UIApplicationDelegate est appelée lorsque iOS décide qu'une extraction en arrière-plan peut avoir lieu:

func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void)
2
Ellen

La récupération en arrière-plan est la seule solution ici.

Il y a quelques informations dans/ la documentation Xamarin qui l'explique bien

Il semblerait que PushNotifications utilise de toute façon l’arrière-plan Fetch; il s’agit donc du même chemin, mais à travers un mécanisme de minutage imprécis.

0
Nick Jones