37 votes

Définir le style de notification locale iOS par défaut pour l'application

Depuis iOS 5, il existe deux styles de notification : la bannière et l'alerte (l'"ancien" style). L'utilisateur peut choisir le style à utiliser pour chaque application dans les réglages. Toutefois, il semble que les notifications soient affichées par défaut sous forme de bannière.

J'utilise les notifications locales pour rappeler les événements qui vont se produire "maintenant". Une bannière disparaît peu de temps après son apparition (et elle n'est pas assez évidente pour qu'on puisse la toucher). Pour ces notifications, il serait souhaitable d'avoir des notifications de type alerte, car elles restent à l'écran jusqu'à ce que l'utilisateur décide d'une action (l'ignorer ou aller à l'application).

Existe-t-il un moyen, soit par le biais d'un code, soit par exemple Info.plist pour indiquer à iOS que les notifications de type alerte doivent être utilisées par défaut (tant que l'utilisateur n'a pas configuré autre chose) ?

Mise à jour : Le absence d'informations/documentation n'est pas suffisante pour me permettre de régler cette question. Je veux soit quelque chose comme un post de forum/blog de quelqu'un d'autorisé (employé d'Apple ou quelqu'un comme Erica Sadun) disant que ce n'est pas possible, ou si c'est possible alors je veux la solution. Une solution de contournement comme "demander à l'utilisateur de modifier le réglage" ne suffit pas non plus.

20voto

IBG Points 369

Je voudrais ajouter quelque chose, puisque j'ai ouvert un TSI et que j'ai posé une question à ce sujet et qu'on m'a répondu. De Quinn "L'Esquimau" :

"Cela dépend de ce que vous voulez dire. Vous avez un certain contrôle sur la façon dont la notification apparaît en fonction de la façon dont vous définissez les propriétés de UILocalNotification (des choses comme alertBody, soundName, et ainsi de suite). Cependant, si vous voulez savoir comment ces propriétés sont interprétées (ce que l'utilisateur peut personnaliser dans Paramètres > Notifications), il s'agit de préférences de l'utilisateur qui ne sont pas exposées via une API."

16voto

tarmes Points 6363

J'ai une application d'alarme pour laquelle j'ai également besoin de cette fonctionnalité. Sous iOS5, si l'utilisateur est en train d'utiliser une autre application lorsque l'alarme se déclenche, la bannière apparaît. J'ai donc passé beaucoup de temps à chercher une solution.

Cependant, il n'est pas possible de contrôler le style d'alerte généré par une UILocalNotification, je le crains :(

Vous pouvez voir dans la référence de la classe qu'il n'y a aucune disposition à ce sujet :

http://developer.apple.com/library/IOs/#documentation/iPhone/Reference/UILocalNotification_Class/Reference/Reference.html

Ou dans la liste de contrôle :

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

La meilleure chose à faire est d'indiquer à l'utilisateur ce qu'il doit faire pour modifier les paramètres.

11voto

Vinzzz Points 5702

Vous ne trouverez probablement pas d'autorité de la part de vos pairs ici, vous feriez mieux de demander directement à Apple ; et la question a déjà été posée plusieurs fois sur leurs forums et n'a pas reçu de réponse...

Le guide de programmation HIG - http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/TechnologyUsage/TechnologyUsage.html#//apple_ref/doc/uid/TP40006556-CH18-SW1 -

"Les applications iOS qui prennent en charge les notifications locales ou push peuvent participer au programme Notification Cen préférences de l'utilisateur".

Cette dernière phrase est le seul "indice faisant autorité" que j'ai trouvé.

Les préférences de l'UTILISATEUR <= vous ne pouvez pas forcer les préférences de l'utilisateur. Point final. Ce choix de conception est clairement la méthode Apple (le terrain de jeu des applications EST limité, afin de garantir la meilleure expérience utilisateur possible).

Pour ce qui est d'une plus grande autorité... peut-être des cris ?

NON, VOUS NE POUVEZ PAS CHOISIR LE STYLE D'AFFICHAGE DE VOS NOTIFICATIONS, C'EST LE CHOIX DE L'UTILISATEUR.

Je plaisante... Quoi qu'il en soit, une solution pourrait être de fournir un moyen dans votre application - hint/tutoriel - de pousser l'utilisateur à changer le style d'alerte lui-même...

Bonne chance !

4voto

David Dunham Points 4620

Il est évident que vous n'aimez pas entendre une réponse négative, mais non.

0voto

voyager Points 37

Vous pouvez utiliser cette ligne pour demander les paramètres actuels du style de notification :

UIRemoteNotificationType* enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

Vous pouvez vérifier le enabledTypes puis demander à l'utilisateur de modifier le style de notification dans les paramètres.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X