Офлайн жұмыс істейтін кенеп қолданбаларын жасау

Мобильді пайдаланушылар қосылым шектеулі немесе мүлдем болмаған кезде де жиі өнімді болуы керек. Кенеп қолданбасын құрастырған кезде мына тапсырмаларды орындай аласыз:

  • Құрылғы желіге қосылмаған кезде Power Apps Ұялы және қолданбаларды іске қосыңыз.
  • Қосылым сигнал нысанын пайдалану арқылы қолданбаның офлайн, онлайн немесе өлшенген қосылымда болған кезін анықтаңыз.
  • Құрылғы мен сервер арасында деректерді синхрондаңыз.

Қолданбаңыз Dataverse желісіне қосылса, офлайн қолдау кіріктірілген. Power Apps құрылғыға деректерді жүктеп алуға және өзгертулерді кері жүктеуге мүмкіндік береді Dataverse. Қолданбаңыз Dataverse қолданбаса, жинақтарды пайдаланып, LoadData және SaveData офлайн кезде негізгі сақтау функциялары.

Ескерім

  • Кенеп қолданбаларына арналған офлайн мүмкіндігі Power Apps , және Windows жүйелеріндегі жергілікті iOS Ұялы Android ойыншыларды пайдаланатын қолданбаларды іске қосу кезінде қолжетімді.
  • Веб-браузерлерде жұмыс жасайтын кенеп бағдарламалары тіпті мобильді құрылғыда веб-браузерді қолданған кезде де, офлайн режимде жұмыс істей алмайды.
  • Teams қызметіндегі кенеп бағдарламалары мәтін жолдарының, сандар мен күндердің аз саны үшін пайдалы LoadData және SaveData функциялары—арқылы 1 МБ деректермен шектеледі. Бұл шектеу үшін кескіндерді немесе басқа мультимедианы пайдалану орынсыз. Қосымша ақпарат: LoadData және SaveData функция сілтемесі

Dataverse негізіндегі кенеп қолданбасында офлайн қолдауды қосыңыз

Microsoft Dataverse негізіндегі кенеп қолданбалары үшін офлайн-бірінші тәжірибесі бар кірістірілген офлайн мүмкіндігін пайдалану керек. Қосымша ақпарат алу үшін Кеңеп қолданбалары үшін мобильді офлайнды орнату және Кеңеп қолданбаларымен офлайн жұмыс істеу бөлімін қараңыз. Ауыстырғышты айналдыра отырып, қолданбаңыз желі қосылымы бар немесе жоқ, қай жерде болсаңыз да Dataverse деректермен жұмыс істей алады. Қолданбаңызды стандартты Power Fx формулалармен жасаңыз және офлайн мүмкіндігі сіз үшін барлық күрделілікті шешеді.

Барлық басқа қосқыштар үшін LoadData және SaveData пайдаланыңыз

Бұл бөлімде Twitter деректерін пайдаланатын мысал бар. Қосылымды қажет етпейтін одан да қарапайым мысал LoadDataжәне SaveData функция анықтамасында қамтылған.

Dataverse деректерді пайдаланбайтын офлайн қосылған кенеп қолданбаларын жасау жолын білу үшін мына бейнені қараңыз:

Шектеулер

LoadData және SaveData функциялары жергілікті құрылғыда деректердің аз мөлшерін сақтау үшін қарапайым механизмді жасау мақсатында бірігеді. Осы функцияларды қолдану арқылы қолданбаңызға қарапайым офлайн мүмкіндіктерді қосуға болады.

Бұл функциялар қолжетімді қолданба жадының мөлшері арқылы шектеледі, себебі олар жадтағы жинақта жұмыс істейді. Қолжетімді жад құрылғыға, операциялық жүйеге, Power Apps Mobile жүйесі пайдаланатын жадқа және экрандар мен басқару элементтер тұрғысынан қолданба күрделілігіне байланысты әртүрлі болуы мүмкін. Егер бірнеше мегабайттан көп деректерді сақтасаңыз, қолданбаңызды ол іске қосылады деп ойлаған құрылғыларыңызда күткен сценаримен тексеріңіз. Сізде негізінде 30-70 мегабайт қолжетімді жад болады.

