Ambient API আপনার অ্যাপ্লিকেশনকে কোনও ব্যবহারকারীর Google Photos অ্যাকাউন্টের সাথে অ্যাম্বিয়েন্ট ডিভাইস কানেক্ট করতে এবং তার বেছে নেওয়া ফটো দেখাতে সাহায্য করে।
অ্যাম্বিয়েন্ট API ফ্লো
Ambient API কীভাবে কাজ করে তার একটি ব্রেকডাউন এখানে দেওয়া হল, যার মাধ্যমে একটি ডিভাইস কানেক্ট করা যায় এবং তারপর মিডিয়া আইটেমগুলি ফিরিয়ে আনা এবং প্রদর্শন করা যায়:
আগে থেকে থাকা ডিভাইস চেক করুন (সাজেস্ট করা হয়েছে): নতুন ডিভাইস তৈরি করার আগে, বর্তমান ব্যবহারকারীর জন্য আগে থেকে কোনও ডিভাইস আছে কিনা তা চেক করার সাজেশন দেওয়া হয়। আপনার অ্যাপ্লিকেশনে, আপনার ইন্টার্নাল ব্যবহারকারী এবং Google-এর দেওয়া
deviceId-এর মধ্যে ম্যাপিং থাকতে হবে। এটি সেইসব ডিভাইসের জন্য হতে হবে যেগুলি আপনার অ্যাপের মাধ্যমে তৈরি করা হয়েছে। যদি ব্যবহারকারীর জন্যdeviceIdপাওয়া যায়, তাহলে আপনি তার অনুমোদন টোকেন (প্রয়োজন হলে) রিফ্রেশ করার প্রসেস চালিয়ে যেতে পারবেন।OAuth 2.0 অনুমোদন শুরু করুন: একটি অনুমোদন কোডের অনুরোধ করে টিভি এবং সীমিত ইনপুট ডিভাইসের জন্য OAuth 2.0 ফ্লো শুরু করুন।
নতুন ডিভাইস তৈরি করা: আপনার অ্যাপ,
CreateDeviceকল করে এবং একটি বৈধ v4 UUID প্রদান করে, ব্যবহারকারীর Google Photos অ্যাকাউন্টে একটি ডিভাইস তৈরি করে।ডিভাইস তৈরি করা হয়ে গেলে, API একটি
AmbientDeviceঅবজেক্ট ফিরিয়ে দেবে যেটিতে Google-এর অ্যাসাইন করাdeviceIdথাকবে। আপনার অ্যাপ্লিকেশনের জন্য এইdeviceIdস্টোর করা এবং আপনার ব্যবহারকারীদের সাথে এটি অ্যাসোসিয়েট করা খুবই গুরুত্বপূর্ণ।settingsUriদেখান: একটিAmbientDeviceঅবজেক্টে একটিsettingsUriঅন্তর্ভুক্ত থাকে। ব্যবহারকারীকে এই URI দেখান, সাধারণত QR কোড হিসেবে, যা ব্যবহারকারী তার মোবাইল ডিভাইস ব্যবহার করে স্ক্যান করতে পারবেন। এই URI ব্যবহারকারীকে Google Photos অ্যাপে নিয়ে যায়, যেখানে তিনি অ্যাম্বিয়েন্ট ডিভাইসে যে মিডিয়া সোর্স (যেমন, অ্যালবাম) দেখাতে চান তা কনফিগার করতে পারেন।mediaSourcesSet-এর জন্য পোল: আপনার অ্যাপ্লিকেশনকে নির্দিষ্ট সময় অন্তরGetDeviceপদ্ধতি কল করতে হবে,deviceIdপ্রদান করতে হবে, যাতে অ্যাম্বিয়েন্ট ডিভাইসের স্ট্যাটাস চেক করা যায়। উত্তরেAmbientDevicemediaSourcesSetফিল্ড মনিটর করুন। এটি প্রাথমিকভাবে মিথ্যা হবে।ব্যবহারকারী Google Photos অ্যাপে মিডিয়া সোর্স বেছে নিলে, এই ফিল্ডের মান পরিবর্তন করে 'true' করা হবে।
AmbientDeviceউত্তরে একটিpollingConfigসহpollIntervalঅন্তর্ভুক্ত রয়েছে যা আপনার পোলিং ফ্রিকোয়েন্সির জন্য নির্দেশিকা হিসেবে ব্যবহার করা উচিত।মিডিয়া আইটেম রিট্রিভ করা:
mediaSourcesSettrue রিটার্ন করলে, আপনার অ্যাপ্লিকেশন ব্যবহারকারীর বেছে নেওয়া মিডিয়া আইটেম ফেচ করা শুরু করতে পারে।deviceIdপ্রদান করেListMediaItemsমেথড কল করুন। API,AmbientMediaItemঅবজেক্টের তালিকা সহListMediaItemsResponseফেরত পাঠাবে। প্রতিটিAmbientMediaItem-এid,createTimeএবং অতিরিক্ত মেটাডেটা সহMediaFileঅবজেক্টের মতো বিবরণ থাকে।MediaFile-এ একটিbaseUrlথাকে যা আপনি কোনও মিডিয়া আইটেমের আসল বাইট ফেচ করার জন্য ব্যবহার করতে পারবেন। অতিরিক্তbaseUrlপ্যারামিটার সম্পর্কে বিস্তারিত জানতে মিডিয়া আইটেম তালিকাভুক্ত ও ফিরিয়ে আনা সংক্রান্ত নির্দেশিকা পর্যালোচনা করুন।মিডিয়া আইটেম দেখানো: অ্যাম্বিয়েন্ট ডিভাইসে মিডিয়া কন্টেন্ট ডাউনলোড করতে ও দেখাতে
MediaFileথেকেbaseUrlব্যবহার করুন।
গুরুত্বপূর্ণ বিষয়
ডিভাইসের সীমা ও ম্যানেজমেন্ট:
- ডিভাইসের সীমা: আপনার অ্যাপ্লিকেশনের প্রতি ব্যবহারকারীর জন্য ১০০টি ডিভাইসের সীমা সম্পর্কে সচেতন থাকুন।
- ডিভাইস অ্যাক্টিভিটি ও টোকেন: আপনাকে ডিভাইস ও ব্যবহারকারীর অনুমোদন টোকেনের লাইফসাইকেল ম্যানেজ করতে হবে। ডিভাইস কতক্ষণ অ্যাক্টিভ থাকে এবং ডিভাইস ইনঅ্যাক্টিভ হয়ে গেলে বা টোকেনের মেয়াদ শেষ হয়ে গেলে আপনি কীভাবে টোকেন রিফ্রেশ বা আবার অনুমোদন করবেন তা বিবেচনা করুন।
ডিভাইস তৈরি ও ম্যানেজ করা সংক্রান্ত নির্দেশিকায় অতিরিক্ত বিবরণ দেওয়া আছে।
মিডিয়া আইটেম নিয়ে কাজ করা:
- মিডিয়া আইটেমের ব্যবহার:
baseUrlব্যবহার করে কীভাবে মিডিয়া আইটেমের কন্টেন্ট সঠিকভাবে ফেচ ও ম্যানেজ করতে হয় তা বুঝুন, এর মধ্যে প্রয়োজনীয় যাচাইকরণ বা প্যারামিটারও অন্তর্ভুক্ত। - সমস্যা ম্যানেজ করা: API কলের জন্য সমস্যা ম্যানেজ করার শক্তিশালী পদ্ধতি প্রয়োগ করুন, যার মধ্যে
ডিভাইসের জন্য
NOT_FOUND, মিডিয়া সোর্স সেট করা না থাকলেFAILED_PRECONDITIONএবং ডিভাইসের সীমা শেষ হয়ে গেলেRESOURCE_EXHAUSTED-এর মতো পরিস্থিতি অন্তর্ভুক্ত।
মিডিয়া আইটেম তালিকাভুক্ত করা ও ফিরিয়ে আনা সংক্রান্ত গাইডে অতিরিক্ত বিবরণ আছে, যার মধ্যে কন্টেন্ট নীতি ও ফিল্টার করা সংক্রান্ত তথ্যও আছে।
পরবর্তী ধাপ
- আপনার অ্যাপ্লিকেশন কনফিগার করুন: আপনার কাছে প্রয়োজনীয় ক্রেডেনশিয়াল আছে কিনা তা যাচাই করুন এবং টিভি ও সীমিত ইনপুট ডিভাইসের জন্য OAuth 2.0-এর জন্য আপনার অ্যাপ্লিকেশন কনফিগার করুন।
- Ambient API রেফারেন্স ডকুমেন্টেশন পর্যালোচনা করুন: উপলভ্য সব পদ্ধতি, অনুরোধ ও উত্তর সংক্রান্ত প্যারামিটার এবং ত্রুটি কোডের জন্য বিস্তারিত রেফারেন্স ডকুমেন্টেশন এক্সপ্লোর করুন।