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