Құрылғы офлайн болған кезде функциялар біріктіру қайшылықтарын автоматты түрде шешпейді. Сақталатын деректер мен қайта қосылуды өңдеу жолы бойынша теңшелім өрнектер жазу кезінде жасаушыға байланысты болады.

Офлайн мүмкіндіктер туралы жаңартулар үшін осы тақырыпқа оралыңыз және Power Apps блогы блогына жазылыңыз.

Шолу

Офлайн сценарийлерді жасағанда алдымен қолданбаларыңыздың деректермен жұмыс істеу жолын қарастыруыңыз керек. Power Apps жүйесіндегі қолданбалар негізінен деректерге SharePoint, Office 365 және Microsoft Dataverse сияқты платформа ұсынатын қосқыштар жинағы арқылы қатынайды. Сондай-ақ, қолданбаларға RESTful соңғы нүктесін ұсынатын кез келген қызметке кіруге мүмкіндік беретін теңшелетін қосқыштар құрастыруыңызға да болады. Бұл Web API немесе Azure функциялары сияқты қызмет болуы мүмкін. Барлық осы қосқыштар Интернет арқылы HTTPS протоколын пайдаланады, яғни пайдаланушыларыңыз деректерге және қызмет ұсынатын кез келген басқа мүмкіндіктерге қол жеткізу үшін желіде болуы керек.

Қосқыштары бар Power Apps қолданбасы.

Офлайн деректерді өңдеу

Power Apps жүйесінде деректер көзіне қарамастан деректерді бірізді жолмен сүзгілеуіңізге, іздеуіңізге, сұрыптауыңызға, жинауыңызға және басқаруыңызға болады. Көздер бағдарламадағы жадтағы жиындардан бастап, Microsoft тізімдері арқылы жасалған тізімдерге дейін SQL дерекқорлары мен Dataverse қызметіне дейін болады. Осы бірізділіктің арқасында қолданбаны басқа деректер көзі қолдануға оңай қайта орната аласыз. Офлайн сценарийлер үшін ең маңыздысы, деректерді басқару үшін жергілікті жиынтықтарды қолданба логикасына ешқандай өзгеріссіз пайдалануыңызға болады. Шын мәнінде, жергілікті жинақтар офлайн деректерді өңдеудің негізгі механизмі болып табылады.

Офлайн қолданба жасау

Қолданба жасаудың офлайн аспектілеріне назар аудару үшін бұл тақырып Twitter желісінің айналасына шоғырландырылған қарапайым сценаийді көрсетеді. Сіз Twitter посттарын оқуыңызға және офлайн кезде твиттерді жіберуіңізге мүмкіндік беретін қолданба жасайсыз. Қолданба желіге қосылған кезде, қолданба твиттерді жариялайды және жергілікті деректерді қайта жүктейді.

Жоғары деңгейде қолданба мына тапсырмаларды орындайды:

  • Пайдаланушы қолданбаны ашқан кезде:

    • Егер құрылғы желіде болса, қолданба Twitter қосқышы арқылы деректерді алып, жинақты сол деректермен толтырады.
    • Егер құрылғы офлайн болса, қолданба деректерді жергілікті кэш файлынан LoadData функциясын пайдалану арқылы жүктейді.
    • Пайдаланушы твиттер жібере алады. Егер қолданба желіде болса, ол твиттерді тікелей Twitter желісіне жариялайды және жергілікті кэшті жаңартады.
  • Қолданба желіде болған кезде бес минут сайын:

    • Қолданба кез келген твиттерді жергілікті кэште жариялайды.
    • Қолданба жергілікті кэшті жаңартады және оны SaveData функциясын пайдалану арқылы сақтайды.

