Siirry pääsisältöön

Installable Apps

Avaa ChatGPT:ssä
24.21
Java API

@AppProfile-annotaatio webforJ:ssä mahdollistaa sovelluksesi asentamisen tuetuilla alustoilla. Asennettavat web-sovellukset integroituvat laitteen käyttöjärjestelmään. Asennettuna ne näkyvät kotinäytössä tai sovellusvalikossa, kuten natiivisovellukset. Tätä varten on annettava tiettyjä metatietoja, kuten nimi, kuvaus ja ikonit. Nämä tiedot auttavat käyttöjärjestelmää tunnistamaan ja näyttämään sovelluksen.

Turvallisen alkuperän vaatimus

Sovelluksen ollakseen asennettavissa, sen on oltava palvelimelta turvallisesta alkuperästä, kuten https. Selain hylkää asennusyritykset epäturvallisista alkuperistä. Tämä sääntö ei kuitenkaan koske, kun sovellusta toimitetaan paikallisesti localhost-ympäristössä kehityksen aikana.

Lisätietoja turvallisista konteksteista ja niiden tärkeydestä löytyy Secure Contexts MDN -dokumentaatiosta.

Selaintuki

Tuki web-sovelluksen asentamiselle vaihtelee selaimen ja alustan mukaan.

Työpöytä

  • Chromium-selaimet (Chrome, Edge, Opera, Brave ja muut) asentavat minkä tahansa sovelluksen, joka sisältää manifestitiedoston, kaikilla tuetuilla työpöytäkäyttöjärjestelmillä.
  • Safari tukee Tiedosto → Lisää Dockiin macOS Sonamassa (Safari 17) ja myöhemmin. Tämä prosessi toimii minkä tahansa web-sovelluksen, oli sillä manifestitiedostoa tai ei.
  • Firefox ei tue web-sovellusten asentamista manifestitiedostosta työpöydällä.

Mobiili

  • Androidilla Chrome, Edge, Firefox, Opera ja Samsung Internet tukevat kaikkia web-sovellusten asentamista.
  • iOS 16.3 ja aikaisemmat versiot mahdollistavat web-sovellusten asentamisen vain Safarista (Jaa → Lisää Kotonäytölle).
  • iOS 16.4 ja uudemmissa versioissa web-sovelluksia voidaan asentaa Jaa-valikosta Safarissa, Chromessa, Edgessä, Firefoxissa ja Orionissa.

@AppProfile-annotaatio

@AppProfile-annotaatio on määritettävä pääsovellusluokkaan ja se vaatii vain vähäistä konfigurointia. Vähintään on annettava:

  • name: Sovelluksen koko nimi.
  • shortName: Tiivistetty versio nimestä käytettäväksi rajoitetuissa tiloissa.

Lisävalinnaiset ominaisuudet mahdollistavat sovelluksen ulkoasun ja käyttäytymisen mukauttamisen.

Kun @AppProfile-annotaatio on läsnä, webforJ:

  • Asettaa automaattisesti tarvittavat metatiedot.
  • Luo Web-sovelluksen manifestin.
  • Palvelee siihen liittyviä resursseja, kuten ikoneita ja näyttökuvia.

Esimerkki: @AppProfile-annotaation käyttäminen

@AppProfile(
name = "Zyntric Bank",
shortName = "ZBank",
description = "Zyntric Bank on yksinkertainen pankkisovellus, joka on rakennettu webforJ:llä",
screenshots = {
@AppProfile.Screenshot(
src = "ws://img/screenshots/s1.jpg",
sizes = "1080x1920"
)
}
)
public class Application extends App {
}

@AppProfile-ominaisuudet

Seuraavassa taulukossa on listattu kaikki @AppProfile-annotaatiossa tuetut ominaisuudet:

