Делите путем


Развој апликација подлоге које омогућавају рад ван мреже

Корисници мобилних уређаја често морају бити продуктивни чак и када имају ограничену повезаност или нису повезани. Када правите апликацију подлоге, можете да обављате ове задатке:

  • Отворите Power Apps опцију "Мобилни телефон" и покрените апликације када уређај није повезан са мрежом.
  • Утврдите када је апликација ван мреже, на мрежи или у ограниченој вези помоћу објекта сигнала Веза.
  • Синхронизујте податке између уређаја и сервера.

Ако се апликација повеже са, подршка Dataverse ван мреже је уграђена. Power Apps ће вам омогућавати да преузмете податке на уређај и отпремите промене назад у Dataverse. Ако апликација не користи, можете Dataverse да користите колекције и да користите функције ЛоадДата и СавеДата за основно складиштење када сте ван мреже.

Напомена

  • Ванмрежна могућност за апликације на платну доступна је током покретања апликација помоћу изворних Power Apps мобилних плејера iOS и Android оперативног система Wиндоwс.
  • Апликације са подлогом које се покрећу у веб-прегледачима не могу да се покрећу ван мреже, чак и када користите веб-прегледач на мобилном уређају.
  • Апликације са подлогом у услузи Teams су ограничене на 1 MB података кроз функције LoadData и SaveData – што је корисно за мали број текстуалних ниски, бројева и датума. Коришћење слика или других медија је неприкладно за ово ограничење. Још информација: Референца функција LoadData и SaveData

Омогућавање подршке ван мреже у апликацији подлоге Dataverse за цртање заснованој на мрежи

За Microsoft Dataverse апликације подлоге за цртање засноване на њима морате да користите ванмрежну могућност уграђену са доживљајем првог рада ван мреже. Више информација потражите у чланку Подешавање мобилне мреже за апликације подлоге за цртање и рад са апликацијама подлоге ван мреже. Помоћу окретања прекидача, апликација може да ради са подацима Dataverse где год да се налазите, са мрежном везом или без ње. Само направите апликацију помоћу Power Fx стандардних формула, а функција ван мреже решава сву комплексност за вас.

Користи ЛоадДата и СавеДата за све остале линије спајања

Овај одељак садржи пример помоћу Тwиттер података. Још једноставнији пример који не захтева везу је укључен у референце функција 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 апликација са конекторима.

Руковање подацима ван мреже

У услузи Power Apps можете Филтерирати, претраживати, сортирати, обједињавати и манипулисати подацима на доследан начин, без обзира на извор података. Извори се крећу од колекција у меморији у апликацији до листи креираних у услузи Microsoft Lists, SQL база података и услуге Dataverse. Због ове доследности, апликацију можете лако преусмерити тако да користи други извор података. Што је још важније за ванмрежне сценарије, можете користити локалне колекције за управљање подацима без скоро никакве промене логике апликације. У ствари, локалне колекције су примарни механизам за руковање подацима ван мреже.

Градња ванмрежне апликације

Да бисте одржали фокус на ванмрежне аспекте развоја апликација, ова тема илуструје једноставан сценарио фокусиран око услуге Twitter. Изградићете апликацију која омогућава читање Twitter постова и слање твитова док сте ван мреже. Када се апликација врати на мрежу, она објављује твитове и поновно учитава локалне податке.

На високом нивоу, апликација обавља следеће задатке:

  • Када корисник отвори апликацију:

    • Ако је уређај на мрежи, апликација преузима податке путем Twitter конектора и попуњава колекцију тим подацима.
    • Ако је уређај ван мреже, апликација учитава податке из локалне кеш датотеке користећи функцију LoadData.
    • Корисник може послати твитове. Ако је апликација на мрежи, објавиће твитове директно на услузи Twitter и освежиће локални кеш.
  • Сваких пет минута док је апликација на мрежи:

    • Апликација објављује све твитове у локалној кеш меморији.
    • Апликација освежава локалну кеш меморију и чува је користећи функцију SaveData.

1. корак: Додајте Twitter празној апликацији за телефон

  1. Направите празну апликацију са подлогом са распоредом за телефон.
  2. На картици Приказ изаберите Извори података.
  3. У окну Подаци изаберите Додај извор података.
  4. Изаберите Нова веза > Twitter > Креирај.
  5. Унесите своје акредитиве, креирајте везу, а затим затворите окно Подаци.

