সম্পদের ক্লাউড ডেলিভারি বাস্তবায়ন করুন

সতর্কীকরণ: গুগল প্লে ইনস্ট্যান্ট আর উপলব্ধ থাকবে না। ডিসেম্বর ২০২৫ থেকে, গুগল প্লে-এর মাধ্যমে ইনস্ট্যান্ট অ্যাপ প্রকাশ করা যাবে না এবং গুগল প্লে পরিষেবার সমস্ত ইনস্ট্যান্ট এপিআই আর কাজ করবে না। প্লে আর কোনো পদ্ধতির মাধ্যমে ব্যবহারকারীদের ইনস্ট্যান্ট অ্যাপ সরবরাহ করবে না।

ডেভেলপারদের মতামত এবং গুগল প্লে ইনস্ট্যান্ট চালু হওয়ার পর থেকে ইকোসিস্টেম উন্নত করার জন্য আমাদের ধারাবাহিক বিনিয়োগের ভিত্তিতে আমরা এই পরিবর্তনটি আনছি।

ব্যবহারকারীর সংখ্যা বৃদ্ধির প্রক্রিয়াকে আরও উন্নত করতে, আমরা ডেভেলপারদের উৎসাহিত করি যেন তারা ব্যবহারকারীদের তাদের নিয়মিত অ্যাপ বা গেমে রেফার করেন এবং প্রাসঙ্গিক ক্ষেত্রে ডীপলিঙ্ক ব্যবহার করে তাদেরকে নির্দিষ্ট জার্নি বা ফিচারে পুনঃনির্দেশিত করেন।

আপনার অ্যাপকে নির্দিষ্ট আকারের সাথে মানানসই করার জন্য এর আকার ছোট করার সময়, প্রথমে সাধারণ APK সাইজ অপটিমাইজেশন কৌশলগুলো চেষ্টা করুন। যদি আকার আরও ছোট করার প্রয়োজন হয়, তবে আপনাকে অ্যাসেটগুলোর ক্লাউড ডেলিভারির উপর নির্ভর করতে হতে পারে। এই ডকুমেন্টটিতে ক্লাউড ডেলিভারির জন্য অ্যাসেট কীভাবে প্রস্তুত করতে হয় এবং বিভিন্ন গেম ইঞ্জিনের সাপোর্ট অপশনগুলো বর্ণনা করা হয়েছে। যদিও এই পৃষ্ঠার নির্দেশনাগুলো গেমের উপর আলোকপাত করে, এর নীতিগুলো বড় আকারের অ্যাসেটযুক্ত যেকোনো অ্যাপের ক্ষেত্রেই প্রযোজ্য।

প্রস্তুতি

ক্লাউডে অ্যাসেট ডেলিভারির জন্য আপনার অ্যাপকে ভাগ করার কথা ভাবার সময়, ব্যবহারকারীর কাছে কখন ফাইলগুলো উপলব্ধ হওয়া প্রয়োজন তার উপর ভিত্তি করে কীভাবে সেগুলোকে বিভিন্ন বিভাগে ভাগ করা যায়, তা বিবেচনা করুন। এই সময়গুলো সাধারণত নিম্নলিখিত তিনটি শ্রেণীতে বিভক্ত হয়: সর্বদা প্রয়োজন, অ্যাপ চালুর সময় প্রয়োজন, এবং পরবর্তীতে প্রয়োজন।

সর্বদা প্রয়োজন

কিছু অ্যাসেটকে ছোট ছোট ব্লকে ভাগ করা কঠিন অথবা সেগুলোকে বেস APK-এর সাথে বান্ডল করার প্রয়োজন হয়। উদাহরণস্বরূপ, আপনার গেম কোড এবং এর লাইব্রেরি বা ইঞ্জিন ডিপেন্ডেন্সিগুলো। যদিও গুগল প্লে কোর কোডের জন্য অ্যাপ বান্ডল সমর্থন করে , অনেক ইঞ্জিন পরে ডাউনলোড করা কোড সমর্থন করে না।

লঞ্চের সময় প্রয়োজন

