Bangunkan aplikasi kanvas berkeupayaan luar talian

Pengguna mudah alih perlu selalu produktif walaupun mereka mempunyai sambungan yang terhad atau tiada sambungan. Apabila anda membina aplikasi kanvas, anda boleh melakukan tugas ini:

  • Buka Power Apps Mudah Alih dan jalankan apl apabila peranti tidak disambungkan ke rangkaian.
  • Menentukan bila aplikasi di luar talian, di dalam talian atau sambungan bermeter dengan menggunakan objek isyarat Sambungan.
  • Segerakkan data antara peranti anda dan pelayan.

Jika apl anda menyambung Dataverse, sokongan luar talian terbina dalam. Power Apps akan membolehkan anda memuat turun data ke peranti anda dan memuat naik perubahan kembali Dataverse. Jika apl anda tidak digunakan Dataverse, anda boleh menggunakan koleksi dan memanfaatkan fungsi LoadData dan SaveData untuk storan asas apabila di luar talian.

Nota

  • Keupayaan luar talian untuk aplikasi kanvas tersedia semasa menjalankan aplikasi menggunakan pemain Mudah Alih Power Apps asli pada iOS, Android dan Windows.
  • Aplikasi kanvas berjalan dalam pelayar web tidak boleh berjalan di luar talian, walaupun apabila menggunakan pelayar web pada peranti mudah alih.
  • Aplikasi kanvas dalam Teams adalah terhad kepada 1 MB data melalui fungsi — LoadData dan SaveData berguna untuk sebilangan kecil rentetan teks, nombor dan tarikh. Penggunaan imej atau media lain tidak sesuai untuk had ini. Maklumat lanjut: LoadData dan rujukan fungsi SaveData

Dayakan sokongan luar talian dalam apl kanvas berasaskan a Dataverse

Untuk apl kanvas berasaskan asas Microsoft Dataverse, anda mesti menggunakan keupayaan luar talian terbina dalam dengan pengalaman pertama luar talian. Untuk maklumat lanjut, lihat Menyediakan mudah alih di luar talian untuk aplikasi kanvas dan Bekerja dengan aplikasi kanvas di luar talian. Dengan flip suis, apl anda boleh berfungsi dengan data di Dataverse mana sahaja anda berada, dengan atau tanpa sambungan rangkaian. Hanya bina aplikasi anda dengan formula standard Power Fx dan ciri luar talian mengendalikan semua kerumitan untuk anda.

Gunakan LoadData dan SaveData untuk semua penyambung lain

Bahagian ini termasuk contoh menggunakan data Twitter. Contoh paling mudah yang tidak memerlukan sambungan termasuk dalam rujukan fungsi LoadData dan SaveData.

Tonton video ini untuk mengetahui cara mencipta aplikasi kanvas didayakan luar talian yang tidak menggunakan Dataverse data:

Batasan

LoadData dan SaveData digabungkan untuk membentuk mekanisme ringkas bagi menyimpan data yang kecil pada peranti setempat. Dengan menggunakan fungsi ini, anda boleh menambah keupayaan luar talian yang mudah ke aplikasi anda.

Fungsi ini terhad dengan amaun memori aplikasi yang tersedia kerana ianya beroperasi pada pengumpulan dalam memori. Memori tersedia boleh berbeza bergantung pada peranti, sistem pengoperasian, memori yang digunakan oleh Power Apps Mudah Alih, dan kekompleksan aplikasi dari segi skrin dan kawalan. Jika anda menyimpan lebih daripada beberapa megabait data, uji aplikasi anda dengan senario yang dijangka pada peranti yang anda jalankan. Anda akan mempunyai 30-70 megabait memori tersedia secara umumnya.

Fungsi juga tidak akan menyelesaikan konflik yang timbul apabila peranti di dalam talian. Konfigurasi pada data yang disimpan dan cara mengendalikan sambungan semula bergantung kepada pembuat semasa menulis ungkapan.

Untuk kemas kini tentang keupayaan luar talian, kembali kepada topik, dan langgani Blog Power Apps.

Ikhtisar

