इसके माध्यम से साझा किया गया


ऑफ़लाइन-योग्य कैनवास ऐप विकसित करें

मोबाइल उपयोगकर्ताओं को अक्सर सीमित या कोई कनेक्टिविटी नहीं होने पर भी उत्पादक होने की ज़रूरत होती है. जब आप कैनवास अनुप्रयोग बनाते हैं, तो आप इन कार्यों को कर सकते हैं:

  • जब डिवाइस नेटवर्क से कनेक्ट न हो, तो मोबाइल खोलें और ऐप्स चलाएं। Power Apps
  • Connection सिग्नल ऑब्जेक्ट का उपयोग करके निर्धारित करें कि कोई अनुप्रयोग कब ऑफ़लाइन, ऑनलाइन, या किसी मीटर्ड कनेक्शन में होता है.
  • अपने डिवाइस और सर्वर के बीच डेटा सिंक्रनाइज़ करें.

यदि आपका ऐप Dataverse से कनेक्ट होता है, तो ऑफ़लाइन समर्थन अंतर्निहित होता है. Power Apps यह आपको अपने डिवाइस पर डेटा डाउनलोड करने और परिवर्तनों को वापस अपलोड करने की अनुमति देगा। Dataverse यदि आपका ऐप Dataverse का उपयोग नहीं करता है, तो आप संग्रह का उपयोग कर सकते हैं और ऑफ़लाइन होने पर बुनियादी संग्रहण के लिए LoadData और SaveData फ़ंक्शन का लाभ उठा सकते हैं।

नोट

  • कैनवास ऐप्स के लिए ऑफ़लाइन क्षमता, Power Apps मोबाइल और Windows पर मूल iOS Android प्लेयर्स का उपयोग करके ऐप्स चलाते समय उपलब्ध है.
  • वेब ब्राउज़र में चलने वाले कैनवस ऐप ऑफ़लाइन नहीं चल सकते, मोबाइल डिवाइस पर वेब ब्राउज़र का उपयोग करते हुए भी नहीं.
  • LoadData और SaveData फ़ंक्शन—के माध्यम से Teams में कैनवास ऐप 1 एमबी डेटा तक सीमित हैं, जो टेक्स्ट स्ट्रिंग्स, संख्याओं और तिथियों की एक छोटी संख्या के लिए उपयोगी हैं. छवियों या अन्य मीडिया का उपयोग इस सीमा के लिए अनुपयुक्त है. अधिक जानकारी:LoadData तथा SaveDataसमारोह संदर्भ

Dataverse-आधारित कैनवास ऐप में ऑफ़लाइन समर्थन सक्षम करें

Microsoft Dataverse-आधारित कैनवास अनुप्रयोग के लिए, आपको ऑफ़लाइन-प्रथम अनुभव के साथ अंतर्निहित ऑफ़लाइन क्षमता का उपयोग करना होगा. अधिक जानकारी के लिए, कैनवास ऐप्स के लिए मोबाइल ऑफ़लाइन सेट अप करें और कैनवास ऐप्स के साथ ऑफ़लाइन कार्य करना देखें. एक स्विच के फ्लिप से, आपका ऐप आपके डेटा के साथ कहीं भी काम कर सकता है, चाहे नेटवर्क कनेक्शन हो या न हो। Dataverse बस अपने ऐप को मानक सूत्रों के साथ बनाएं और ऑफ़लाइन सुविधा आपके लिए सभी जटिलताओं को संभाल लेगी। Power Fx

अन्य सभी कनेक्टर्स के लिए LoadData और SaveData का उपयोग करें

इस अनुभाग में ट्विटर डेटा का उपयोग करके एक उदाहरण शामिल किया गया है। एक और भी सरल उदाहरण है जिसके लिए कनेक्शन की आवश्यकता नहीं होती, उसमें LoadData और SaveData फ़ंक्शन संदर्भ शामिल है.