গেমটি শুরু হওয়ার পর, ব্যবহারকারীকে অবিলম্বে খেলতে সক্ষম হতে হবে। গুগল প্লে ইনস্ট্যান্টের শর্তানুযায়ী, ব্যবহারকারীকে একটি LTE বা 4G সংযোগের মাধ্যমে ১৫ সেকেন্ডেরও কম সময়ে আপনার গেমটি খেলা শুরু করতে পারতে হবে ( গুগল প্লে ইনস্ট্যান্ট চেকলিস্ট দেখুন)। অতএব, গেমটি চালু করার পর যেকোনো দ্বিতীয় ডাউনলোডের আকার শুধুমাত্র প্রাথমিক অভিজ্ঞতাটি সমর্থন করার জন্য প্রয়োজনীয় আকারের মধ্যেই সীমাবদ্ধ রাখুন। উদাহরণস্বরূপ, গেমটি চালু হওয়ার ঠিক পরেই একটি দ্রুত ডাউনলোডের মধ্যে প্রথম গেম লেভেল এবং লোকেশন অ্যাসেট, অথবা গেমপ্লের প্রথম কয়েক মিনিট চালানোর জন্য প্রয়োজনীয় যেকোনো কোড অন্তর্ভুক্ত থাকতে পারে।

পরে প্রয়োজন হবে

এমন যেকোনো কিছু যা আপনি পরে, প্রয়োজন অনুযায়ী ব্যাকগ্রাউন্ডে ডাউনলোড করতে পারেন, তা এই বিভাগের অন্তর্ভুক্ত হবে। দীর্ঘ সময় ধরে খেলার মতো গেমের বেশিরভাগ অ্যাসেট এই বিভাগের অন্তর্ভুক্ত। এই অ্যাসেটগুলো পরে ডাউনলোড করলে আপনার অ্যাপের আকার যথাসম্ভব ছোট করতে সাহায্য করবে।

ইঞ্জিন সমর্থন

ইনস্ট্যান্ট প্লে গেমের ক্ষেত্রে আপনার গেমকে ১৫ মেগাবাইটের সীমা অতিক্রম করাতে ক্লাউড অ্যাসেট ডেলিভারিই হলো প্রধান উপায়। গেম ইঞ্জিনের ওপর ভিত্তি করে অ্যাসেট ডাউনলোডের সুবিধা ভিন্ন হতে পারে। নিচে সবচেয়ে সাধারণ ক্ষেত্রগুলো এবং অ্যাসেট হোস্টিংয়ের বিকল্পগুলো দেখুন।

উল্লেখ্য যে, গেম চালুর সময় কম সংখ্যক অ্যাসেটের প্রয়োজন হওয়ায় ব্যবহারকারী দ্রুত গেমে প্রবেশ করতে পারে, যার ফলে খেলা ছেড়ে দেওয়ার হার কমে এবং প্রথম লঞ্চের সময় খেলোয়াড় ধরে রাখার হারও বাড়ে।

প্লে ফিচার ডেলিভারি (অ্যাপ বান্ডেলের মাধ্যমে)

আপনি যদি আপনার অ্যাপটি একটি অ্যাপ বান্ডেল হিসেবে প্রকাশ করেন (যা একটি পছন্দের পদ্ধতি), তাহলে আপনি বেস APK-এর বাইরে অতিরিক্ত রিসোর্স আনার জন্য ফিচার মডিউল ব্যবহার করতে পারেন। আপনার ইনস্ট্যান্ট অ্যাপের জন্য, প্রতিটি ফিচার মডিউলের ম্যানিফেস্টে অবশ্যই dist:instant="true" সেট করতে হবে। dist:on-demand প্রপার্টিটি ব্যবহার করা উচিত নয়; এটি মূলত ইনস্টল করা APK-এর অন-ডিমান্ড মডিউলগুলোর জন্য ব্যবহৃত হয়। এছাড়াও, মডিউলটিতে কোড থাকুক বা না থাকুক, প্রতিটি ফিচার মডিউলকে অবশ্যই ইনস্ট্যান্ট APK-এর ১৫ মেগাবাইট সীমার মধ্যে থাকতে হবে। প্রতিটি মডিউলকে এই সীমার মধ্যে রাখতে ব্যর্থ হলে আলফা বা রিলিজ ট্র্যাকে প্রকাশ করা যাবে না। একবার সঠিকভাবে কনফিগার করা হয়ে গেলে, আপনি PlayCore লাইব্রেরি ব্যবহার করে রানটাইমে ফিচার মডিউলগুলো আনতে পারবেন।