Apabila anda mereka bentuk senario luar talian, pertama sekali anda hendaklah pertimbangkan cara aplikasi anda bekerja dengan data. Aplikasi dalam Power Apps mengakses data terutamanya melalui set penyambung yang disediakan oleh platform, seperti SharePoint, Office 365, dan Microsoft Dataverse. Anda juga boleh membina penyambung tersuai yang mendayakan aplikasi untuk mengakses mana-mana perkhidmatan yang menyediakan titik tamat RESTful. Ini mungkin Web API atau perkhidmatan seperti fungsi Azure. Semua penyambung ini menggunakan HTTPS dalam Internet, yang bermakna pengguna anda mesti dalam talian untuk mengakses data dan keupayaan lain yang ditawarkan oleh perkhidmatan.

Aplikasi Power Apps dengan penyambung.

Mengendalikan data luar talian

Dalam Power Apps, anda boleh tapis, cari, isih, agregat, dan manipulasi data dengan cara yang konsisten tanpa mengambil kira sumber data. Julat sumber daripada pengumpulan dalam memori dalam aplikasi ke senarai yang dicipta menggunakan Senarai Microsoft ke pangkalan data SQL dan Dataverse. Anda boleh mensasarkan semula aplikasi untuk menggunakan sumber data yang berbeza disebabkan oleh konsisten ini. Lebih penting lagi untuk senario luar talian, anda boleh menggunakan pengumpulan setempat bagi pengurusan data yang hampir tiada perubahan kepada logik aplikasi. Malahan, pengumpulan setempat adalah mekanisme utama dalam mengendalikan data luar talian.

Bina aplikasi luar talian

Untuk mengekalkan fokus pada aspek luar talian bagi pembangunan aplikasi, topik ini menerangkan senario mudah yang difokuskan di sekitar Twitter. Anda akan membina aplikasi yang mendayakan anda untuk membaca siaran Twitter dan menghantar tweet semasa luar talian. Apabila aplikasi di dalam talian, aplikasi menyiarkan tweet dan memuat semula data setempat.

Pada peringkat atasan, aplikasi melakukan tugas ini:

  • Apabila pengguna membuka aplikasi:

    • Jika peranti di dalam talian, aplikasi mengambil data melalui penyambung Twitter dan mengisi pengumpulan dengan data itu.
    • Jika peranti di luar talian, aplikasi memuat data daripada fail cache setempat dengan menggunakan fungsi LoadData.
    • Pengguna boleh menghantar tweet. Jika aplikasi di dalam talian, ia akan menyiarkan tweet secara langsung dan menyegar semula cache setempat.
  • Setiap lima minit semasa aplikasi dalam talian:

    • Aplikasi menyiarkan sebarang tweet dalam cache setempat.
    • Aplikasi menyegar semula cache setempat dan menyimpannya dengan menggunakan fungsi SaveData.

Langkah 1: Tambah Twitter ke aplikasi telefon kosong

  1. Cipta aplikasi kanvas kosong dengan tataletak Telefon.
  2. Pada tab Pandangan, pilih Sumber data.
  3. Dalam anak tetingkap Data, pilih Tambah sumber data.
  4. Pilih Sambungan Baharu > Twitter > Cipta.
  5. Masukkan kelayakan anda, cipta sambungan, dan kemudian tutup anak tetingkap Data.

Langkah 2: Kumpul tweet sedia ada

  1. Dalam anak tetingkap Pandangan pokok, pilih Aplikasi, dan kemudian tetapkan sifat OnStart ke formula ini:

    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 untuk memuat tweet.

  2. Dalam anak tetingkap Pandangan pokok, pilih menu elipsis untuk objek Aplikasi, dan kemudian pilih Jalankan OnStart untuk menjalankan formula itu.

    Jalankan formula untuk memuat tweet.

    Nota

    Fungsi LoadData dan SaveData mungkin akan menunjukkan ralat dalam Power Apps Studio kerana pelayar tidak menyokongnya. Walau bagaimanapun, kebiasaannya ia akan melakukannya selepas anda menggunakan aplikasi ini pada peranti.

Formula ini menyemak sama ada peranti di dalam talian:

  • Jika peranti di dalam talian, formula memuatkan hingga 10 tweet dengan istilah carian "PowerApps" ke dalam pengumpulan LocalTweets.
  • Jika peranti di luar talian, formula memuatkan cache setempat daripada fail yang dikenali sebagai "LocalTweets" jika ianya tersedia.