ऑफ़लाइन सक्षम कैनवास ऐप बनाने का तरीका जानने के लिए यह वीडियो देखें जो डेटा का उपयोग नहीं करते हैं: Dataverse

सीमाएँ

स्थानीय डिवाइस पर डेटा की कम मात्रा को संग्रहित करने के लिए LoadData और SaveData एक सरल तंत्र बनाने के लिए जुड़ता है. इन फ़ंक्शन का उपयोग करके, आप सरल ऑफ़लाइन क्षमताओं को अपने अनुप्रयोग में जोड़ सकते हैं.

ये फ़ंक्शन उपलब्ध ऐप मेमोरी की मात्रा के द्वारा सीमित हैं क्योंकि ये इन-मेमोरी संग्रह पर काम करते हैं. उपलब्ध मेमोरी डिवाइस, ऑपरेटिंग सिस्टम, Power Apps द्वारा इस्तेमाल की जाने वाली मेमोरी और स्क्रीन और नियंत्रण के संदर्भ में अनुप्रयोग की जटिलता के आधार पर भिन्न हो सकती है. यदि आप कुछ मेगाबाइट से अधिक डेटा संग्रहीत करते हैं, तो अपने अनुप्रयोग का उन डिवाइसों पर अपेक्षित परिदृश्यों के साथ परीक्षण करें, जिन पर आप इसे चलाना चाहते हैं. आपके पास आम तौर पर 30-70 मेगाबाइट मेमोरी उपलब्ध होगी.

जब डिवाइस ऑनलाइन आता है तो फ़ंक्शन भी स्वचालित रूप से मर्ज के टकरावों को हल नहीं करते हैं. कौन सा डेटा सहेजा गया है और रीकनेक्शन को कैसे संभालना है, इसका निर्णय कॉन्फ़िगरेशन व्यंजक लिखते समय निर्माता करता है.

ऑफ़लाइन क्षमताओं के अपडेट के लिए, इस विषय पर वापस लौटें, और Power Apps ब्लॉग पर जाएं.

अवलोकन

जब आप ऑफ़लाइन परिदृश्य डिज़ाइन करते हैं, तो आपको पहले यह विचार करना चाहिए कि आपके अनुप्रयोग डेटा के साथ कैसे काम करते हैं. Power Apps में अनुप्रयोग मुख्य रूप से connectors के एक सेट से उस डेटा तक पहुंचते हैं, जिसे प्लेटफ़ॉर्म प्रदान करता है, जैसे कि SharePoint, Office 365 और Microsoft Dataverse. आप कस्टम कनेक्टर भी बना सकते हैं जो अनुप्रयोग को किसी भी सेवा तक पहुंचने में सक्षम बनाते हैं जो एक RESTful समापन बिंदु प्रदान करता है. यह वेब API या Azure फ़ंक्शन जैसी सेवा हो सकती है. ये सभी कनेक्टर इंटरनेट पर HTTPS का उपयोग करते हैं, जिसका मतलब है कि आपके उपयोगकर्ताओं को डेटा और सेवा प्रदान करने वाली किसी अन्य क्षमताओं के लिए ऑनलाइन होना होगा.

कनेक्टर्स के साथ Power Apps.

ऑफ़लाइन डेटा हैंडलिंग किया जा रहा है

Power Apps में, आप डेटा स्रोत की परवाह किए बिना सुसंगत तरीके से डेटा को फ़िल्टर, खोज, क्रमबद्ध, कुल योग और उसमें फेरबदल कर सकते हैं. स्रोत ऐप में इन-मेमोरी संग्रह से लेकर SQL डेटाबेस और Dataverse तक Microsoft सूचियों का उपयोग करके बनाई गई सूचियों तक हैं. इस स्थिरता के कारण, आप किसी भिन्न डेटा स्रोत का उपयोग करने के लिए किसी अनुप्रयोग को आसानी से पुन: प्राप्त कर सकते हैं. अधिक महत्वपूर्ण बात यह है कि ऑफ़लाइन परिदृश्यों के लिए, आप अनुप्रयोग के तर्क में लगभग कोई बदलाव नहीं करने के साथ डेटा प्रबंधन के लिए स्थानीय संग्रह का उपयोग कर सकते हैं. वास्तव में, स्थानीय संग्रह ऑफ़लाइन डेटा को संभालने के प्राथमिक तंत्र हैं.