কোকোস ক্রিয়েটর

কোকোস সংস্করণ v2.0.4 থেকে অ্যাসেটের ক্লাউড ডেলিভারি সমর্থন করে আসছে। কোকোস চাহিদা অনুযায়ী অ্যাসেট ডাউনলোড করে এবং সময়মতো অ্যাসেট ডাউনলোড না হলে প্লেসহোল্ডার রেন্ডার করে। কোকোস অ্যাসেট ফাইল তৈরি করে যা অবশ্যই কোনো অনলাইন পরিষেবাতে হোস্ট করতে হবে, কারণ কোকোস নিজস্ব কোনো পরিষেবা প্রদান করে না।

ঐক্য

ইউনিটি গুগল প্লে ইনস্ট্যান্ট প্লাগইনে ইউনিটি ভার্সন ৫.৬, ২০১৭.৪, বা ২০১৮.২-এর জন্য ক্লাউড ডেলিভারি সমর্থিত। ইউনিটির পরবর্তী ভার্সনগুলো ইঞ্জিন স্ট্রিপিং-এর জন্য আরও বেশি সুবিধা প্রদান করে, তাই আরও বেশি জায়গা খালি করার জন্য সেগুলোতে মাইগ্রেট করা লাভজনক হতে পারে। ইউনিটি ক্লাউড অ্যাসেটগুলো AssetBundle ফাইলে হোস্ট করা হয়, যা ইউনিটি আপনার জন্য তৈরি করে। এগুলো একটি ক্লাউড সার্ভারে আপলোড করলে অ্যাসেটগুলোর ক্লাউড ডেলিভারি সক্ষম হয়, কারণ ইউনিটিতে অ্যাসেট বান্ডেল ডাউনলোড করার জন্য সহজাত সমর্থন রয়েছে।

অন্যান্য ইঞ্জিন

আপনি কাস্টম ইঞ্জিন ব্যবহার করুন বা নেটিভ লাইব্রেরির একটি সংগ্রহ, আপনার পছন্দের ইঞ্জিনটিতে হয়তো স্বয়ংক্রিয়ভাবেই ক্লাউড থেকে অ্যাসেট ডাউনলোডের সুবিধা থাকতে পারে। যদি আপনার কাছে ক্লাউড থেকে ডাউনলোড করার মতো যথেষ্ট অ্যাসেট থাকে, তাহলে আপনার গেমের জন্য চাহিদা অনুযায়ী অ্যাসেট ডাউনলোড করার একটি উপায় কোড করতে বা ইন্টিগ্রেট করতে হবে। এক্ষেত্রে শুরু করার জন্য Firebase Hosting বা Firebase Cloud Storage API-গুলো ভালো জায়গা। কিছু ইঞ্জিন সাধারণ HTTPS ফাইল ফেচিং-এর সুবিধাও দেয়, যা আপনার প্রয়োজনের জন্য যথেষ্ট হতে পারে।

হোস্টিং সম্পদ

যদি না আপনি প্লে-এর মাধ্যমে আপনার অ্যাসেটগুলো ডাউনলোড করার জন্য গুগল প্লে অ্যাপ বান্ডেল ব্যবহার করেন, তাহলে আপনাকে আপনার অ্যাসেটগুলো অন্য কোথাও হোস্ট করতে হবে। আপনি আপনার পছন্দমতো যেকোনো সার্ভিসে সেগুলো হোস্ট করতে পারেন, যতক্ষণ পর্যন্ত সেটির একটি যুক্তিসঙ্গত বিশ্বব্যাপী ডিস্ট্রিবিউশন এবং প্রাপ্যতা থাকে। গুগল প্লে গেমস অ্যাপ ব্যবহারকারীরা সারা বিশ্বে খেলে, তাই ক্লাউডে হোস্ট করা অ্যাসেটগুলো যেকোনো স্থানে তাদের কাছে দ্রুত পৌঁছে দেওয়া প্রয়োজন।