2. корак: Прикупите постојеће твитове

  1. У окну Приказ стабла изаберите Апликација, а затим поставите њено својство 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" );
    

    Формула за учитавање твитова.

  2. У окну Приказ стабла изаберите мени са три тачке за објекат Апликација, а затим изаберите Run OnStart да бисте покренули ту формулу.

    Покретање формуле за учитавање твитова.

    Напомена

    Функције LoadData и SaveData могу да покажу грешку у програму Power Apps Studio јер их прегледачи не подржавају. Међутим, оне ће се нормално одвијати након што примените апликацију на уређај.

Ова формула проверава да ли је уређај на мрежи:

  • Ако је уређај на мрежи, формула учитава до 10 твитова помоћу термина за претрагу „PowerApps“ у колекцију LocalTweets.
  • Ако је уређај ван мреже, формула учитава локалну кеш меморију из датотеке која се зове „LocalTweets“, ако је доступна.
  1. На картици Уметање изаберите Галерија > Празна флексибилна висина.

  2. Подесите својство Ставке контроле Галерија на LocalTweets.

  3. У предложак галерије додајте три контроле Ознака и подесите својство Text сваке ознаке на једну од ових вредности:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Текст на последњој ознаци направите подебљаним, тако да галерија подсећа на овај пример.

    Галерија приказује примере твитова.

4. корак: Прикажите статус везе

  1. У галерији уметните ознаку, а затим подесите њено својство Боја на Црвено.

  2. Подесите својство Text најновије ознаке према овој формули:

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

Ова формула утврђује да ли је уређај на мрежи. Ако јесте, приказује се ознака Повезано; у супротном, приказује се Ван мреже.

5. корак: Додајте поље за састављање твитова

  1. Испод ознаке статуса везе, уметните контролу типа унос текста и преименујте је у NewTweetTextInput.

  2. Подесите својство Default поља за унос текста на "".

    Галерија изнад информација о статусу и поље за унос текста.

6. корак: Додајте дугме за објављивање твита

  1. Испод поља за унос текста додајте контролу дугме и подесите његово својство Text на ову вредност:

    "Tweet"

  2. Подесите својство OnSelect дугмета према овој формули:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. У својству 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. корак: Проверите нове твитове

  1. Десно од дугмета, додајте контролу Тајмер.

    Финалне апликације.

  2. Подесите својство тајмера Duration на 300000.

  3. Подесите својства тајмера AutoStart и Repeat на тачно.

  4. Подесите својство тајмера OnTimerEnd према овој формули:

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

Ова формула утврђује да ли је уређај на мрежи. Ако јесте, апликација твитује све ставке у колекцији LocalTweetsToPost, а затим брише колекцију.

Тестирање апликације

  1. Отворите апликацију помоћу решења Power Apps Mobile на мобилном уређају који је повезан на интернет.

    Постојећи твитови се приказују у галерији, а статус приказује Повезано.

  2. Прекините везу уређаја са интернетом тако што ћете за омогућити режим рада уређаја у авиону и онемогућити Wi-Fi.

    Ознака статуса приказује да је апликација Ван мреже.

  3. Док је уређај ван мреже, напишите твит који укључује Power Apps, а затим изаберите дугме Твитуј.

    Твит се складишти локално у колекцији LocalTweetsToPost.

  4. Поново повежите уређај на интернет тако што ћете за онемогућити режим рада уређаја у авиону и омогућити Wi-Fi.

    У року од пет минута, апликација ће објавити твит који се приказује у галерији.

Надамо се да вам овај чланак даје представу о могућностима које Power Apps има за изградњу ванмрежних апликација. Као и увек, молимо вас да нам пошаљете повратне информације на форум и поделите своје примере ванмрежних апликација у Power Apps блогу заједнице.

Напомена

Можете ли нам рећи о својим жељеним поставкама језика у документацији? Испуните кратку анкету. (имајте на уму да је ова анкета на енглеском језику)

Анкета ће трајати око седам минута. Не прикупљају се лични подаци (изјава о приватности).