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.

GEThttps://www.setherion.com/api/v1/projects/{id}/store

Forfait : 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 :

bash
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 :

bash
curl "https://www.setherion.com/api/v1/projects/7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14/store?way=easy" \
  -H "Authorization: Bearer $SETHERION_API_KEY"
ParamètreSignification
wayFacultatif. 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

json
{
  "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."
}
ChampTypeSignification
appobjetLe name de l’application, et son url ou null quand elle n’est pas publiée.
readylisteCe qui est prêt et ce qui manque. Voir ci-dessous.
waysobjetUne phrase pour chaque voie, easy et native.
onlyInSetherionchaîneCe 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.

ChampSignification
itemCe qui est vérifié.
stateok, missing, ou unknown quand cela n’a pas pu être vérifié à l’instant.
noteUne phrase qui dit pourquoi.
fixSeulement 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. ok quand l’application a une adresse. missing quand 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. ok quand l’application en ligne sert l’icône PNG, missing quand elle ne la sert pas (publiez de nouveau ; une application sur son propre domaine n’a pour l’instant que l’icône SVG), unknown quand 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. missing a un fix.
  • Privacy policy page. Les deux stores demandent un lien vers une telle page. missing a un fix.

Réponse avec way

Les mêmes champs, et les étapes de la voie demandée :

json
{
  "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.)

ChampTypeSignification
waychaîneLa voie demandée, easy ou native.
androidlisteLes étapes Android, dans l’ordre.
iphonelisteLes étapes iPhone, dans l’ordre.
iphoneNotesliste de chaînesCe pour quoi Apple peut refuser l’application, chacun une phrase, titré là où la fenêtre le titre.

Chaque étape a :

ChampTypeSignification
stepnombreSa place dans la liste, à partir de 1.
titlechaîneLe nom de l’étape, celui qu’affiche la fenêtre.
metachaîneUne courte ligne : combien de temps cela prend, ce qu’il faut, ou ce que cela coûte.
detailchaîneCe qu’il faut faire. Peut contenir plusieurs lignes, comme les commandes à exécuter.
linkchaîneOù le faire, quand il y a un endroit. Omis sinon.
donebooléenSeulement 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

StatutQuand
400way est autre chose que easy ou native.
401La clé est absente, incorrecte ou révoquée.
404Cette application n’existe pas, ou votre clé ne peut pas l’ouvrir.
409L’application n’a pas encore de code. Construisez-la d’abord dans Setherion.
Les phrases exactes
Statuterror
400way is "easy" or "native".
404No such app on this account.
409This app has no code yet. Build it in Setherion first.

Cette page vous a-t-elle été utile ?

Rejoindre la communauté

Questions, idées et ce que construisent les autres.