1-қадам: Twitter қолданбасын бос телефон қолданбасына қосу

  1. Бос кенеп бағдарламасын Телефон орналасуымен жасаңыз.
  2. Көрініс қойыншасында Деректер көздері опциясын таңдаңыз.
  3. Деректер тақтасында Деректер көзін қосу параметрін таңдаңыз.
  4. Жаңа жинақ > Твиттер > Жасау тармағын таңдаңыз.
  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 жүйесіндегі қатені көрсетеді, себебі шолғыш оларды қолдамайды. Дегенмен, олар осы қолданбаны құрылғыға қолданғаннан кейін орындайды.

Бұл формула құрылғының желіде екенін тексереді:

  • Құрылғы желіде болса, формула "PowerApps" іздеу термині бар 10 твитке дейін LocalTweets жинағына жүктейді.
  • Егер құрылғы офлайн болса, формула жергілікті кэшті қолжетімді болған жағдайда "LocalTweets" атты файлдан жүктейді.
  1. Кірістіру қойыншасында Галерея > Бос икемді биіктік тармағын таңдаңыз.

  2. Gallery басқару элементінің Элементтер сипатын LocalTweets мәніне орнатыңыз.

  3. Галерея үлгісінде үш Жапсырма басқару элементін қосыңыз және әрбір жапсырманың Мәтін сипатын мына мәндердің біреуіне орнатыңыз:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Галерея мына мысалға ұқсауы үшін соңғы жапсырмадағы мәтінге қалың қаріп қолданыңыз.

    Үлгі твиттерді көрсетіп тұрған галерея.

4-қадам: Қосылым күйін көрсету

  1. Галереяның астына жапсырма кірістіріңіз, одан кейін оның Түс сипатын Қызыл мәніне орнатыңыз.

  2. Ең жаңа жапсырманың Мәтін сипатын мына формулаға орнатыңыз:

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

Бұл формула құрылғының желіде екенін анықтайды. Олар болса, жапсырма Қосылған күйін көрсетеді; болмаса, ол Офлайн күйін көрсетеді.

5-қадам: Твиттер жазу үшін жолақ қосыңыз

  1. Қосылым күйі жапсырмасы астында Мәтін енгізу басқару элементін кірістіріңіз және оның атауын NewTweetTextInput атауына өзгертіңіз.

  2. Мәтін енгізу жолағының Default сипатын "" мәніне орнатыңыз.

    Күй туралы ақпарат пен мәтінді енгізу жолағындағы галерея.

6-қадам: Твитті орналастыру үшін түйме қосу

  1. Мәтін енгізу жолағының астына Түйме басқару элементін қосыңыз және оның Мәтін сипатын мына мәнге орнатыңыз:

    "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 сипаттарын true мәніне орнатыңыз.

  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 атауын қамтитын твит жазыңыз, одан кейін Tweet түймесін таңдаңыз.

    Твит LocalTweetsToPost жинағында жергілікті түрде сақталады.

  4. Құрылғының ұшақ режимін өшіру және wi-fi желісін қосу арқылы құрылғыны Интернетке қайта қосыңыз.

    Бес минут ішінде қолданба галереяда пайда болатын твитті жариялайды.

Бұл мақала офлайн қолданбалар жасау үшін Power Apps жүйесінде бар мүмкіндіктер туралы идеяны берді деп үміттенеміз. Әдеттегідей, форумымызда пікір қалдырыңыз және офлайн қолданбаларыңыздың мысалдарын Power Apps қауымдастық блогында бөлісіңіз.

Ескерім

Сіз құжат тіліңіздің артықшылықтары туралы айта аласыз ба? Қысқа сауалнамаға қатысыңыз. (бұл сауалнама ағылшын тілінде екеніне назар аударыңыз)

Сауалнама шамамен жеті минут уақытыңызды алады. Жеке деректер жиналмайды (құпиялылық туралы мәлімдеме).