একবার একজন ব্যবহারকারী তাদের পরিবেষ্টিত ডিভাইস কনফিগার করলে এবং Google Photos-এ মিডিয়া সোর্স বেছে নিলে, আপনার অ্যাপ্লিকেশন প্রদর্শনের জন্য সেই মিডিয়া আইটেমগুলিকে তালিকাভুক্ত করতে এবং পুনরুদ্ধার করতে পারে।
আপনি শুরু করার আগে
- ডিভাইস সেটআপ পরীক্ষা করুন: নিশ্চিত করুন যে আপনি ব্যবহারকারীর জন্য সফলভাবে একটি ডিভাইস তৈরি এবং কনফিগার করেছেন ।
- অ্যাম্বিয়েন্ট এপিআই ফ্লো বুঝুন: সামগ্রিক প্রক্রিয়া, বিশেষ করে
mediaSourcesSetজন্য পোলিং জড়িত পদক্ষেপ বোঝার জন্য অ্যাম্বিয়েন্ট এপিআই ফ্লো পর্যালোচনা করুন।
mediaSourcesSet জন্য পোল
আপনি একটি ডিভাইসের জন্য মিডিয়া আইটেমগুলি তালিকাভুক্ত করার আগে, ব্যবহারকারীকে অবশ্যই Google ফটো অ্যাপের মধ্যে আপনার অ্যাপ্লিকেশনের সাথে শেয়ার করতে চান এমন ফটোগুলি নির্বাচন করতে হবে৷ এই নির্বাচন কখন করা হয়েছে তা নির্ধারণ করতে আপনার অ্যাপ্লিকেশনটিকে অবশ্যই ডিভাইসটি পোল করতে হবে৷
নির্দিষ্ট deviceId জন্য পর্যায়ক্রমে devices.get পদ্ধতিতে কল করুন। AmbientDevice প্রতিক্রিয়াতে mediaSourcesSet ক্ষেত্রটি নিরীক্ষণ করুন। এটি প্রাথমিকভাবে false হবে। একবার ব্যবহারকারী সফলভাবে মিডিয়া উত্স নির্বাচন করলে, এই ক্ষেত্রটি true পরিবর্তিত হবে৷
AmbientDevice প্রতিক্রিয়া একটি pollInterval সহ একটি pollingConfig অন্তর্ভুক্ত করে যা আপনার পোলিং ফ্রিকোয়েন্সির জন্য একটি নির্দেশিকা হিসাবে ব্যবহার করা উচিত।
মিডিয়া আইটেম তালিকা
একবার mediaSourcesSet একটি ডিভাইসের জন্য true হলে, আপনি ব্যবহারকারীর দ্বারা নির্বাচিত মিডিয়া আইটেমগুলি আনা শুরু করতে পারেন৷
mediaItems.listএন্ডপয়েন্ট ব্যবহার করুন:https://photosambient.googleapis.com/v1/mediaItemsএ একটি GET অনুরোধ করুন, পাথেdeviceIdপ্রদান করুন।পেজিনেশন পরিচালনা করুন (যদি প্রয়োজন হয়): প্রতিক্রিয়াটি পৃষ্ঠাযুক্ত হতে পারে। ফলাফলের পরবর্তী পৃষ্ঠাগুলি পুনরুদ্ধার করতে পূর্ববর্তী প্রতিক্রিয়া থেকে সর্বাধিক সংখ্যক আইটেম এবং
pageTokenনির্দিষ্ট করতেpageSizeপ্যারামিটার ব্যবহার করুন।মিডিয়া আইটেমগুলি প্রক্রিয়া করুন: প্রতিক্রিয়াটিতে
AmbientMediaItemঅবজেক্টের একটি অ্যারে থাকবে, প্রতিটি একটি নির্বাচিত মিডিয়া আইটেম প্রতিনিধিত্ব করে। এই বস্তুর মধ্যে অপরিহার্য বিবরণ অন্তর্ভুক্ত যেমন:-
id: মিডিয়া আইটেমের জন্য অনন্য শনাক্তকারী। -
creationTime: মিডিয়া আইটেমটি তৈরি করার সময় টাইমস্ট্যাম্প। -
mediaFile: প্রকৃত বিষয়বস্তু অ্যাক্সেস করার জন্য বিশদ বিবরণ ধারণকারী একটি বস্তু।
-
mediaFile ফিল্ডে baseUrl অন্তর্ভুক্ত থাকে। বিভিন্ন রেজোলিউশন বা ফরম্যাটে মিডিয়া আইটেমের বিষয়বস্তু অ্যাক্সেস করার জন্য আপনি URL তৈরি করতে এই baseUrl ব্যবহার করবেন।
বেস ইউআরএল
Google Photos API-এর বেস ইউআরএলগুলি মিডিয়া আইটেমগুলির কাঁচা বাইটগুলিতে অ্যাক্সেস প্রদান করে, আপনার অ্যাপকে সেগুলি ডাউনলোড বা প্রদর্শন করতে সক্ষম করে৷ অ্যালবাম (লাইব্রেরি API) তালিকাভুক্ত করার সময় বা মিডিয়া আইটেমগুলি (লাইব্রেরি এবং পিকার API উভয়ই) অ্যাক্সেস করার সময় এই URLগুলি প্রতিক্রিয়াগুলিতে অন্তর্ভুক্ত করা হয়। মনে রাখবেন, বেস ইউআরএল সঠিকভাবে কাজ করার জন্য অতিরিক্ত প্যারামিটার প্রয়োজন।
পিকার API এর জন্য:
সমস্ত PickedMediaItem.mediaFile অবজেক্টে একটি baseUrl অন্তর্ভুক্ত থাকে।
বেস ইউআরএলগুলি 60 মিনিটের জন্য সক্রিয় থাকে, তবে ব্যবহারকারী যদি তাদের Google অ্যাকাউন্ট সেটিংসের মাধ্যমে আপনার অ্যাপের অনুমতি প্রত্যাহার করে তবে তাড়াতাড়ি মেয়াদ শেষ হতে পারে।
লাইব্রেরি API এর জন্য:
বেস ইউআরএল 60 মিনিটের জন্য সক্রিয় থাকে।
বিভিন্ন ভিত্তি URL হল:
-
baseUrl: সরাসরি একটি ভিডিওর জন্য ফটো, থাম্বনেল অ্যাক্সেস করুন বা ভিডিও বাইট ডাউনলোড করুন। -
coverPhotoBaseUrl: অ্যালবামের জন্য সরাসরি কভার ফটো অ্যাক্সেস করুন৷ -
profilePictureBaseUrl: সরাসরিmediaItemমালিকের প্রোফাইল ফটো অ্যাক্সেস করুন।
ছবির ভিত্তি URL
এখানে বিকল্পগুলির তালিকা রয়েছে যা আপনি ইমেজ বেস ইউআরএলগুলির সাথে ব্যবহার করতে পারেন:
| প্যারামিটার | |
|---|---|
w , h | বর্ণনা প্রস্থ, একটি ইমেজ মিডিয়া আইটেম অ্যাক্সেস করতে, যেমন একটি ভিডিওর জন্য একটি ফটো বা একটি থাম্বনেইল, আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশনে প্রদর্শন করার পরিকল্পনা করা মাত্রাগুলি নির্দিষ্ট করতে হবে (যাতে আকৃতির অনুপাত সংরক্ষণ করার সময় ছবিটি এই মাত্রাগুলিতে স্কেল করা যেতে পারে)৷ এটি করার জন্য, উদাহরণগুলিতে দেখানো হিসাবে আপনার প্রয়োজনীয় মাত্রাগুলির সাথে বেস ইউআরএল সংযুক্ত করুন৷ উদাহরণ: base-url=wmax-width-hmax-height এখানে 2048 পিক্সেলের চেয়ে বেশি চওড়া এবং 1024 পিক্সেলের বেশি লম্বা নয় এমন একটি মিডিয়া আইটেম প্রদর্শনের একটি উদাহরণ রয়েছে: https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024 |
c | বর্ণনা ফসল, আপনি যদি নির্দিষ্ট প্রস্থ এবং উচ্চতার মাত্রায় ইমেজটি ক্রপ করতে চান, তাহলে বাধ্যতামূলক আকার (পিক্সেলে) পরিসরে হওয়া উচিত [1, 16383]। যদি হয় ছবির প্রস্থ বা উচ্চতা, অনুরোধ করা মাপ ছাড়িয়ে যায়, ছবি ছোট করে ছোট করা হয় (আকৃতির অনুপাত বজায় রেখে)। উদাহরণ: base-url=wmax-width-hmax-height-c এই উদাহরণে, অ্যাপ্লিকেশনটি একটি মিডিয়া আইটেম প্রদর্শন করে যা ঠিক 256 পিক্সেল চওড়া এবং 256 পিক্সেল উচ্চ, যেমন থাম্বনেইল: https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c |
d | বর্ণনা ডাউনলোড, আপনি যদি অবস্থানের মেটাডেটা ব্যতীত সমস্ত Exif মেটাডেটা ধরে রেখে ইমেজ ডাউনলোড করতে চান, তাহলে উদাহরণ: base-url=d এই উদাহরণে, অ্যাপ্লিকেশনটি অবস্থানের মেটাডেটা ব্যতীত সমস্ত মেটাডেটা সহ একটি চিত্র ডাউনলোড করে: https://lh3.googleusercontent.com/p/Az....XabC=d |
ভিডিও বেস ইউআরএল
ভিডিও বেস ইউআরএলগুলির সাথে আপনি ব্যবহার করতে পারেন এমন বিকল্পগুলির তালিকা এখানে রয়েছে:
| প্যারামিটার | |
|---|---|
dv | বর্ণনা একটি ভিডিও ডিভি প্যারামিটারটি মূল ভিডিওর একটি উচ্চ মানের, ট্রান্সকোডেড সংস্করণের জন্য অনুরোধ করে। প্যারামিটারটি w এবং h প্যারামিটারের সাথে সামঞ্জস্যপূর্ণ নয়। ভিডিও ডাউনলোডের জন্য বেস URL গুলি বাইট ফেরত পেতে কয়েক সেকেন্ড পর্যন্ত সময় নিতে পারে৷ এই প্যারামিটারটি ব্যবহার করার আগে, মিডিয়া আইটেমগুলির উদাহরণ: base-url=dv নিম্নলিখিত উদাহরণ আপনাকে দেখায় কিভাবে একটি ভিডিওর বাইট ডাউনলোড করতে হয়: https://lh3.googleusercontent.com/p/AF....BsdZ=dv |
w , h , c , এবং d | বর্ণনা ভিডিওর থাম্বনেইল অ্যাক্সেস করতে ছবির বেস ইউআরএল প্যারামিটারের যেকোনো একটি ব্যবহার করুন। ডিফল্টরূপে, সমস্ত ভিডিও থাম্বনেইলে একটি প্লেব্যাক বোতামের একটি ওভারলে অন্তর্ভুক্ত থাকে। এই ওভারলে অপসারণ করতে -কোন প্যারামিটার দেখুন। উদাহরণ: উদাহরণের জন্য ইমেজ বেস ইউআরএল টেবিল পড়ুন। |
no | বর্ণনা থাম্বনেইল ওভারলে অপসারণ করুন, কোনো প্যারামিটার আপনি যদি কোনো প্লেব্যাক বোতামের ওভারলে ছাড়াই কোনো ভিডিওর থাম্বনেল পুনরুদ্ধার করতে চান, তাহলে কোনো প্যারামিটার ছাড়াই বেস ইউআরএল সংযুক্ত করুন। নো প্যারামিটার অবশ্যই অন্তত একটি ছবির বেস URL প্যারামিটারের সাথে ব্যবহার করা উচিত। উদাহরণ: base-url=wmax-width-hmax-height-no নিম্নলিখিত উদাহরণটি একটি ভিডিও থাম্বনেইল প্রদর্শন করে যা ঠিক 1280 পিক্সেল চওড়া বাই 720 পিক্সেল উচ্চ এবং একটি প্লেব্যাক বোতাম ওভারলে অন্তর্ভুক্ত করে না: https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no |
মোশন ফটো বেস ইউআরএল
মোশন ফটোতে ফটো এবং ভিডিও উভয় উপাদানই থাকে। আপনি মোশন ফটো baseUrl অনুরোধের জন্য ইমেজ বেস ইউআরএল বা ভিডিও বেস ইউআরএল থেকে প্যারামিটার ব্যবহার করতে পারেন।
| প্যারামিটার | |
|---|---|
dv | বর্ণনা একটি মোশন ফটো মিডিয়া আইটেমের ভিডিও উপাদান পুনরুদ্ধার করতে, |
w , h , c , এবং d | বর্ণনা একটি মোশন ফটো মিডিয়া আইটেমের ফটো উপাদান পুনরুদ্ধার করতে, ইমেজ বেস URL- এর বিন্যাসটি ব্যবহার করুন। |
পরবর্তী পদক্ষেপ
- নমুনা অ্যাপ্লিকেশন: আমাদের নমুনা অ্যাপ্লিকেশনে মিডিয়া আইটেমগুলি তালিকাভুক্ত করা এবং পুনরুদ্ধার করার উদাহরণ রয়েছে। আরও তথ্যের জন্য
checkMediaSourcesSetএবংfetch_media_item_listফাংশন দেখুন। - রেফারেন্স ডকুমেন্টেশন: সমস্ত উপলব্ধ পদ্ধতি, অনুরোধ এবং প্রতিক্রিয়া পরামিতি, এবং ত্রুটি কোডের বিস্তারিত তথ্যের জন্য মিডিয়া আইটেমগুলিতে ব্যাপক রেফারেন্স ডক্স পর্যালোচনা করুন।