सेशन बनाना और उन्हें मैनेज करना

सेशन, Picker API के मुख्य फ़ंक्शन हैं. इनकी मदद से, उपयोगकर्ता अपनी Google Photos लाइब्रेरी से फ़ोटो और वीडियो चुन सकते हैं. यह तरीका सुरक्षित और कंट्रोल किया जा सकता है. इस गाइड में, ऐप्लिकेशन में फ़ोटो चुनने की सुविधा को आसानी से उपलब्ध कराने के लिए, सेशन बनाने, मैनेज करने, और असरदार तरीके से पोल करने का तरीका बताया गया है.

शुरू करने से पहले

  • अपना ऐप्लिकेशन कॉन्फ़िगर करना: एपीआई को चालू करें और पुष्टि करने की सुविधा सेट अप करें. ज़्यादा जानकारी के लिए, अपना ऐप्लिकेशन कॉन्फ़िगर करना लेख पढ़ें.
  • फ़्लो को समझना: फ़ोटो चुनने की पूरी प्रोसेस के बारे में खास जानकारी पाने के लिए, Picker API का इस्तेमाल शुरू करना देखें.
  • अनुमति के ज़रूरी दायरों की समीक्षा करें: सेशन के साथ काम करने के लिए, photospicker.mediaitems.readonly दायरे की ज़रूरत होती है. स्कोप के बारे में ज़्यादा जानकारी के लिए, अनुमति के स्कोप देखें.

सेशन का लाइफ़साइकल

Picker API, सेशन बनाने, उनके बारे में जानकारी पाने, और उन्हें मिटाने के तरीके उपलब्ध कराता है. उपयोगकर्ताओं की पुष्टि करने के बाद, फ़ोटो चुनने के लाइफ़साइकल को मैनेज करने के लिए सेशन का इस्तेमाल किया जा सकता है.

  1. उपयोगकर्ता को मीडिया आइटम चुनने की सुविधा देने के लिए, सेशन बनाएं.
  2. सेशन को पोल करें, ताकि यह पता लगाया जा सके कि उपयोगकर्ता ने मीडिया आइटम चुनना कब बंद किया.
  3. मीडिया आइटम की सूची बनाना और उन्हें वापस लाना.
  4. सेशन को मिटाकर, सेशन का डेटा मिटाएं.

सेशन बनाना

सेशन बनाएं, ताकि आपके उपयोगकर्ता सीधे अपने Google Photos ऐप्लिकेशन से फ़ोटो चुन सकें और उन्हें आपके ऐप्लिकेशन पर शेयर कर सकें.

sessions.create एक नया सेशन जनरेट करता है और एक यूनीक pickerUri दिखाता है, जिसे आपके उपयोगकर्ताओं को दिखाया जा सकता है. सेशन तब तक चालू रहता है, जब तक उपयोगकर्ता मीडिया आइटम चुन नहीं लेता या सेशन टाइम आउट नहीं हो जाता.

सत्र की सीमाएं

सेशन की सीमाओं के बारे में जानें. Picker API, सेशन की संख्या पर पाबंदी लगाता है. इससे यह पक्का किया जा सकता है कि इस सुविधा का सही तरीके से इस्तेमाल किया जा रहा है और इसका गलत इस्तेमाल नहीं किया जा रहा है. सामान्य परिस्थितियों में, आपके खाते में इन सीमाओं तक पहुंचने की संभावना नहीं होती. हालांकि, किसी भी तरह की समस्या से बचने के लिए, आपको सेशन को समय-समय पर मिटाना चाहिए.

सेशन को पोल और मॉनिटर करना

सेशन बन जाने के बाद, सेशन का स्टेटस पाने के लिए, समय-समय पर sessions.get एंडपॉइंट को पोल करें. जब उपयोगकर्ता अपना विकल्प चुन लेता है, तो जवाब में mediaItemsSet प्रॉपर्टी true दिखाती है.

पक्का करें कि आपने बेहतर पोलिंग का इस्तेमाल किया हो. sessions.get रिस्पॉन्स में, pollingConfig ऑब्जेक्ट शामिल होता है. ग़ैर-ज़रूरी कॉल से बचने और उपयोगकर्ताओं को बेहतर अनुभव देने के लिए, यहां दिए गए फ़ील्ड का इस्तेमाल करें:

  • pollInterval: सर्वे के लिए सही इंटरवल
  • timeoutIn: टाइम आउट की अवधि

ज़्यादा जानकारी के लिए, पोल फ़्लो का उदाहरण देखें.

सेशन मिटाना और उन्हें साफ़ करना

sessions.delete किसी सेशन को हटाता है. आम तौर पर, इसका इस्तेमाल, उपयोगकर्ता के मीडिया चुनने के बाद या सेशन के टाइम आउट होने पर, सफ़ाई के लिए किया जाता है.

सबसे सही तरीका यह है कि उपयोगकर्ता के मीडिया आइटम चुनने और आपके ऐप्लिकेशन के मीडिया आइटम के बाइट हासिल करने के बाद, सेशन मिटा दिए जाएं.

पोलिंग फ़्लो का उदाहरण

यह सेशन बनाने और पोलिंग करने का उदाहरण है. अपने उपयोगकर्ता की पुष्टि करने के बाद, नया सेशन बनाएं.

  1. सेशन बनाना: नया सेशन शुरू करने और pickerUri पाने के लिए, sessions.create को कॉल करें.
  2. उपयोगकर्ता को pickerUri दिखाएं: उपयोगकर्ता को स्कैन करने के लिए यूआरएल दिखाएं या क्यूआर कोड जनरेट करें. उपयोगकर्ता के लिए प्रॉडक्ट चुनने के अनुभव के बारे में खास जानकारी पढ़ें.
  3. सेशन को पोल करें:
    1. pollingConfig से सुझाए गए pollInterval का इस्तेमाल करें.
    2. देखें कि mediaItemsSet सही है या नहीं.
      1. अगर true है, तो चुने गए मीडिया आइटम की सूची बनाएं.
      2. अगर false है, तो timeoutIn तक पोलिंग जारी रखें.
    3. टाइम आउट और रद्द करने की प्रक्रिया को आसानी से मैनेज करें.
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}

जवाब का एक उदाहरण यहां दिया गया है:

{
  "id": string,
  "pickerUri": string,
  "pollingConfig": {
    object (PollingConfig)
  },
  "mediaItemsSet": boolean
}

उपयोगकर्ता को pickerUri दिखाएं और फिर सेशन को पोल करना शुरू करें.

इनके लिए जवाब देखें:

  • mediaItemsSet: अगर उपयोगकर्ता ने मीडिया आइटम चुनना बंद कर दिया है, तो यह वैल्यू 'सही' होगी
  • pollingConfig.pollInterval: अगले पोल से पहले, इंतज़ार करने का सुझाया गया समय
  • pollingConfig.timeoutIn: टाइम आउट होने से पहले इंतज़ार करने का कुल समय

अगर mediaItemsSet गलत है और timeoutIn तक नहीं पहुंचा है, तो pollInterval के लिए इंतज़ार करें और फिर से पोल करें.

अगर mediaItemsSet सही है, तो चुने गए मीडिया आइटम की सूची बनाएं.

अगर timeoutIn तक पहुंच जाता है, तो टाइम आउट को आसानी से मैनेज करें.