Endpoints
Préparation pour les stores
Ce qu’il manque encore à une application pour Google Play et l’App Store, et les étapes dans l’ordre.
https://www.setherion.com/api/v1/projects/{id}/storeForfait : Tous les forfaits
La fenêtre « Publish to app stores » de l’éditeur, exprimée en données : ce qui est prêt pour les stores et, avec way, les étapes pour Android et iPhone dans l’ordre. Elle lit le code enregistré de l’application avec les mêmes fonctions que la fenêtre, elle n’est donc jamais en désaccord avec elle.
C’est gratuit et n’utilise pas de crédits. Un accès en lecture suffit. Pour les fenêtres et le pas-à-pas complet, voir Publier sur les stores d’applications.
Requête
Sans way, pour comparer d’abord les deux voies :
curl https://www.setherion.com/api/v1/projects/7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14/store \
-H "Authorization: Bearer $SETHERION_API_KEY"Avec way, pour les étapes :
curl "https://www.setherion.com/api/v1/projects/7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14/store?way=easy" \
-H "Authorization: Bearer $SETHERION_API_KEY"| Paramètre | Signification |
|---|---|
way | Facultatif. easy ou native. easy emballe le site web publié dans des paquets pour les stores avec PWA Builder, sans code. native est toute l’application sous forme de projet téléphone que le propriétaire construit sur un ordinateur, nécessaire pour les publicités et les achats intégrés. Toute autre valeur répond 400. |
L’application doit avoir du code. Si elle est publiée, l’appel demande aussi à l’application en ligne son icône de store (/icon-512.png), en attendant 5 secondes au plus.
Réponse sans way
{
"ok": true,
"app": { "name": "Coffee shop", "url": "https://coffee-shop.setherion.app" },
"ready": [
{
"item": "Published on the web",
"state": "ok",
"note": "https://coffee-shop.setherion.app"
},
{
"item": "Store icon",
"state": "ok",
"note": "PNG in every size the stores ask for, made when the app is published."
},
{
"item": "Privacy policy page",
"state": "missing",
"note": "Both stores ask for a link to one, and none was found in this app.",
"fix": "Add a Privacy Policy page at /privacy, linked from the footer and from the sign-up screen. Say what the app keeps (the account email and what people enter), why, for how long, that nothing is sold, and how to ask for an account and its data to be deleted. Leave the owner's contact email as a placeholder to fill in."
}
],
"ways": {
"easy": "Easy, no code: PWA Builder wraps the published website into store packages. About 2 steps in Setherion, the rest in the stores. Android is done from any computer; iPhone needs a Mac with Xcode.",
"native": "Native, for developers: the whole app as a phone project (Capacitor). Needed for ads and in-app purchases. Built on the owner's computer (Android Studio; a Mac with Xcode for iPhone), or in the cloud by GitHub when pushed to GitHub: no Android Studio and no Mac."
},
"onlyInSetherion": "In Setherion: open the app, Publish, then \"Publish to app stores\". Only there: dropping PWA Builder's ZIP, adding Google Play's key, downloading the phone project or pushing it to GitHub, the store screenshots (every size both stores ask for, free), and the store guidelines check. The window ticks the steps it can see, and keeps the owner's own ticks."
}| Champ | Type | Signification |
|---|---|---|
app | objet | Le name de l’application, et son url ou null quand elle n’est pas publiée. |
ready | liste | Ce qui est prêt et ce qui manque. Voir ci-dessous. |
ways | objet | Une phrase pour chaque voie, easy et native. |
onlyInSetherion | chaîne | Ce que seule la fenêtre de Setherion peut faire, pour qu’un programme sache où s’arrête sa portée. |
La liste ready
Chaque entrée a item, state et note, et parfois fix.
| Champ | Signification |
|---|---|
item | Ce qui est vérifié. |
state | ok, missing, ou unknown quand cela n’a pas pu être vérifié à l’instant. |
note | Une phrase qui dit pourquoi. |
fix | Seulement sur un élément missing que l’éditeur peut ajouter. Le texte à envoyer à Modifier une application comme prompt, une fois que le propriétaire est d’accord, car une modification dépense des crédits. |
Les éléments qui peuvent apparaître
- Published on the web.
okquand l’application a une adresse.missingquand elle n’en a pas : la voie Easy emballe l’adresse publiée, publiez donc d’abord. La voie Native fonctionne sans elle. - Store icon. Listé seulement une fois l’application publiée.
okquand l’application en ligne sert l’icône PNG,missingquand elle ne la sert pas (publiez de nouveau ; une application sur son propre domaine n’a pour l’instant que l’icône SVG),unknownquand l’application en ligne n’a pas pu être vérifiée. - Delete account button. Listé seulement quand des personnes peuvent créer un compte dans l’application. Apple refuse une telle application sans lui.
missinga unfix. - Privacy policy page. Les deux stores demandent un lien vers une telle page.
missinga unfix.
Réponse avec way
Les mêmes champs, et les étapes de la voie demandée :
{
"ok": true,
"app": { "name": "Coffee shop", "url": "https://coffee-shop.setherion.app" },
"ready": [ "... as above ..." ],
"ways": { "easy": "...", "native": "..." },
"way": "easy",
"android": [
{
"step": 1,
"title": "Make the Android package",
"meta": "PWA Builder, about 2 minutes",
"detail": "Open PWA Builder with the app's address filled in. Choose Package for stores, then Android, and download the ZIP.",
"link": "https://www.pwabuilder.com/reportcard?site=https%3A%2F%2Fcoffee-shop.setherion.app"
},
{
"step": 2,
"title": "Link the app to your site",
"meta": "So it opens without a browser's address bar",
"detail": "In Setherion: open the app, Publish, then \"Publish to app stores\", Easy, Android, this step: drop the ZIP from PWA Builder there. ...",
"done": false
}
],
"iphone": [ "... five steps, numbered the same way ..." ],
"iphoneNotes": [
"A Mac is needed. The Easy way builds the iPhone app on a Mac with Xcode. The Native way can build it on GitHub's Mac computers instead. Make sure you have one of the two before you pay Apple's $99 a year.",
"To Apple this looks like a website. Nobody signs in, nothing is saved, and Apple turns down apps that are only a website (guideline 4.2). Sign-in, saved data and features people come back to make it an app. Run the store guidelines check on the first page before you send it."
],
"onlyInSetherion": "..."
}(Abrégée ici : la vraie réponse contient chaque étape en entier.)
| Champ | Type | Signification |
|---|---|---|
way | chaîne | La voie demandée, easy ou native. |
android | liste | Les étapes Android, dans l’ordre. |
iphone | liste | Les étapes iPhone, dans l’ordre. |
iphoneNotes | liste de chaînes | Ce pour quoi Apple peut refuser l’application, chacun une phrase, titré là où la fenêtre le titre. |
Chaque étape a :
| Champ | Type | Signification |
|---|---|---|
step | nombre | Sa place dans la liste, à partir de 1. |
title | chaîne | Le nom de l’étape, celui qu’affiche la fenêtre. |
meta | chaîne | Une courte ligne : combien de temps cela prend, ce qu’il faut, ou ce que cela coûte. |
detail | chaîne | Ce qu’il faut faire. Peut contenir plusieurs lignes, comme les commandes à exécuter. |
link | chaîne | Où le faire, quand il y a un endroit. Omis sinon. |
done | booléen | Seulement sur les étapes que Setherion peut voir par lui-même sur la voie Easy pour Android : le lien vers votre site et la clé de Google Play. Omis quand il ne peut pas le dire. |
Les étapes de chaque liste
Easy, Android : créer le paquet Android, lier l’application à votre site, ouvrir un compte développeur Google Play, l’envoyer et le tester, ajouter la clé de Google Play, remplir la fiche du store et publier.
Easy, iPhone : ouvrir un compte développeur Apple, créer le paquet iPhone, le construire et l’envoyer, l’essayer sur votre iPhone, remplir la fiche du store et l’envoyer en validation.
Native, Android : télécharger le projet, le construire, le signer, l’envoyer et le tester, publier.
Native, iPhone : télécharger le projet, le construire, le signer et l’envoyer, l’essayer sur votre iPhone, remplir la fiche du store et l’envoyer en validation.
Sur la voie Native, les commandes dans detail incluent l’étape de configuration supplémentaire quand l’application affiche des publicités ou vend des choses, ainsi que les notes sur la publicité et les achats intégrés pour les formulaires des stores.
Erreurs
| Statut | Quand |
|---|---|
400 | way est autre chose que easy ou native. |
401 | La clé est absente, incorrecte ou révoquée. |
404 | Cette application n’existe pas, ou votre clé ne peut pas l’ouvrir. |
409 | L’application n’a pas encore de code. Construisez-la d’abord dans Setherion. |
Les phrases exactes
| Statut | error |
|---|---|
400 | way is "easy" or "native". |
404 | No such app on this account. |
409 | This app has no code yet. Build it in Setherion first. |
Cette page vous a-t-elle été utile ?
