Lors de la construction pour les magasins d'applications, la CLI expo, donc
ce que nous tapons ici dans la ligne de commande peut vous aider ou vous aidera,
mais vous devrez peut-être modifier votre configuration dans l'application. Fichier json selon les fonctionnalités utilisées par votre application.
Donc, notre application utilise ici un tas de modules natifs, ces modules doivent tous demander des autorisations et nous
le faisons en quelque sorte avec l'API d'autorisations, comme par exemple dans le sélecteur d'images ici lorsque nous demandons des autorisations
mais pour Android par exemple, vous aussi devez fournir une liste des autorisations dont votre application a
besoin dans un fichier de configuration que vous, lorsque vous utilisez React Native, mais que vous n'avez pas lorsque vous utilisez
expo car expo fournit ce wrapper et fait tout cela pour vous dans l'expo client mais maintenant nous ne prévoyons
plus d'utiliser le client expo et bien qu'il
inclura cela dans votre application autonome comme je l'ai mentionné, vous devez maintenant dire à expo quelles
autorisations il doit y demander.
En outre, par exemple, si vous utilisez Google Maps, vous devez également fournir votre clé API Google Maps et avec cela, je ne
veux pas dire que nous le faisons ici que nous utilisons dans certaines parties de notre code Javascript, mais
pour utilisez le package de cartes React Native.
Encore une fois, l'application client expo utilise essentiellement sa propre clé pour le développement et ainsi de suite, mais dès que vous
prévoyez d'offrir une application autonome, vous devez apporter vos propres clés afin que le wrapper expo qui sera inclus
dans votre application autonome utilise votre clé parce que l'équipe
expo ne vous donnera pas une clé qui leur appartient pour cela.
Encore une fois, les documents officiels sont vos amis, vous pouvez y
découvrir ce que vous pouvez configurer dans l'application. fichier json et commençons
par Android parce que là, vous devrez configurer un peu plus avant de nous plonger dans
ce qui est spécifique à iOS.
Donc, pour Android, outre l'icône et ainsi de suite, ce que vous pouvez configurer, ce sont les autorisations. Maintenant, le problème est que vous pouvez simplement
omettre la clé des autorisations et dans ce cas, comme vous le voyez ici, expo configurera
votre application pour demander toutes les autorisations.
Maintenant, je ne recommanderais pas de le faire parce que les gens regarderont votre application dans l'App Store et s'ils voient
que votre application de gestion de lieux de base veut des autorisations pour lire leurs contacts ou passer des appels, eh bien je ne sais pas pour vous
mais je ne le ferais pas t télécharger une telle application.
Ma recommandation serait donc que vous soyez spécifique en ce qui concerne les autorisations dont votre application a besoin
et que vous le fassiez en accédant à votre application. fichier json et là dans le nœud Android, vous ajoutez la
clé des autorisations et maintenant vous ajoutez des autorisations.
Maintenant, certaines autorisations de base seront toujours demandées et vous trouverez ces autorisations ici, par exemple des autorisations pour obtenir des
données d'Internet et ainsi de suite, mais vous pouvez maintenant également par exemple ajouter des autorisations pour utiliser l'emplacement de
l'utilisateur et accéder à la caméra parce que c'est quelque chose que faire.
Ajoutons donc ces clés ici à des autorisations comme celle-ci, à des clés de chaîne avec des guillemets doubles, d'ailleurs, c'est
important dans ce fichier,
ajouté à ce tableau d'autorisations.
Maintenant, nous aurons également besoin de l'autorisation d'écriture sur le stockage externe pour enregistrer notre image, nous devons donc l'ajouter également et avec cela, nous devrions
être bons
pour cette application, mais bien sûr, en fonction de l'application que vous créez,
vérifiez soigneusement quelles autorisations votre application vous aurez besoin,
vous pouvez toujours consulter les pages de documentation des packages de modules natifs que vous utilisez, vous
devriez normalement y trouver une description
des autorisations dont ce package a besoin. Les autorisations sont donc une
chose, en plus si vous utilisez Google Maps, vous devez ajouter le nœud
Google Maps à votre configuration Android.
Donc,
ici, après les autorisations, nous pouvons ajouter des cartes Google comme celle-ci qui contient également un objet en tant que valeur et dans cet
objet, vous configurez la clé API.
Encore une fois, vous n'en aviez pas besoin pour le client expo lorsque nous publions l'application sur cette page expo et avons utilisé
l'application client expo parce que l'équipe expo vous donne essentiellement sa propre clé Google Maps, mais si vous créez
une application autonome, vous besoin de fournir le vôtre.
Donc pour cela, assurez-vous d'utiliser votre clé ici comme ça et aussi important et je l'ai déjà mentionné
dans le module non-expo,
assurez-vous que dans les API Google, donc dans la console Google cloud lorsque vous vérifiez votre bibliothèque d'API, vous assurez-vous que le SDK de
cartes pour Android est activé pour ce projet auquel appartient cette clé API que vous avez
fournie.
Donc, ici, il
est activé, cela doit appartenir au projet pour lequel vous avez créé la clé API que
vous fournissez maintenant ici, sinon cela ne fonctionnera pas. Ce sont donc les autorisations et les paramètres de Google Map et
vous pourriez avoir besoin d'autres paramètres spécifiques que
vous pouvez découvrir ici dans l'application. fichier json en fonction des fonctionnalités que vous utilisez.
Vous pouvez également configurer Bien sûr tout le
reste et tant de choses, une chose que vous devez absolument fournir pour créer votre application est également cette clé de package.
C'est quelque chose que vous devez toujours ajouter, peu importe ce que votre
application utilise, ici dans le nœud Android, vous devez fournir la clé du package et cela doit maintenant avoir un certain format.
Il s'agit essentiellement d'une URL inverse, une URL fictive qui ne doit pas exister mais qui agit comme un identifiant
unique sur l'ensemble du Google Play Store, il devrait donc
s'agir d'une URL inverse que personne d'autre n'a utilisée auparavant et donc généralement si vous possédez
un domaine, vous utiliseriez votre domaine par exemple com. academind, donc un domaine inverse puis un
identifiant unique, comme les grands endroits. Vous pouvez trouver n'importe quelle URL que vous voulez
ici, mais encore une fois, elle doit être unique et vous devez donc utiliser votre propre
domaine ou un domaine fictif qui
n'appartient à personne, donc pas académique parce que je le possède, donc tout autre domaine, tout autre identifiant fictif qui devrait
avoir ce format,
c'est ce que vous fournissez ici.
Vous devez également fournir quelque chose de similaire sur iOS, si vous allez
sur iOS, vous n'avez pas besoin de fournir ces paramètres de configuration des autorisations car les autorisations iOS fonctionnent différemment, vous devrez
fournir une clé
API Google Maps si vous utilisez Google Maps version du package de cartes pour iOS, la valeur par
défaut de ce package est cependant d'utiliser Apple Maps et je n'ai pas changé cela dans mon application,
donc je n'ai pas besoin de fournir l'API Google Maps ici,
mais ce que vous devez absolument fournir ici est un identifiant de bundle. Remplacez donc le package par l'identifiant du bundle et le format est le
même, vous avez cette syntaxe d'URL
inverse ici et je vais l'appeler com. academind. cours de grands endroits et utilisez
également cette édition de cours ici sur Android.
L'identifiant de bundle pour iOS et le package pour Android doivent donc être définis sur une URL unique inverse.
Maintenant, en plus de ces identifiants, vous devez également définir autre chose, sur iOS,
vous devez ajouter un numéro de build, également ici dans le nœud iOS et le numéro de build
doit être une chaîne qui identifie votre build. Là, vous devriez avoir un numéro de build tout comme cette version là-haut et travailler
de la façon dont je l'ai expliqué là-haut.
Donc, ce devrait être un nombre composé de trois chiffres où vous avez un numéro de patch pour les correctifs, les corrections de bugs, puis
ce numéro de mise à jour mineure pour les nouvelles fonctionnalités qui ne cassent pas tout et ce numéro de mise à
jour majeure, vous pouvez le changer
comme vous le souhaitez mais vous devez le changer pour chaque nouvelle version que
vous publiez et déployez et vous devez bien sûr la changer de manière à refléter ce qui a changé.
Maintenant, vous avez besoin de quelque chose de similaire
pour Android, si nous revenons à la documentation Android, nous avons également besoin d'un code de version. Donc, ici, nous ajoutons le code de version et maintenant ici,
ce n'est pas une chaîne mais un nombre que vous devez simplement incrémenter d'un pour chaque
nouvelle version.
Donc, vous commencez par une,
la prochaine version que vous publiez, même si elle ne contient que de minuscules correctifs devrait être deux puis trois et
ainsi de suite.
Voilà donc ce que vous devez configurer ici, voici comment cela fonctionne pour Android, vous trouverez également cette
description ici dans la documentation et avec cela,
nous sommes maintenant prêts à déployer ceci ou à le construire en premier et comme je l'ai mentionné,
le cool chose à propos de l'expo géré, c'est que vous pouvez maintenant le construire sur les
serveurs cloud expo.
Donc, ce que vous devez faire, c'est que vous devez exécuter expo publish pour publier la dernière version de votre application sur les
serveurs expo comme celle qui ne la construira pas encore en tant qu'application autonome et
maintenant ce que j'obtiens ici sont quelques avertissements ou erreurs. Nous voyons donc qu'Android ne devrait pas avoir de propriété supplémentaire
Google Maps, oui parce
que cela devrait être dans un nœud de configuration,
mon erreur.
Donc, vous devriez ajouter la configuration ici et dans la configuration, vous pourriez avoir cette clé
Google Maps, c'est une petite erreur de mon côté et ici pour le package, Android n'aime vraiment pas les tirets là-dedans
mais vous pouvez utiliser des traits de soulignement, alors utilisons-le . Avec cela corrigé, exécutons à nouveau expo publish pour valider à nouveau
cela, puis publions la version la plus récente sur
les serveurs expo qui ne démarre pas encore le processus de construction mais qui est une préparation importante et
une fois cela fait, vous êtes prêt à créez également votre application pour Android et
iOS.
Maintenant, la différence entre la publication et la construction est que la publication pousse simplement votre code et votre configuration
vers les serveurs expo et vous pouvez ensuite scanner le code-barres avec le client expo et ainsi de suite.
La construction signifie que vous tirerez parti du service de création de cloud d'Expo pour vraiment créer un ensemble d'applications Android
ou un fichier IPA iOS, ce sont les fichiers
que vous téléchargez ensuite sur les magasins d'applications par la suite, donc il y a
une énorme différence ici. Maintenant, ces bundles que
vous créez comme mentionné précédemment incluent le client expo pour ainsi
dire, ils incluent cela comme un wrapper autour de votre application, mais c'est une véritable application
native donc après tout, c'est donc une application native avec juste ce petit
wrapper supplémentaire en tenant compte de la configuration que vous définissez ici par exemple concernant les autorisations.
De plus, ces applications que vous construisez sur les serveurs expo que vous pouvez ensuite distribuer via les magasins d'applications parleront aux
serveurs expo pour la fonctionnalité de mise à jour en direct. Ainsi, vous publierez toujours de nouvelles mises à jour avec
expo publish par la suite et vos applications autonomes qui s'exécutent sur d'autres appareils recevront ces mises à jour
publiées, donc la publication est toujours importante même
si vous créez des applications autonomes, si vous créez des bundles d'applications parce que
ces packs d'applications continueront de communiquer avec les serveurs d'expo pour obtenir de nouvelles versions.
Mais en parlant de cela, comment pouvons-nous construire ces bundles maintenant?
Vous faites cela avec la commande expo build et là, vous avez build: Android et
build: iOS.
Commençons par la construction: Android et comme son nom l'indique, cela crée une application pour Android.
Vous pouvez tout savoir sur le processus de construction autonome dans la documentation de développement d'applications autonomes
que vous trouverez également ci-jointe ici et là, vous trouverez la configuration de base dont vous avez besoin
et ce que vous devez prendre en compte là-bas. Pour Android, ici, vous constatez que vous pouvez également
choisir de créer un APK ou un fichier de bundle d'applications, il est recommandé de
créer un fichier
de bundle d'applications car c'est le format préféré de Google et pour cela, vous pouvez exécuter au lieu de
simplement expo build Android, vous exécutez expo build Android -t app-bundle. Si vous appuyez maintenant sur Entrée, cela validera à la fin
votre configuration, puis poussera votre code vers les serveurs de build cloud d'Expo où cela sera désormais planifié.
Maintenant, tout d'abord, il vous demandera parce que les applications doivent être signées, cela se produit avec une paire
de clés publiques privées qui, à la fin, est utilisée pour vous identifier comme l'auteur de l'application, les
futures mises à jour de l'application et avec lesquelles je ne
ne signifie pas les mises à jour que vous avez publiées sur les serveurs expo avec la commande expo
publish mais lorsque vous reconstruisez l'application, lorsque vous reconstruisez le package que vous retrouvez ensuite dans les magasins d'applications, ce
que vous devrez parfois faire si vous changez par exemple l'icône ou autre chose qui ne peut pas être
partagé avec expo publish, dans de
tels cas, vous devez signer la mise à jour avec les mêmes clés que vous avez utilisées pour créer l'application d'origine pour vous identifier
en tant qu'auteur, sinon l'App Store refusera
cette mise à jour, il n'acceptera pas votre prochaine version de l'application. Par conséquent, vous devez signer votre application et si vous savez
ce que vous faites, vous pouvez créer et télécharger votre propre magasin de clés, mais ici, je
m'en tiendrai
à la version 1 et je laisserai expo gérer ce qui signifie
qu'il créera une telle clé pour l'attribution et faire tout le travail de signature pour vous sur leurs serveurs, c'est donc ce
que je choisis ici.
Maintenant, avec cela, il construit à nouveau l'application comme pour la publication et même si je construis une application Android, il la construit toujours pour iOS ici parce qu'en fin de
compte, ce qu'il fait ici, c'est qu'il publie l'application. Attendons donc que cela se
termine, maintenant il fait juste la même chose que expo le publie, mais par la
suite, il planifiera que cela soit construit sur les serveurs expo.
Alors maintenant, la publication est terminée et maintenant elle planifie une telle construction et elle la met en file d'attente, c'est d'ailleurs un processus
que vous pouvez maintenant quitter comme il est dit ici, vous pouvez toujours vérifier l'état de votre construction en
entrant cette URL, vous ' Vous
devrez vous y connecter avec votre compte expo et vous pourrez alors voir l'état de la construction.
Maintenant important,
cette construction peut prendre très longtemps,
la construction elle-même n'est pas tellement mais jusqu'à ce que votre construction soit construite parce qu'elle est planifiée, gardez à l'esprit
qu'il s'agit d'un service gratuit, donc bien sûr,
il n'est pas construit immédiatement mais lorsque les serveurs de l'expo ont de la place pour ça.
Cela peut prendre quelques minutes, voire des heures, jusqu'à ce que cela se produise, alors ne vous inquiétez
pas si cela prend un certain temps, vous pouvez toujours vérifier cette URL que vous voyez dans votre ligne de
commande pour voir ce qui se passe. Vous pouvez donc quitter cela,
c'est aussi une URL où vous trouverez plus tard les fichiers de construction,
alors voici mon état de construction si nous le vérifions, vous voyez qu'il est mignon et maintenant, rien d'autre
ne se passe, nous
pouvons le revoir plus tard pour voir le processus de construction et téléchargez l'ensemble d'applications terminé et
pour l'instant, faisons de même pour iOS.
Cela peut être fait
en exécutant expo build iOS. Maintenant important, pour créer des applications iOS, vous avez besoin d'un compte développeur Apple
payant, c'est un must have.
Vous devrez donc aller au développeur. Pomme. com et là, vous devrez vous connecter avec
votre identifiant Apple, puis obtenir un compte payant, vous devrez donc ajouter votre carte de crédit et payer des frais
de 99 $. Cela est nécessaire, il n'y
a aucun moyen
de contourner cela, Apple exige que vous construisiez des applications que vous souhaitez publier dans leurs magasins.
Vous n'avez pas besoin de cela pendant
le développement, mais maintenant, pour partager l'application, vous devez l'avoir.
Il s'agit essentiellement d'une redevance qui n'est là que pour permettre aux gens du magasin qui ont au moins des
objectifs sérieux là-bas, je suppose.
Assurez-vous donc de vous connecter ici et de configurer votre compte de développeur Apple payant pour rejoindre le programme pour développeurs
Apple et par la suite, vous pouvez exécuter cette commande et
il vous demandera de vous connecter avec votre compte de développeur Apple. Vous vous connectez donc avec votre identifiant Apple et votre
mot de passe et ces données ne seront pas stockées sur les serveurs expo,
pas de soucis
mais il en a besoin pour tout configurer pour construire votre application car pour le processus de construction
Apple, vous avez besoin de certificats spéciaux, etc. il peut demander en votre nom ces données.
Une fois que vous vous êtes connecté, il vous demande comment vous souhaitez gérer vos informations d'identification, tout
comme avant si vous ne savez pas ce que vous faites, vous devriez laisser expo gérer
tout cela car, comme je l'ai mentionné, vous avez besoin de quelques des certificats spéciaux pour à la fin créer votre application iOS et expo peuvent demander
tout cela pour vous et définir tout cela pour vous, donc je vais laisser expo faire cela pour toutes ces
étapes et maintenant il fera essentiellement tout cela pour vous.
Maintenant, cela crée également mon application ici pour iOS et la publie à nouveau en premier, c'est la même chose que nous
faisions auparavant pour Android et maintenant nous avons également prévu une construction pour iOS. Tout comme avant, cela est mis en
file d'attente, vous pouvez le quitter et regarder votre build ici dans le navigateur.
Alors maintenant, nous n'avons pas seulement cette version Android en file d'attente, mais nous avons également cette version iOS en file d'attente et
les deux prendront un certain temps jusqu'à ce qu'elles soient terminées.
Maintenant, il y a une chose importante que vous devez également faire après que
cette version
Android soit terminée, ce qui n'est pas encore le cas, vous devez exécuter expo fetch: android: keystore.
Encore une fois, cela ne fonctionne qu'une fois la génération terminée, car cela récupérera alors ce fichier
de clés généré automatiquement que l'expo génère pour vous si vous avez choisi cela dans la configuration dont vous avez besoin pour les futures
mises à jour de cette application. Vous en aurez certainement besoin et dans les mises à jour
futures lorsque vous reconstruirez l'application, vous devrez alors choisir de fournir votre propre fichier de clés et vous devez alors fournir ce fichier
de
clés, alors entrez le chemin d'accès à ce fichier de clés que vous téléchargez ensuite.
Donc, cette commande va finalement télécharger un fichier généré sur les serveurs expo que vous devez stocker sur votre système
pour une future mise à jour de la même application, sinon
vous ne pourrez pas le mettre à jour.
C'est donc une commande importante que vous devrez exécuter une fois cette génération terminée. Eh bien et avec ça, attendons
qu'il soit terminé,
iOS est déjà en train de construire, Android est toujours en
file d'attente mais iOS est déjà
en route, alors attendons que la version iOS se termine et maintenant
c'est fait, maintenant mon iOS la construction est terminée.
Maintenant, vous pouvez également consulter les documents officiels sur la façon dont vous pouvez continuer à tester cela sur
votre appareil ou votre simulateur, puis aller à la partie où vous téléchargez l'application sur l'Apple App Store et Google Play Store.
Nous construisons
donc l'application, vous pouvez maintenant la télécharger en exécutant expo upload: ios, cela utilisera par défaut votre dernière application et
la téléchargera sur l'App Store.
Maintenant, c'est la partie que je ne ferai pas ici parce que je ne veux pas vraiment publier cette
application ici mais c'est ce
que vous feriez maintenant, il utiliserait cette application qui vient d'être construite ici pour iOS ou pour
Android, la construction Android est maintenant aussi fonctionne comme je le vois, donc il utiliserait cela et le publierait ensuite
avec cette commande sur iOS ou avec cette commande sur Android, sur le Google Play Store.
Maintenant, suivez les étapes que vous trouverez ici dans les documents pour créer les comptes appropriés
et tout configurer correctement pour que cette commande puisse
réussir et avec cela, vous aurez déployé votre application sur l'Apple App Store et le Google Play Store afin que
vous peut fournir votre application à n'importe quel utilisateur du monde entier en tant qu'application autonome, ne dépendant pas du client
expo installé sur les appareils, ce qui est assez soigné.