Sovelluksen julkaisu sovelluskaupoissa ja verkossa

Verkkosovellus julkaistaan omaan osoitteeseen illassa, mutta Google Play ja App Store vaativat maksun, henkilöllisyyden todentamisen ja tarkastuksen.

VVibekoodaus

Sovelluksen julkaisemiseen on kolme reittiä. Ensimmäinen vie verkkosovelluksen omaan osoitteeseen, toinen Android-sovelluksen Google Playhin ja kolmas iOS-sovelluksen App Storeen. Verkkoreitti on halvin ja nopein, koska kukaan ei tarkasta työtäsi ennen kuin käyttäjä avaa osoitteen. Sovelluskaupoissa julkaisu maksaa, edellyttää henkilöllisyyden todentamista ja käy läpi ihmisen tekemän tarkastuksen, joten siinä menee päiviä.

Tekoälyn kanssa rakennettu projekti kaatuu julkaisussa yleensä samaan asiaan. Koodi toimii omalla koneella, mutta julkaisu paljastaa sen, mitä kehitysympäristö piilotti: puuttuvat ympäristömuuttujat, tietokantayhteyden, joka osoittaa paikalliseen osoitteeseen, ja API-avaimet, jotka ovat päätyneet selaimen puolelle. Ne syntyvät rakennusvaiheessa ja näkyvät vasta julkaisussa.

Verkkosovellus omassa osoitteessa

Verkkoreitillä kukaan ei tarkasta sovellusta etukäteen. Rakennat projektista tuotantoversion, viet sen palveluntarjoajalle, kytket verkkotunnuksen ja jaat linkin. Yksi ilta riittää, kun projekti on valmis. Vaihe vaiheelta etenevä ohje Next.js-projektille on oppaassa sovelluksen julkaisu Verceliin.

Tekninen ero kehitysympäristöön on suurempi kuin miltä se näyttää. Kehityspalvelin kääntää koodin lennossa ja näyttää virheet ruudulla. Tuotantoversio kääntää kaiken kerran valmiiksi ja piilottaa virheet lokiin. Siksi projekti, joka pyörii omalla koneella, voi kaatua ensimmäiseen tuotantokäännökseen. Aja käännöskomento paikallisesti ennen kuin viet mitään palvelimelle, niin näet virheet siinä ympäristössä, jossa osaat lukea niitä.

Vapaudella on hintansa. Julkinen osoite tarkoittaa, että kuka tahansa voi kutsua sovelluksesi rajapintoja, ja tekoäly kirjoittaa oletuksena koodia, joka luottaa käyttäjään. Käy läpi kolme asiaa ennen kuin jaat linkin:

  1. Avaimet ja salasanat ovat palvelimen ympäristömuuttujissa, eikä yksikään niistä päädy selaimeen ladattavaan koodiin.
  2. Tietokannan käyttöoikeussäännöt on kytketty päälle, joten kirjautunut käyttäjä näkee vain omat rivinsä.
  3. Lomakkeiden syötteet tarkistetaan myös palvelimella, ei pelkästään käyttöliittymässä.

Supabasen kaltaisissa palveluissa nämä ovat asetuksia, joita tekoäly ei kytke päälle puolestasi, ellet pyydä. Kokeile sovellusta myös toisen ihmisen puhelimella ennen kuin osoite lähtee eteenpäin. Oma laite muistaa kirjautumisen, välimuistin ja puoliksi täytetyt lomakkeet, joten se on huono paikka todeta, että sovellus toimii. Tekoälykoodin testaaminen kannattaa hoitaa ennen julkaisua, jotta ensimmäinen käyttäjä ei löydä virheitä ennen sinua.

Google Play ja kehittäjätilin vaatimukset

Android-julkaisu alkaa kehittäjätilistä. Google Play Console -tilin avaaminen maksaa kertaluonteisen 25 Yhdysvaltain dollarin rekisteröintimaksun, eikä prepaid-kortteja hyväksytä maksuvälineeksi. Saman ohjeen mukaan tilin haltijan on oltava vähintään 18-vuotias, ja henkilöllisyys vahvistetaan. Yhdellä maksulla saa tilin, jolla voi julkaista useita sovelluksia.

Henkilökohtaisilla tileillä on lisäehto. Google kertoo samassa ohjeessa, että 13. marraskuuta 2023 jälkeen luoduilla henkilökohtaisilla tileillä on täytettävä erilliset testivaatimukset ennen kuin sovellus voidaan julkaista Google Playssa. Käytännössä ensimmäinen versio ei mene kauppaan sinä iltana, kun se valmistuu. Varaa aikaa testijakelulle.

Tekninen rima on kirjattu erikseen. Google Playn kohdeversiovaatimus määrää, mihin Android-versioon uusien sovellusten ja päivitysten on kohdistettava, ja raja nousee vuosittain. Tarkista ajantasainen API-taso ohjeesta ennen kuin lähetät sovelluksen.