एक ऑफ़लाइन अनुप्रयोग बनाएँ

अनुप्रयोग विकास के ऑफ़लाइन पहलुओं पर ध्यान केंद्रित रखने के लिए, यह विषय 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 में त्रुटि दिखा सकते हैं, क्योंकि ब्राउज़र उनका समर्थन नहीं करते हैं. हालांकि, इस अनुप्रयोग को किसी डिवाइस पर इस्तेमाल करने के बाद वे सामान्य रूप से प्रदर्शन करेंगे.

यह सूत्र जांचता है कि डिवाइस ऑनलाइन है या नहीं:

  • यदि डिवाइस ऑनलाइन है, तो सूत्र "PowerApps" खोज शब्द के साथ LocalTweets संग्रह में 10 ट्वीट तक लोड करता है.
  • यदि डिवाइस ऑफ़लाइन है, तो सूत्र स्थानीय कैश को "LocalTweets" नामक फ़ाइल से लोड करता है, यदि यह उपलब्ध हो तो.
  1. सम्मिलित टैब पर, गैलरी > रिक्त लचीली ऊंचाई चुनें.

  2. गैलरी नियंत्रण का आइटम गुण 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. पाठ-इनपुट बॉक्स के डिफॉल्ट गुण को "" पर सेट करें.

    गैलरी पर स्थिति की जानकारी और पाठ-इनपुट बॉक्स.

चरण 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. टाइमर का अवधि गुण 300000 पर सेट करें.

  3. टाइमर के AutoStart और दोहराएँ गुणों को सही पर सेट करें.

  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. डिवाइस के एयरप्लेन मोड को सक्षम करके और वाई-फाई को अक्षम करके डिवाइस को इंटरनेट से डिस्कनेक्ट करें.

    स्टेटस लेबल से पता चलता है कि अनुप्रयोग ऑफ़लाइन है.

  3. जब डिवाइस ऑफ़लाइन हो, तो ऐसा ट्वीट लिखें जिसमें Power Apps शामिल हो, और फिर ट्वीट बटन का चयन करें.

    ट्वीट स्थानीय रूप से संग्रहीत है LocalTweetsToPostसंग्रह।

  4. डिवाइस के एयरप्लेन मोड को अक्षम करके और वाई-फाई को सक्षम करके डिवाइस को इंटरनेट पर फिर से कनेक्ट करें.

    पांच मिनट के अंदर, अनुप्रयोग ट्वीट को पोस्ट करता है, जो गैलरी में दिखाई देता है.

हमें उम्मीद है कि यह आलेख आपको उन क्षमताओं के बारे में बताएगा जो Power Apps के पास ऑफ़लाइन अनुप्रयोग बनाने के लिए है. हमेशा की तरह, कृपया हमारे फोरम पर प्रतिक्रिया दें और ऑफ़लाइन अनुप्रयोग के अपने उदाहरण Power Apps समुदाय ब्लॉग में साझा करें.

नोट

क्या आप हमें अपनी दस्तावेज़ीकरण भाषा वरीयताओं के बारे में बता सकते हैं? एक छोटा सर्वेक्षण पूरा करें. (कृपया ध्यान दें कि यह सर्वेक्षण अंग्रेज़ी में है)

सर्वेक्षण में लगभग सात मिनट लगेंगे. कोई भी व्यक्तिगत डेटा एकत्र नहीं किया जाता है (गोपनीयता कथन).