Razvoj aplikacija sa podlogom koje omogućavaju rad van mreže

Korisnici mobilnih uređaja često moraju biti produktivni čak i kada imaju ograničenu povezanost ili nisu povezani. Kada pravite aplikaciju sa podlogom, možete da obavljate ove zadatke:

  • Otvorite Power Apps opciju "Mobilni telefon" i pokrenite aplikacije kada uređaj nije povezan sa mrežom.
  • Utvrdite kada je aplikacija van mreže, na mreži ili u ograničenoj vezi pomoću objekta signala Veza.
  • Sinhronizujte podatke između uređaja i servera.

Ako se aplikacija poveže sa, podrška Dataverse van mreže je ugrađena. Power Apps će vam omogućavati da preuzmete podatke na uređaj i otpremite promene nazad u Dataverse. Ako aplikacija ne koristi, možete Dataverse da koristite kolekcije i da koristite funkcije LoadData i SaveData za osnovno skladištenje kada ste van mreže.

Napomena

  • Vanmrežna mogućnost za aplikacije na platnu dostupna je tokom pokretanja aplikacija pomoću izvornih Power Apps mobilnih plejera iOS i Android operativnog sistema Windows.
  • Aplikacije sa podlogom koje se pokreću u veb-pregledačima ne mogu da se pokreću van mreže, čak i kada koristite veb-pregledač na mobilnom uređaju.
  • Aplikacije sa podlogom u usluzi Teams su ograničene na 1 MB podataka kroz funkcije LoadData i SaveData – što je korisno za mali broj tekstualnih niski, brojeva i datuma. Korišćenje slika ili drugih medija je neprikladno za ovo ograničenje. Još informacija: Referenca funkcija LoadData i SaveData

Omogućavanje podrške van mreže u aplikaciji podloge Dataverse za crtanje zasnovanoj na mreži

Za Microsoft Dataverse aplikacije podloge za crtanje zasnovane na njima morate da koristite vanmrežnu mogućnost ugrađenu sa doživljajem prvog rada van mreže. Više informacija potražite u članku Podešavanje mobilne mreže za aplikacije podloge za crtanje i rad sa aplikacijama podloge van mreže. Pomoću okretanja prekidača, aplikacija može da radi sa podacima Dataverse gde god da se nalazite, sa mrežnom vezom ili bez nje. Samo napravite aplikaciju pomoću Power Fx standardnih formula, a funkcija van mreže rešava svu kompleksnost za vas.

Koristi LoadData i SaveData za sve ostale linije spajanja

Ovaj odeljak sadrži primer pomoću Twitter podataka. Još jednostavniji primer koji ne zahteva vezu je uključen u reference funkcija LoadData i SaveData.

Pogledajte ovaj video zapis da biste saznali kako da kreirate aplikacije podloge za crtanje omogućene za rad van mreže koje ne koriste podatke Dataverse :

Ograničenja

LoadData i SaveData se kombinuju da formiraju jednostavan mehanizam za čuvanje malih količina podataka na lokalnom uređaju. Upotrebom ovih funkcija, možete dodati jednostavne vanmrežne mogućnosti svojoj aplikaciji.

Ove funkcije su ograničene količinom dostupne memorije aplikacije jer rade nad kolekcijom u memoriji. Dostupna memorija može varirati ovisno o uređaju, operativnom sistemu i memoriji koju Power Apps Mobile koristi, kao i složenosti aplikacije u pogledu ekrana i kontrola. Ako uskladištite više od nekoliko megabajta podataka, testirajte svoju aplikaciju s očekivanim scenarijima na uređajima na kojima očekujete da se pokrene. Obično ćete imati 30-70 megabajta dostupne memorije.

Funkcije takođe ne rešavaju automatski neusaglašenosti objedinjavanja kada se uređaj vrati na mrežu. Kakva je konfiguracija podataka koji se čuvaju i koji je način postupanja prilikom ponovnog povezivanja zavisi od kreatora kada piše izraze.

Za ažuriranja o mogućnostima van mreže, vratite se na ovu temu i pretplatite se na Power Apps blog.

Pregled

