Donc, afin d'obtenir également des notifications locales sur Aiwass, nous devons demander la permission à l'utilisateur et pour cela, nous pouvons utiliser
un autre package que nous installons tous avec l'installation de XPO.
Et c'est le package d'autorisations Expo.
Le package d'autorisations Expo, comme son nom l'indique, nous aide à gérer les autorisations.
Il nous aide à demander des autorisations et à travailler avec des autorisations.
Donc, une fois que cela est installé dans l'application G. S. ou dans tout autre fichier où vous souhaitez obtenir ces autorisations.
Mais ici, nous n'avons qu'un seul composant.
Nous importons simplement tout sous forme d'autorisations à partir des autorisations expl.
Juste comme ça.
Et avec cette importation, nous devons demander à l'utilisateur la permission d'afficher des notifications avant d'essayer de le
faire.
Maintenant, cela dépend de votre application.
Lorsque vous voulez demander à l'utilisateur, vous pouvez peut-être demander quand l'application démarre.
Peut-être qu'un meilleur moment est meilleur.
Après tout, vous souhaitez demander des autorisations lorsqu'il est très probable que l'utilisateur vous donne l'autorisation.
À l'heure actuelle, Yeater le fera dès le démarrage de l'application.
Je vais donc importer D.
En fait, vous avez pris ici de réagir.
Afin que nous puissions exécuter la logique lorsque ce composant monte simplement en passant un tableau de dépendances vide ici
et là.
Je veux maintenant utiliser cet objet d'autorisation, que nous importons cette année pour, tout d'abord, vérifier l'état
des autorisations et ensuite si nous n'avons pas l'autorisation de le demander.
Donc, ici, nous pouvons appeler get async pour, tout d'abord, vérifier l'état actuel des autorisations.
Nous devons maintenant spécifier pour quelle autorisation.
Nous voulons obtenir cette information.
Et nous pouvons donc accéder aux autorisations, démarrer les notifications, les fouets, toutes les majuscules, cependant, pour
vérifier comment l'état actuel des autorisations est pour les autorisations de notification sur Android.
Cela ne fera rien sur Aiwass.
Il découvrira si nous sommes déjà autorisés à envoyer des autorisations.
Maintenant, c'est une tâche asynchrone et donc cela nous donne une promesse.
Par conséquent, nous pouvons utiliser ensuite ici pour continuer.
Maintenant ici, nous obtiendrons le statut de cette autorisation.
Nous obtiendrons donc des informations, que nous ayons ou non la permission d'envoyer des notifications.
Nous pouvons maintenant vérifier quel statut nous avons obtenu.
Il y a quelques valeurs possibles ici, mais à la fin nous nous intéressons au statut accordé si nous
obtenons le statut accordé à papa.
Nous n'avons pas besoin de continuer.
Mais si nous ne devons pas encore accorder ce statut, nous voulons demander la permission parce que nous n'avons jamais
reçu ces autorisations auparavant.
Alors maintenant, nous pouvons utiliser à nouveau l'objet autorisations.
Mais cette fois, nous appelons ask async avant de vérifier l'état.
Maintenant, nous demandons une nouvelle autorisation, car maintenant nous savons que nous n'avons pas encore l'autorisation dont nous avons
besoin.
Alors maintenant, nous avons à nouveau accès aux autorisations, aux notifications de pensée.
Et maintenant, cela demandera d'obtenir cette autorisation.
Cela retournera une promesse.
Nous pouvons donc globalement le retourner ici pour rester dans cette chaîne de promesses, que nous avons commencée ici.
Et par conséquent, maintenant ici, nous pouvons à nouveau utiliser alors vous pouvez également utiliser l'attente asynchrone.
Mais en fait, vous ne devriez pas faire de dysfonctionnement asynchrone.
Au lieu de cela, vous devrez envelopper cela dans une nouvelle fonction, que vous exécutez immédiatement comme une
note annexe.
Mais ici, il utilisera du bon vieux.
Ensuite, attrapez et atteindrez la fonction dans ce domaine.
Puis bloquez une fois Aske Async terminé.
Maintenant, ici encore, obtiendra le statut.
Parce que bien sûr, ce n'est pas parce que nous demandons que nous obtenons la permission.
L'utilisateur peut donc toujours refuser une autorisation et dans ce cas, nous ne pouvons rien faire.
Alors maintenant, nous voulons vérifier ce statut et savoir s'il n'est toujours pas accordé.
Et si tel est le cas, alors, comme je l'ai dit, nous ne pouvons rien faire.
Ici, nous pouvons simplement revenir.
Nous pouvons afficher un message à l'utilisateur.
Nous pouvons afficher une alerte indiquant que nous ne pouvons plus envoyer de notifications.
Mais au final, nous ne pouvons rien faire ici.
Si le statut est accordé, alors nous sommes bons.
Maintenant, de toute façon, nous pouvons définitivement planifier une notification, car le pire des cas est que nous n'avons pas d'autorisations
et que rien ne se passe donc.
Mais maintenant que nous le demandons, le meilleur scénario est que nous ayons obtenu l'autorisation.
Et Dale pour cette année réussira.
Non, je dois en fait intervenir ici.
Ce code contient une erreur.
Nous n'obtenons pas la chaîne d'état comme celle-ci ici.
Au lieu de cela, nous obtenons l'objet status, qui a ensuite une propriété status et identique à celle du cas ici.
Nous n'avons simplement pas eu d'erreur avant car même si notre code ne fonctionnait pas techniquement, nous avons quand même
demandé la permission.
Mais maintenant, cela vérifie correctement si nous avons l'autorisation.
Et en plus, nous devons aussi l'ajuster à un autre endroit ici.
Si nous avons déjà eu la permission, nous obtiendrons, bien sûr, une réponse ici, espérons-le, et nous
ne demanderons plus.
Cela signifie que dans le bloc suivant, nous avons un problème, car nous nous attendons maintenant à obtenir notre état
en tant qu'objet.
Mais puisque nous n'avons pas demandé à nouveau parce que nous n'avions pas besoin de ne pas obtenir cet objet ici.
L'accès au statut échouera donc.
Et nous penserons que nous n'avons pas obtenu l'autorisation même si nous l'avons.
Donc, ici, nous devons retourner l'objet d'état dans ce premier, puis bloquer.
De sorte que dans le bloc suivant, c'est une manière responsable des cas où nous avions déjà une autorisation.
Il s'agit d'un changement que vous devez implémenter pour vous assurer que votre application détecte correctement ses notifications et son
statut d'autorisations et ne pense pas qu'elle ne dispose pas d'autorisations lorsqu'elle les a réellement.
Voyons maintenant la sécurité.
Et assurez-vous de redémarrer cela sur votre simulateur iPhone.
Et maintenant, dès le début, on me demande si je veux accorder cette autorisation à cause du code que
nous venons d'ajouter.
Et si nous cliquons maintenant sur autoriser ici et avons déclenché une notification et fermé l'application, voyons si cela
fonctionne maintenant ici sur Aiwass.
Attendons que les 10 secondes passent.
Et voici notre première notification locale envoyée par notre application.
Et maintenant, nous travaillons sur ISIS et Android.
Et tout comme sur Android, si nous cliquons sur une notification ici.
Nous pouvons ouvrir notre application, donc ça marche.
Maintenant, une chose qui n'a pas fonctionné ou où rien ne s'est passé, c'est lorsque l'application est au premier plan.
Maintenant, dans certains cas, c'est le comportement que vous souhaitez.
Dans certains cas, si l'application est ouverte, ne pas afficher la notification peut être tout à fait correct.
Mais si je reviens à l'exemple de l'application de rappel, ce n'est pas parce qu'il est au premier
plan que vous ne voulez pas que l'utilisateur sache qu'une tâche est due.
Par conséquent, laissez-moi maintenant vous montrer comment vous pouvez gérer les notifications si l'application est au premier plan.