Langkah 3: Tunjukkan tweet dalam galeri

  1. Pada tab Sisipkan, pilih Galeri > Tinggi fleksibel kosong.

  2. Tetapkan sifat Item kawalan Galeri ke LocalTweets.

  3. Dalam templat galeri, tambah tiga kawalan Label, dan tetapkan sifat Teks untuk setiap label kepada salah satu nilai ini:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Jadikan teks dalam label terakhir tebal supaya galeri menyerupai contoh ini.

    Galeri menunjukkan tweet sampel.

Langkah 4: Tunjukkan status sambungan

  1. Di bawah galeri, sisipkan label, dan kemudian tetapkan sifat Warna ke Merah.

  2. Tetapkan sifat label terbaru Teks ke formula ini:

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

Formula menentukan sama ada peranti di dalam talian. Jika ya, label menunjukkan Disambung; sebaliknya, ia menunjukkan Luar talian.

Langkah 5: Tambah kotak untuk menulis tweet

  1. Di bawah label status sambungan, sisipkan kawalan Input teks, dan namakannya semula NewTweetTextInput.

  2. Lihat sifat kotak input teks Lalai ke "".

    Maklumat status atas galeri dan kotak input teks.

Langkah 6: Tambah butang untuk menyiarkan tweet

  1. Di bawah kotak input teks, tambah kawalan Butang, dan tetapkan sifat Teks ke nilai ini:

    "Tweet"

  2. Tetapkan sifat butang OnSelect ke formula ini:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. Dalam sifat OnStart untuk Aplikasi, tambah baris di hujung formula:

    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
    

    Jalankan formula untuk memuat tweet dengan baris tidak dikomen.

Formula ini menentukan sama ada peranti di dalam talian:

  • Jika peranti di dalam talian, ia menyiarkan tweet serta merta.
  • Jika peranti di luar talian, ia menangkap tweet dalam pengumpulan LocalTweetsToPost dan menyimpannya ke peranti.

Kemudian formula menetap semula teks dalam kotak input teks.

Langkah 7: Semak tweet baharu

  1. Pada sebelah kanan butang, tambah kawalan Pemasa.

    Aplikasi terakhir.

  2. Tetapkan sifat Tempoh ke 300000.

  3. Tetapkan sifat pemasa AutoStart dan Ulang ke benar.

  4. Tetapkan sifat pemasa OnTimerEnd kepada formula ini:

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

Formula menentukan sama ada peranti di dalam talian. Jika ya, aplikasi tweet semua item dalam pengumpulan LocalTweetsToPost dan mengosongkan pengumpulan.

Uji aplikasi

  1. Buka aplikasi menggunakan Power Apps Mobile pada peranti mudah alih yang bersambung ke internet.

    Tweet sedia ada dipaparkan dalam galeri, dan status menunjukkan Disambung.

  2. Nyahsambung peranti daripada internet dengan mendayakan mod kapal terbang peranti dan menyahdayakan wi-fi.

    Label status menunjukkan aplikasi Luar Talian.

  3. Semasa peranti di luar talian, tulis tweet yang termasuk Power Apps, dan kemudian pilih butang Tweet.

    Tweet disimpan setempat dalam pengumpulan LocalTweetsToPost.

  4. Sambung semula peranti ke internet dengan menyahdayakan mod kapal terbang peranti dan mendayakan wi-fi.

    Dalam masa lima minit, aplikasi menyiarkan tweet yang dipaparkan dalam galeri.

Kami berharap artikel ini memberikan anda idea tentang keupayaan Power Apps untuk membina aplikasi luar talian. Seperti biasa, sila berikan maklum balas dalam forum kami dan kongsikan contoh aplikasi luar talian anda dalam Blog komuniti Power Apps.

Nota

Adakah anda boleh memberitahu kami tentang keutamaan bahasa dokumentasi anda? Jawab tinjauan pendek. (harap maklum bahawa tinjauan ini dalam bahasa Inggeris)

Tinjauan akan mengambil masa lebih kurang tujuh minit. Tiada data peribadi akan dikumpulkan (pernyataan privasi).