Kada dizajnirate vanmrežne scenarije, prvo bi trebalo da razmotrite kako vaše aplikacije rade sa podacima. Aplikacije u usluzi Power Apps primarno pristupaju podacima putem skupa konektora koje platforma pruža, kao što su SharePoint, Office 365 i Microsoft Dataverse. Takođe možete da napravite prilagođene konektore koji aplikacijama omogućavaju pristup bilo kojoj usluzi koja pruža RESTful krajnju tačku. To može biti Web API ili usluga poput Azure Functions. Svi ovi konektori koriste HTTPS over the Internet, što znači da vaši korisnici moraju biti na mreži da bi mogli pristupiti podacima i svim drugim mogućnostima koje usluga nudi.

Power Apps aplikacija sa konektorima.

Rukovanje podacima van mreže

U usluzi Power Apps možete filtrirati, pretraživati, sortirati, objedinjavati i manipulisati podacima na dosledan način, bez obzira na izvor podataka. Izvori se kreću od kolekcija u memoriji u aplikaciji do listi kreiranih u usluzi Microsoft Lists, SQL baza podataka i usluge Dataverse. Zbog ove doslednosti, aplikaciju možete lako preusmeriti tako da koristi drugi izvor podataka. Što je još važnije za vanmrežne scenarije, možete koristiti lokalne kolekcije za upravljanje podacima bez skoro nikakve promene logike aplikacije. U stvari, lokalne kolekcije su primarni mehanizam za rukovanje podacima van mreže.

Gradnja vanmrežne aplikacije

Da biste održali fokus na vanmrežne aspekte razvoja aplikacija, ova tema ilustruje jednostavan scenario fokusiran oko usluge Twitter. Izgradićete aplikaciju koja omogućava čitanje Twitter postova i slanje tvitova dok ste van mreže. Kada se aplikacija vrati na mrežu, ona objavljuje tvitove i ponovno učitava lokalne podatke.

Na visokom nivou, aplikacija obavlja sledeće zadatke:

  • Kada korisnik otvori aplikaciju:

    • Ako je uređaj na mreži, aplikacija preuzima podatke putem Twitter konektora i popunjava kolekciju tim podacima.
    • Ako je uređaj van mreže, aplikacija učitava podatke iz lokalne keš datoteke koristeći funkciju LoadData.
    • Korisnik može poslati tvitove. Ako je aplikacija na mreži, objaviće tvitove direktno na usluzi Twitter i osvežiće lokalni keš.
  • Svakih pet minuta dok je aplikacija na mreži:

    • Aplikacija objavljuje sve tvitove u lokalnoj keš memoriji.
    • Aplikacija osvežava lokalnu keš memoriju i čuva je koristeći funkciju SaveData.

1. korak: Dodajte Twitter praznoj aplikaciji za telefon

  1. Napravite praznu aplikaciju sa podlogom sa rasporedom za telefon.
  2. Na kartici Prikaz izaberite Izvori podataka.
  3. U oknu Podaci izaberite Dodaj izvor podataka.
  4. Izaberite Nova veza > Twitter > Kreiraj.
  5. Unesite svoje akreditive, kreirajte vezu, a zatim zatvorite okno Podaci.

2. korak: Prikupite postojeće tvitove

  1. U oknu Prikaz stabla izaberite Aplikacija, a zatim postavite njeno svojstvo OnStart prema ovoj formuli:

    If( Connection.Connected,
        ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) );
            Set( statusText, "Online data" ),
        LoadData( LocalTweets, "LocalTweets", true );
            Set( statusText, "Local data" )
    );
    SaveData( LocalTweets, "LocalTweets" );
    

    Formula za učitavanje tvitova.

  2. U oknu Prikaz stabla izaberite meni sa tri tačke za objekat Aplikacija, a zatim izaberite Run OnStart da biste pokrenuli tu formulu.

    Pokretanje formule za učitavanje tvitova.

    Napomena

    Funkcije LoadData i SaveData mogu da pokažu grešku u programu Power Apps Studio jer ih pregledači ne podržavaju. Međutim, one će se normalno odvijati nakon što primenite aplikaciju na uređaj.

Ova formula proverava da li je uređaj na mreži:

  • Ako je uređaj na mreži, formula učitava do 10 tvitova pomoću termina za pretragu „PowerApps“ u kolekciju LocalTweets.
  • Ako je uređaj van mreže, formula učitava lokalnu keš memoriju iz datoteke koja se zove „LocalTweets“, ako je dostupna.
  1. Na kartici Umetanje izaberite Galerija > Prazna fleksibilna visina.

  2. Podesite svojstvo Items kontrole Galerija na LocalTweets.

  3. U predložak galerije dodajte tri kontrole Oznaka i podesite svojstvo Text svake oznake na jednu od ovih vrednosti:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Tekst na poslednjoj oznaci napravite podebljanim, tako da galerija podseća na ovaj primer.

    Galerija prikazuje primere tvitova.