OminaisuusTyyppiKuvausOletusarvo
nameStringSovelluksen koko nimi, joka näkyy sovellusvalikoissa ja asennusdialogeissa.Pakollinen
shortNameStringNimen lyhyt versio, jota käytetään rajoitetuissa tiloissa. Sen ei tulisi ylittää 12 merkkiä.Pakollinen
descriptionStringLyhyt kuvaus sovelluksesta, joka näkyy asennuksen aikana ja sovelluksen asetuksissa.""
themeColorStringSovelluksen teeman väri, jota sovelletaan selaimen käyttöliittymään sovelluksen avatessa."#ffffff"
backgroundColorStringAlkuperäinen taustaväri sovellukselle latauksen aikana."#f8fafc"
startUrlStringURL-osoite, joka avataan, kun sovellus käynnistetään."."
displayDisplay EnumSovelluksen näyttötila (esim. FULLSCREEN, STANDALONE, BROWSER).STANDALONE
orientationOrientation EnumSovelluksen oletussuunnittelu (esim. PORTRAIT, LANDSCAPE, NATURAL).NATURAL
iconsIcon[]Taulukko ikoneista, jotka edustavat sovellusta eri tarkkuuksilla.[]
defaultIconDefaultIconMäärittää oletuskuvakkeen sovellukselle. Automatisoi ikoni-polkujen generoinnin useissa koossa, jos on konfiguroitu.icons://icon.png
screenshotsScreenshot[]Taulukko sovelluksen näyttökuvista, joita käytetään asennusdialogeissa.[]
categoriesString[]Luokittelu, joka luokittelee sovelluksen (esim. Rahoitus, Ostokset).[]

@AppProfile.Icon -ominaisuudet

Ikonit määrittävät sovelluksesi visuaalisen esityksen valikoissa ja kotinäytöissä. @AppProfile.Icon-annotaatio tukee seuraavia ominaisuuksia:

OminaisuusTyyppiKuvausOletusarvo
srcStringPolku ikonille. Tämä voi olla absoluuttinen URL tai ws://-polku.Pakollinen
sizesStringMerkkijono, joka määrittää yhden tai useamman kuvan koon muodossa LeveysxKorkeus (esim. 512x512).Pakollinen
typeStringKuvakkeen media tyyppi (esim. image/png, image/jpeg). Jos ei annettu, se havaitaan automaattisesti""
purposeStringKuvakkeen käyttötarkoitus (esim. any, maskable, monochrome).""

Esimerkki

@AppProfile.Icon(
src = "ws://icons/icon-512x512.png",
sizes = "512x512",
type = "image/png"
)

@AppProfile.DefaultIcon -ominaisuudet

DefaultIcon-annotaatio yksinkertaistaa sovellusikonien konfigurointia luomalla useita koko variaatioita perustason ikonista. Se tuottaa ikoneita laitteiden yleisesti pyytämillä tarkkuuksilla.

OminaisuusTyyppiKuvausOletusarvo
valueStringPolku peruskuvaketiedostoon. Tämä voi olla absoluuttinen URL tai ws://-polku.Pakollinen
sizesint[]Taulukko generaattoreista, jotka on määritelty kokonaislukuina (esim. {144, 192, 512}).{144, 192, 512}
Kuvake tiedosto vaatimukset

Tämä konfigurointi ei automaattisesti luo varsinaisia kuvaketiedostoja sovellukselle. Sen sijaan se käyttää @AppProfile.DefaultIcon -annotaatiota luodakseen vastaavat @AppProfile.Icon merkinnät jokaiselle määritellylle koolle.

Jos käytetään webserver-protokollaa

  • Sinun on tarjottava perus icon.png -tiedosto static/icons-kansioon.
  • Sinun odotetaan sisältävän lisäkuvakuvia nimeltään icon-144x144.png, icon-192x192.png ja icon-512x512.png.
  • Nämä tietyt koot kattavat laitteiden yleisesti pyytämät tarkkuudet.

Jos käytetään ikonit-protokollaa

  • Sinun odotetaan tarjoavan perus icon.png -tiedosto /icons-kansioon.
  • icons-päätepiste tarjoaa dynaamisesti erilaiset kuvakokoja kysynnän mukaan, kun niitä kysytään.

@AppProfile.Screenshot -ominaisuudet

Näyttökuvat tarjoavat esikatselun sovelluksesta asennusdialogeissa tai sovelluskaupoissa. @AppProfile.Screenshot -annotaatio tukee seuraavia ominaisuuksia:

OminaisuusTyyppiKuvausOletusarvo
srcStringPolku näyttökuvalle. Tämä voi olla absoluuttinen URL tai ws://-polku.Pakollinen
sizesStringMerkkijono, joka määrittää yhden tai useamman kuvan koon muodossa LeveysxKorkeus (esim. 1080x1920).Pakollinen
typeStringNäyttökuvan media tyyppi (esim. image/png, image/jpeg). Jos ei annettu, se havaitaan automaattisesti""
labelStringKuvauksellinen etiketti näyttökuvalle.""
formFactorStringNäyttökuvan muototekijä (esim. narrow, wide).""
platformStringAlusta, johon näyttökuva on tarkoitettu (esim. ios, android).""

Esimerkki

@AppProfile.Screenshot(
src = "ws://img/screenshots/s1.jpg",
sizes = "1080x1920"
)