Развој апликација подлоге које омогућавају рад ван мреже
Корисници мобилних уређаја често морају бити продуктивни чак и када имају ограничену повезаност или нису повезани. Када правите апликацију подлоге, можете да обављате ове задатке:
- Отворите Power Apps Мобиле и покрените апликације када уређај није повезан на мрежу.
- Утврдите када је апликација ван мреже, на мрежи или у ограниченој вези помоћу објекта сигнала Веза.
- Синхронизујте податке између уређаја и сервера.
Ако се ваша апликација повеже Dataverse, уграђена је подршка ван мреже. Power Apps ће вам омогућити да преузмете податке на свој уређај и отпремите промене назад Dataverse. Ако ваша апликација не користи Dataverse, можете користити колекције и искористити функције ЛоадДата и СавеДата за основно складиштење када сте ван мреже.
Напомена
- Оффлине могућност за апликације платна је доступна док покрећете апликације користећи изворне Power Apps мобилне играче на iOS Android и Виндовс.
- Апликације са подлогом које се покрећу у веб-прегледачима не могу да се покрећу ван мреже, чак и када користите веб-прегледач на мобилном уређају.
- Апликације са подлогом у услузи Teams су ограничене на 1 MB података кроз функције LoadData и SaveData – што је корисно за мали број текстуалних ниски, бројева и датума. Коришћење слика или других медија је неприкладно за ово ограничење. Још информација: Референца функција LoadData и SaveData
Омогућите оффлине подршку у апликацији платна заснованој на А Dataverse
За Microsoft Dataverse апликације платна засноване на производима, морате користити уграђену могућност офлајн-а са искуством ван мреже . За више информација, погледајте Подешавање мобилног офлајна за апликације платна и Рад са апликацијама платна ван мреже. Са окретањем прекидача, ваша апликација може да ради са Dataverse подацима где год да сте, са или без мрежне везе. Само изградите своју апликацију са стандардним Power Fx формулама и оффлине функција обрађује сву сложеност за вас.
Користите ЛоадДата и СавеДата за све остале конекторе
Овај одељак садржи пример коришћења података са Твиттера. Још једноставнији пример који не захтева везу је укључен у референце функција LoadData и SaveData.
Погледајте овај видео да бисте сазнали како да креирате оффлине омогућене апликације платна које не користе Dataverse податке:
Ограничења
LoadData и SaveData се комбинују да формирају једноставан механизам за чување малих количина података на локалном уређају. Употребом ових функција, можете додати једноставне ванмрежне могућности својој апликацији.
Ове функције су ограничене количином доступне меморије апликације јер раде над колекцијом у меморији. Доступна меморија може варирати овисно о уређају, оперативном систему и меморији коју Power Apps Mobile користи, као и сложености апликације у погледу екрана и контрола. Ако ускладиштите више од неколико мегабајта података, тестирајте своју апликацију с очекиваним сценаријима на уређајима на којима очекујете да се покрене. Обично ћете имати 30-70 мегабајта доступне меморије.
Функције такође не решавају аутоматски неусаглашености обједињавања када се уређај врати на мрежу. Каква је конфигурација података који се чувају и који је начин поступања приликом поновног повезивања зависи од аутора када креира изразе.
За ажурирања о могућностима ван мреже, вратите се на ову тему и претплатите се на Power Apps блог.
Преглед
Када дизајнирате ванмрежне сценарије, прво би требало да размотрите како ваше апликације раде са подацима. Апликације у услузи Power Apps примарно приступају подацима путем скупа конектора које платформа пружа, као што су SharePoint, Office 365 и Microsoft Dataverse. Такође можете да направите прилагођене конекторе који апликацијама омогућавају приступ било којој услузи која пружа RESTful крајњу тачку. То може бити Web API или услуга попут Azure Functions. Сви ови конектори користе HTTPS over the Internet, што значи да ваши корисници морају бити на мрежи да би могли приступити подацима и свим другим могућностима које услуга нуди.
Руковање подацима ван мреже
У услузи Power Apps можете Филтерирати, претраживати, сортирати, обједињавати и манипулисати подацима на доследан начин, без обзира на извор података. Извори се крећу од колекција у меморији у апликацији до листи креираних у услузи Microsoft Lists, SQL база података и услуге Dataverse. Због ове доследности, апликацију можете лако преусмерити тако да користи други извор података. Што је још важније за ванмрежне сценарије, можете користити локалне колекције за управљање подацима без скоро никакве промене логике апликације. У ствари, локалне колекције су примарни механизам за руковање подацима ван мреже.
Градња ванмрежне апликације
Да бисте одржали фокус на ванмрежне аспекте развоја апликација, ова тема илуструје једноставан сценарио фокусиран око услуге Twitter. Изградићете апликацију која омогућава читање Twitter постова и слање твитова док сте ван мреже. Када се апликација врати на мрежу, она објављује твитове и поновно учитава локалне податке.
На високом нивоу, апликација обавља следеће задатке:
Када корисник отвори апликацију:
- Ако је уређај на мрежи, апликација преузима податке путем Twitter конектора и попуњава колекцију тим подацима.
- Ако је уређај ван мреже, апликација учитава податке из локалне кеш датотеке користећи функцију LoadData.
- Корисник може послати твитове. Ако је апликација на мрежи, објавиће твитове директно на услузи Twitter и освежиће локални кеш.
Сваких пет минута док је апликација на мрежи:
- Апликација објављује све твитове у локалној кеш меморији.
- Апликација освежава локалну кеш меморију и чува је користећи функцију SaveData.
1. корак: Додајте Twitter празној апликацији за телефон
- Направите празну апликацију са подлогом са распоредом за телефон.
- На картици Приказ изаберите Извори података.
- У окну Подаци изаберите Додај извор података.
- Изаберите Нова веза > Twitter > Креирај.
- Унесите своје акредитиве, креирајте везу, а затим затворите окно Подаци.
2. корак: Прикупите постојеће твитове
У окну Приказ стабла изаберите Апликација, а затим поставите њено својство OnStart према овој формули:
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" );
У окну Приказ стабла изаберите мени са три тачке за објекат Апликација, а затим изаберите Run OnStart да бисте покренули ту формулу.
Напомена
Функције LoadData и SaveData могу да покажу грешку у програму Power Apps Studio јер их прегледачи не подржавају. Међутим, оне ће се нормално одвијати након што примените апликацију на уређај.
Ова формула проверава да ли је уређај на мрежи:
- Ако је уређај на мрежи, формула учитава до 10 твитова помоћу термина за претрагу „PowerApps“ у колекцију LocalTweets.
- Ако је уређај ван мреже, формула учитава локалну кеш меморију из датотеке која се зове „LocalTweets“, ако је доступна.
3. корак: Прикажите твитове у галерији
На картици Уметање изаберите Галерија > Празна флексибилна висина.
Подесите својство Ставке контроле Галерија на
LocalTweets
.У предложак галерије додајте три контроле Ознака и подесите својство Text сваке ознаке на једну од ових вредности:
ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
ThisItem.TweetText
Текст на последњој ознаци направите подебљаним, тако да галерија подсећа на овај пример.
4. корак: Прикажите статус везе
У галерији уметните ознаку, а затим подесите њено својство Боја на Црвено.
Подесите својство Text најновије ознаке према овој формули:
If( Connection.Connected, "Connected", "Offline" )
Ова формула утврђује да ли је уређај на мрежи. Ако јесте, приказује се ознака Повезано; у супротном, приказује се Ван мреже.
5. корак: Додајте поље за састављање твитова
Испод ознаке статуса везе, уметните контролу типа унос текста и преименујте је у NewTweetTextInput.
Подесите својство Default поља за унос текста на
""
.
6. корак: Додајте дугме за објављивање твита
Испод поља за унос текста додајте контролу дугме и подесите његово својство Text на ову вредност:
"Tweet"
Подесите својство OnSelect дугмета према овој формули:
If( Connection.Connected, Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ), Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} ); SaveData( LocalTweetsToPost, "LocalTweetsToPost" ) ); Reset( NewTweetTextInput );
У својству OnStart за Апликацију, додајте линију на крају формуле:
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
Ова формула утврђује да ли је уређај на мрежи:
- Ако је уређај на мрежи, одмах ће објавити твит.
- Ако је уређај ван мреже, снимиће твит у колекцију LocalTweetsToPost и сачуваће је на уређају.
Затим формула ресетује текст у пољу за унос текста.
7. корак: Проверите нове твитове
Десно од дугмета, додајте контролу Тајмер.
Подесите својство тајмера Duration на 300000.
Подесите својства тајмера AutoStart и Repeat на тачно.
Подесите својство тајмера OnTimerEnd према овој формули:
If( Connection.Connected, ForAll( LocalTweetsToPost, Twitter.Tweet( "", {tweetText: tweetText} ) ); Clear( LocalTweetsToPost ); ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) ); SaveData( LocalTweets, "LocalTweets" ); )
Ова формула утврђује да ли је уређај на мрежи. Ако јесте, апликација твитује све ставке у колекцији LocalTweetsToPost, а затим брише колекцију.
Тестирање апликације
Отворите апликацију помоћу решења Power Apps Mobile на мобилном уређају који је повезан на интернет.
Постојећи твитови се приказују у галерији, а статус приказује Повезано.
Прекините везу уређаја са интернетом тако што ћете за омогућити режим рада уређаја у авиону и онемогућити Wi-Fi.
Ознака статуса приказује да је апликација Ван мреже.
Док је уређај ван мреже, напишите твит који укључује Power Apps, а затим изаберите дугме Твитуј.
Твит се складишти локално у колекцији LocalTweetsToPost.
Поново повежите уређај на интернет тако што ћете за онемогућити режим рада уређаја у авиону и омогућити Wi-Fi.
У року од пет минута, апликација ће објавити твит који се приказује у галерији.
Надамо се да вам овај чланак даје представу о могућностима које Power Apps има за изградњу ванмрежних апликација. Као и увек, молимо вас да нам пошаљете повратне информације на форум и поделите своје примере ванмрежних апликација у Power Apps блогу заједнице.
Напомена
Можете ли нам рећи о својим жељеним поставкама језика у документацији? Испуните кратку анкету. (имајте на уму да је ова анкета на енглеском језику)
Анкета ће трајати око седам минута. Не прикупљају се лични подаци (изјава о приватности).