4. korak: Prikažite status veze

  1. U galeriji umetnite oznaku, a zatim podesite njeno svojstvo Color na Crveno.

  2. Podesite svojstvo Text najnovije oznake prema ovoj formuli:

    If( Connection.Connected, "Connected", "Offline" )

Ova formula utvrđuje da li je uređaj na mreži. Ako jeste, prikazuje se oznaka Povezano; u suprotnom, prikazuje se Van mreže.

5. korak: Dodajte polje za sastavljanje tvitova

  1. Ispod oznake statusa veze, umetnite kontrolu tipa unos teksta i preimenujte je u NewTweetTextInput.

  2. Podesite svojstvo Default polja za unos teksta na "".

    Galerija iznad informacija o statusu i polje za unos teksta.

6. korak: Dodajte dugme za objavljivanje tvita

  1. Ispod polja za unos teksta dodajte kontrolu dugme i podesite njegovo svojstvo Text na ovu vrednost:

    "Tweet"

  2. Podesite svojstvo OnSelect dugmeta prema ovoj formuli:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. U svojstvu OnStart za Aplikaciju, dodajte liniju na kraju formule:

    If( Connection.Connected,
        ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 100} ) );
            Set( statusText, "Online data" ),
        LoadData( LocalTweets, "LocalTweets", true );
            Set( statusText, "Local data" )
    );
    SaveData( LocalTweets, "LocalTweets" );
    LoadData( LocalTweetsToPost, "LocalTweetsToPost", true );  // added line
    

    Pokrenite formulu za učitavanje tvitova sa linijom kojoj ste skinuli oznaku komentara.

Ova formula utvrđuje da li je uređaj na mreži:

  • Ako je uređaj na mreži, odmah će objaviti tvit.
  • Ako je uređaj van mreže, snimiće tvit u kolekciju LocalTweetsToPost i sačuvaće je na uređaju.

Zatim formula resetuje tekst u polju za unos teksta.

7. korak: Proverite nove tvitove

  1. Desno od dugmeta, dodajte kontrolu Tajmer.

    Finalne aplikacije.

  2. Podesite svojstvo tajmera Duration na 300000.

  3. Podesite svojstva tajmera AutoStart i Repeat na tačno.

  4. Podesite svojstvo tajmera OnTimerEnd prema ovoj formuli:

    If( Connection.Connected,
        ForAll( LocalTweetsToPost, Twitter.Tweet( "", {tweetText: tweetText} ) );
        Clear( LocalTweetsToPost );
        ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) );
        SaveData( LocalTweets, "LocalTweets" );
    )
    

Ova formula utvrđuje da li je uređaj na mreži. Ako jeste, aplikacija tvituje sve stavke u kolekciji LocalTweetsToPost, a zatim briše kolekciju.

Testiranje aplikacije

  1. Otvorite aplikaciju pomoću rešenja Power Apps Mobile na mobilnom uređaju koji je povezan na internet.

    Postojeći tvitovi se prikazuju u galeriji, a status prikazuje Povezano.

  2. Prekinite vezu uređaja sa internetom tako što ćete omogućiti režim rada uređaja u avionu i onemogućiti Wi-Fi.

    Oznaka statusa prikazuje da je aplikacija Van mreže.

  3. Dok je uređaj van mreže, napišite tvit koji uključuje Power Apps, a zatim izaberite dugme Tvituj.

    Tvit se skladišti lokalno u kolekciji LocalTweetsToPost.

  4. Ponovo povežite uređaj na internet tako što ćete onemogućiti režim rada uređaja u avionu i omogućiti Wi-Fi.

    U roku od pet minuta, aplikacija će objaviti tvit koji se prikazuje u galeriji.

Nadamo se da vam ovaj članak daje predstavu o mogućnostima koje Power Apps ima za izgradnju vanmrežnih aplikacija. Kao i uvek, šaljite nam povratne informacije na forum i podelite svoje primere vanmrežnih aplikacija na Power Apps blogu zajednice.

Napomena

Možete li nam reći o svojim željenim postavkama jezika u dokumentaciji? Ispunite kratku anketu. (imajte na umu da je ova anketa na engleskom jeziku)

Anketa će trajati oko sedam minuta. Ne prikupljaju se lični podaci (izjava o privatnosti).