Kohdeversio ei ole asia, jonka tekoäly hoitaa luotettavasti puolestasi. Se kirjoittaa projektin sen mallin mukaan, jonka se on oppinut, ja se malli voi olla vuoden vanha. Tarkista luku projektin asetustiedostosta itse.

Kauppasivu on oma työnsä. Sovelluksen lisäksi tarvitset nimen, lyhyen ja pitkän kuvauksen, kuvakkeen oikeassa koossa, kuvakaappaukset eri näyttökokoihin, ikäluokituksen ja tietosuojaselosteen osoitteen. Tekoäly kirjoittaa kuvaustekstit nopeasti, mutta tietosuojaselosteen pitää vastata sitä, mitä sovellus oikeasti kerää. Jos sovellus tallentaa sähköpostiosoitteita tai sijainteja, sen pitää lukea selosteessa.

App Store ja tarkastuksen rima

Applen puolella maksu on toistuva. Apple Developer Program -jäsenyys maksaa 99 dollaria vuodessa, ja ilman jäsenyyttä sovellusta ei voi julkaista App Storessa. Jäsenyys kannattaa hankkia vasta, kun sovellus on siinä kunnossa, että sen voi lähettää tarkastukseen, koska jäsenvuosi alkaa maksupäivästä.

Tarkastus on kohta, jossa nopeasti kasattu projekti tyypillisesti kaatuu. App Store Review Guidelines -ohjeen kohta 4.2 vaatii, että sovelluksessa on ominaisuuksia, sisältöä ja käyttöliittymä, jotka nostavat sen uudelleenpaketoitua verkkosivustoa pidemmälle. Kohta 4.2.2 kieltää sovellukset, jotka ovat lähinnä markkinointimateriaalia, mainoksia, verkkoleikkeitä, sisältökoosteita tai linkkikokoelmia.

Tämä osuu suoraan siihen, mitä tekoälyllä on helpointa rakentaa. Verkkosovellus, joka on kääritty mobiilikuoreen, on juuri se tapaus, jonka ohje mainitsee. Jos sovelluksesi ydin on sisällön hakeminen verkosta ja näyttäminen listana, se tarvitsee jotain, mitä selain ei anna: paikallisen tallennuksen, ilmoitukset, kameran, sijainnin tai offline-tilan. Mieti tämä ennen kuin maksat jäsenyyden. Puhelimelle rakennettava sovellus kannattaa rajata alusta asti sen ympärille, mikä siinä on kiinni laitteesta.

Tarkastusta edeltää testijakelu, ja sitä kannattaa käyttää. Apple jakaa kehitysversioita testaajille TestFlightin kautta, joten sovelluksen saa oikealle laitteelle ennen kuin sen lähettää kauppaan. Testijakelussa selviää yleensä se, minkä kehittäjä itse ohittaa: kirjautuminen ei toimi puhelimessa, jossa ei ole valmiiksi auki olevaa istuntoa, ja virheilmoitukset näkyvät englanniksi keskellä suomenkielistä käyttöliittymää.

Julkaisun jälkeinen ylläpito

Sovellus ei ole valmis, kun se on kaupassa. Kaupat kiristävät vaatimuksiaan omaan tahtiinsa, ja Googlen kohdeversiovaatimus koskee myös jo julkaistuja sovelluksia. Ilman päivitystä sovellus jää pois uusien käyttäjien näkyvistä uudemmissa Android-versioissa, vaikka se toimisi vanhoilla laitteilla moitteetta. Julkaisu on siis toistuva tehtävä.

Verkkoreitillä vastaava velvoite tulee riippuvuuksista. Kirjastot vanhenevat, tietoturvakorjauksia julkaistaan, ja jossain vaiheessa asennus ei enää mene läpi samoilla versioilla kuin vuosi sitten. Tekoäly korjaa nämä yleensä nopeasti, kun sille antaa virheilmoituksen kokonaisuudessaan. Vaikeinta on huomata, että korjausta tarvitaan, jos kukaan ei katso sovellusta viikkoihin.

Kirjaa jokaisesta julkaistusta projektista kolme asiaa: missä se on julkaistu, mikä tili sen omistaa ja milloin sitä on viimeksi päivitetty. Yhden sovelluksen kohdalla se kuulostaa turhalta. Neljännen kohdalla se on ainoa tapa muistaa, mikä salasana avaa minkäkin hallintapaneelin.

Jos et ole varma, mistä aloittaa, aloita verkosta. Sama koodi toimii, rekisteröintimaksua ei ole, ja sovelluskaupan tarkastukseen voi lähteä siinä vaiheessa, kun tiedät, että joku käyttää sovellusta.

Usein kysytyt kysymykset

Sovelluksen julkaisu sovelluskaupoissa ja verkossa