সতর্কতা: Google Play Instant আর উপলব্ধ থাকবে না। ডিসেম্বর ২০২৫ থেকে, Google Play এর মাধ্যমে Instant Apps প্রকাশ করা যাবে না এবং সমস্ত Google Play পরিষেবা Instant API আর কাজ করবে না। ব্যবহারকারীদের আর কোনও পদ্ধতি ব্যবহার করে Play দ্বারা Instant Apps পরিবেশন করা হবে না।
গুগল প্লে ইনস্ট্যান্ট চালু হওয়ার পর থেকে আমরা ডেভেলপারদের প্রতিক্রিয়া এবং ইকোসিস্টেম উন্নত করার জন্য আমাদের ক্রমাগত বিনিয়োগের ভিত্তিতে এই পরিবর্তনটি করছি।
ব্যবহারকারী বৃদ্ধির জন্য অপ্টিমাইজেশন অব্যাহত রাখার জন্য, আমরা ডেভেলপারদের তাদের নিয়মিত অ্যাপ বা গেমে ব্যবহারকারীদের রেফার করার জন্য উৎসাহিত করি, প্রাসঙ্গিক হলে নির্দিষ্ট ভ্রমণ বা বৈশিষ্ট্যগুলিতে পুনঃনির্দেশিত করার জন্য ডিপলিঙ্ক ব্যবহার করি।
"আপনার প্রথম তাৎক্ষণিক অ্যাপ তৈরি করুন" বিভাগে ব্যাখ্যা করা হয়েছে, গুগল প্লে ইন্সট্যান্টে চালানোর জন্য অ্যাপ সেট আপ করার ধাপগুলি গেমের ক্ষেত্রেও প্রযোজ্য। এই নির্দেশিকাটি গেমগুলির জন্য নির্দিষ্ট কিছু সেটআপ ধাপের উপর জোর দেয়।
আপনি ইউনিটি ( গুগল প্লে ইনস্ট্যান্ট ইউনিটি প্লাগইন সহ বা ছাড়াই), কোকোস২ডি , অ্যান্ড্রয়েড স্টুডিও , অথবা আপনার নিজস্ব কাস্টম ইঞ্জিন ব্যবহার করে গুগল প্লে ইনস্ট্যান্টের জন্য গেম তৈরি করতে পারেন।
এই নির্দেশিকাটি ধরে নিচ্ছে যে আপনি ইতিমধ্যেই জানেন যে আপনি কী ধরণের গেমিং অভিজ্ঞতা প্রদান করতে চান। আপনি যদি উচ্চমানের গেম তৈরির ধারণা এবং সেরা অনুশীলনগুলি দেখতে চান, তাহলে Google Play Instant-এ গেমগুলির জন্য UX সেরা অনুশীলনগুলি পড়ুন।
এছাড়াও, গুগল প্লে ইনস্ট্যান্টে চালানো যায় এমন একটি গেম প্রকাশ করার আগে, আপনার প্রযুক্তিগত প্রয়োজনীয়তার চেকলিস্টটি পর্যালোচনা করা উচিত।
একটি এন্ট্রি পয়েন্ট নির্দিষ্ট করুন
নিম্নলিখিত ইনটেন্ট ফিল্টার সহ একটি কার্যকলাপ Google Play Instant অভিজ্ঞতার জন্য প্রবেশ বিন্দু হয়ে ওঠে:
<activity android:name=".GameActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
এই অ্যাক্টিভিটিটি তখনই চালু হয় যখন একজন ব্যবহারকারী প্লে স্টোরে ' এখন চেষ্টা করুন' বোতামটি অথবা গুগল প্লে গেমস অ্যাপে 'ইনস্ট্যান্ট প্লে ' বোতামটি ট্যাপ করেন। আপনি ডিপ লিঙ্ক API ব্যবহার করে সরাসরি এই অ্যাক্টিভিটিটি চালু করতে পারেন।
সঠিক সংস্করণ কোডগুলি সংজ্ঞায়িত করুন
আপনার গেমের তাৎক্ষণিক অভিজ্ঞতার সংস্করণ কোডটি ইনস্টলযোগ্য গেমের সংস্করণ কোডের চেয়ে কম হওয়া উচিত। এইভাবে আপনার অ্যাপটি সংস্করণ করার মাধ্যমে খেলোয়াড়রা Google Play Instant অভিজ্ঞতা থেকে তাদের ডিভাইসে গেমটি ডাউনলোড এবং ইনস্টল করার দিকে এগিয়ে যেতে পারে। অ্যান্ড্রয়েড ফ্রেমওয়ার্ক এই পরিবর্তনটিকে একটি অ্যাপ আপডেট বলে মনে করে।
প্রস্তাবিত সংস্করণ পরিকল্পনা অনুসরণ করতে, এই কৌশলগুলির মধ্যে একটি অনুসরণ করুন:
- ১-এ Google Play Instant অভিজ্ঞতার জন্য সংস্করণ কোডগুলি পুনরায় চালু করুন।
- আপনার তাৎক্ষণিক অভিজ্ঞতার সংস্করণ নম্বর বাড়ানোর জন্য পর্যাপ্ত জায়গা নিশ্চিত করতে ইনস্টলযোগ্য অ্যাপের সংস্করণ কোডটি 1000 এর মতো একটি বড় সংখ্যায় বৃদ্ধি করুন।
আপনার ইন্সট্যান্ট গেম এবং আপনার ইনস্টলযোগ্য গেম দুটি পৃথক অ্যান্ড্রয়েড স্টুডিও প্রকল্পে ডেভেলপ করা ঠিক আছে। তবে, যদি আপনি তা করেন, তাহলে Google Play তে আপনার গেমটি প্রকাশ করার জন্য আপনাকে নিম্নলিখিতগুলি করতে হবে:
- উভয় অ্যান্ড্রয়েড স্টুডিও প্রকল্পে একই প্যাকেজ নাম ব্যবহার করুন।
- গুগল প্লে কনসোলে, উভয় ভেরিয়েন্ট একই অ্যাপ্লিকেশনে আপলোড করুন।
আপনার গেমের সংস্করণ সেট করার বিষয়ে আরও তথ্যের জন্য, আপনার অ্যাপের সংস্করণ দেখুন।
কার্যকরকরণ পরিবেশকে সমর্থন করুন
অন্যান্য অ্যাপের মতো, গুগল প্লে ইনস্ট্যান্টের গেমগুলি ডিভাইসের সীমিত স্যান্ডবক্সের মধ্যে চলে। এই এক্সিকিউশন পরিবেশ সমর্থন করার জন্য, নিম্নলিখিত বিভাগগুলিতে দেখানো পদক্ষেপগুলি সম্পূর্ণ করুন।
ক্লিয়ারটেক্সট ট্র্যাফিক থেকে বেরিয়ে আসুন
গুগল প্লে ইনস্ট্যান্টের গেমগুলি HTTP ট্র্যাফিক সমর্থন করে না। যদি আপনার গেমটি অ্যান্ড্রয়েড 9 (এপিআই লেভেল 28) বা তার বেশি সংস্করণের জন্য তৈরি হয়, তাহলে অ্যান্ড্রয়েড ডিফল্টরূপে আপনার গেমে ক্লিয়ারটেক্সট সাপোর্ট অক্ষম করে।
যদি আপনার গেমটি অ্যান্ড্রয়েড ৮.১ (এপিআই লেভেল ২৭) বা তার নিচের ভার্সনের জন্য তৈরি হয়, তাহলে আপনাকে অবশ্যই একটি নেটওয়ার্ক সিকিউরিটি কনফিগ ফাইল তৈরি করতে হবে। এই ফাইলে, cleartextTrafficPermitted কে false তে সেট করুন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:
রেজ/এক্সএমএল/নেটওয়ার্ক_সিকিউরিটি_কনফিগ.এক্সএমএল
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">secure.example.com</domain> </domain-config> </network-security-config>
লক্ষ্য স্যান্ডবক্স সংস্করণ আপডেট করুন
আপনার ইনস্ট্যান্ট গেমের AndroidManifest.xml ফাইলটি আপডেট করুন যাতে এটি Google Play Instant সমর্থন করে এমন স্যান্ডবক্স পরিবেশকে লক্ষ্য করে। আপনি আপনার গেমের <manifest> এলিমেন্টে android:targetSandboxVersion অ্যাট্রিবিউট যোগ করে এই আপডেটটি সম্পূর্ণ করতে পারেন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
...
android:targetSandboxVersion="2" ...>
আরও তথ্যের জন্য, targetSandboxVersion অ্যাট্রিবিউটের ডকুমেন্টেশন দেখুন।
ক্যাশে বা অ্যাপ ডেটার উপস্থিতির উপর নির্ভর করবেন না।
আপনার তাৎক্ষণিক অভিজ্ঞতা ব্যবহারকারীর ডিভাইসে ডাউনলোড করা থাকে যতক্ষণ না তাৎক্ষণিক অভিজ্ঞতা ক্যাশে সাফ করা হয়, যা নিম্নলিখিত পরিস্থিতিতে ঘটে:
- ডিভাইসটিতে উপলব্ধ মেমোরি কম থাকায় তাৎক্ষণিক অভিজ্ঞতা ক্যাশে আবর্জনা সংগ্রহ করা হচ্ছে।
- ব্যবহারকারী তাদের ডিভাইসটি পুনরায় চালু করে।
যদি এই দুটি প্রক্রিয়ার মধ্যে কোনটি ঘটে, তাহলে ব্যবহারকারীকে আপনার তাৎক্ষণিক অভিজ্ঞতা পুনরায় ডাউনলোড করতে হবে যাতে তারা এর সাথে ইন্টারঅ্যাক্ট করতে পারে।
যদি সিস্টেমে স্টোরেজ স্পেস খুব কম থাকে, তাহলে আপনার তাৎক্ষণিক অভিজ্ঞতার ব্যবহারকারীর ডেটা অভ্যন্তরীণ স্টোরেজ থেকে সরানো হতে পারে। অতএব, ব্যবহারকারীর অগ্রগতি সংরক্ষণের জন্য পর্যায়ক্রমে আপনার গেমের সার্ভারের সাথে ব্যবহারকারীর ডেটা সিঙ্ক করার পরামর্শ দেওয়া হচ্ছে।
আপনার অ্যাপের আকার কমান
অন্যান্য ধরণের অ্যাপের মতো নয়, গুগল প্লে ইনস্ট্যান্টে গেমগুলির ডাউনলোডের আকার সীমা ১৫ এমবি । এই আকারের একটি গেম তৈরি করতে, আপনাকে আপনার গেমের লজিক রিফ্যাক্টর করতে হতে পারে। এই বিভাগে আপনার গেমের আকার অপ্টিমাইজ করার জন্য কিছু সরঞ্জাম এবং কৌশল বর্ণনা করা হয়েছে।
যন্ত্র
আপনার গেমের আকারে কী অবদান রাখছে তা নির্ধারণ করতে নিম্নলিখিত সরঞ্জামগুলির তালিকা আপনাকে সাহায্য করতে পারে:
- APK বিশ্লেষক : একটি সংকলিত APK-এর বিষয়বস্তুর একটি সামগ্রিক দৃশ্য প্রদান করে। এই দৃশ্য ব্যবহার করে, আপনি প্রতিটি উপাদান সামগ্রিক আকারে কত বাইটের অবদান রাখছে তা নির্ধারণ করতে পারেন। আপনার গেমটি যে রিসোর্স, সম্পদ, লজিক এবং নেটিভ লাইব্রেরি ব্যবহার করছে তার আকার দ্রুত পরীক্ষা করতে এই সরঞ্জামটি ব্যবহার করুন।
- ব্লোটি ম্যাকব্লোটফেস : বাইনারি ফাইলের আকার প্রোফাইল দেখায়।
- অ্যান্ড্রয়েড জিপিইউ ইন্সপেক্টর : আপনার গেমটি পুনরায় কম্পাইল না করেই টেক্সচারের আকার হ্রাস করার ফাইলের আকারের প্রভাব দেখুন।
কৌশল
আপনার খেলার আকার কমাতে আপনি যে কৌশলগুলি ব্যবহার করতে পারেন তার একটি তালিকা নিচে দেওয়া হল:
- আপনার গেমের কিছু লজিক বের করুন এবং এটিকে এক বা একাধিক ফিচার মডিউলে রাখুন, যা আকার সীমার মধ্যে গণনা করা হয় না।
- আপনার গেমের টেক্সচারের রেজোলিউশন কমিয়ে দিন।
- WebP ফর্ম্যাট ব্যবহার করার কথা বিবেচনা করুন, বিশেষ করে যদি আপনি GPU তে আনকম্প্রেসড টেক্সচার ব্যবহার করেন। WebP ফর্ম্যাট এমন ছবি তৈরি করে যা JPEG ছবির মতোই মানের কিন্তু 15% থেকে 30% ছোট। যদিও WebP ছবি ডিকম্প্রেস করতে বেশি সময় লাগে, তবুও এই ডিকম্প্রেসড সময় আপনার গেমের টেক্সচারের ডাউনলোড সময়ের তুলনায় উল্লেখযোগ্যভাবে কম। গুগল এই ফর্ম্যাটটিকে একটি ওপেন সোর্স গেম ইঞ্জিনেও একীভূত করেছে।
- শব্দ এবং সঙ্গীত সংকুচিত করুন বা পুনরায় ব্যবহার করুন।
- আপনার বাইনারি ফাইলটি ছোট করতে বিভিন্ন সংকলন পতাকা ব্যবহার করুন:
-
-fvisibility=hidden– সবচেয়ে গুরুত্বপূর্ণ।cmakeতে, আপনি এটি নিম্নরূপে নির্দিষ্ট করতে পারেন:$ set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)
-Oz– আকার কমানোর জন্যও গুরুত্বপূর্ণ। যদি আপনিgccব্যবহার করে কম্পাইল করেন, তাহলে-Osব্যবহার করুন।-
-flto– কখনও কখনও ফাইলের আকার হ্রাস করে। - লিঙ্কার ফ্ল্যাগ - কম্পাইলার ফ্ল্যাগের সাথে
--gc-sectionsব্যবহার করুন, যেমন-ffunction-sectionsএবং-fdata-sections।
-
- আপনার কোড এবং রিসোর্স সঙ্কুচিত করতে Proguard ব্যবহার করুন।
- ছোট DEX ফাইল তৈরি করতে Gradle 4.4 বা উচ্চতর সংস্করণ ব্যবহার করুন।
- সম্পদের ক্লাউড ডেলিভারি বাস্তবায়ন করুন।
একটি বড় গেমকে একাধিক APK-তে ভাগ করুন
APK সাইজ কমানোর সুপারিশগুলি প্রয়োগ করার পরেও, আপনার গেমটিকে একটি মাত্র 15 MB APK-তে ফিট করার জন্য Google Play Instant অভিজ্ঞতা অপ্টিমাইজ করা কঠিন হতে পারে। এই চ্যালেঞ্জ মোকাবেলা করার জন্য, আপনি আপনার গেমটিকে একাধিক APK-তে ভাগ করতে পারেন। খেলোয়াড়রা প্রাথমিক, বেস APK ডাউনলোড করে শুরু করে; খেলার সাথে সাথে, বাকি বিভক্ত APKগুলি ব্যাকগ্রাউন্ডে গেমটিতে উপলব্ধ করা হয়।
উদাহরণস্বরূপ, বেস APK-তে মূল গেম ইঞ্জিন এবং লোডিং স্ক্রিন প্রদর্শনের জন্য প্রয়োজনীয় সম্পদ থাকতে পারে। বেস APK চালু হওয়ার সাথে সাথে, এটি লোডিং স্ক্রিন প্রদর্শন করে এবং তাৎক্ষণিকভাবে একটি অতিরিক্ত স্প্লিট APK অনুরোধ করে যাতে গেম এবং লেভেল ডেটা থাকে। সেই স্প্লিট APK উপলব্ধ হওয়ার পরে, এটি তার সম্পদগুলি গেম ইঞ্জিনে লোড করতে পারে এবং খেলোয়াড়কে গেম শুরু করার জন্য প্রয়োজনীয় সামগ্রী দিতে পারে।
UX সেরা অনুশীলন গ্রহণ করুন
আপনার গেমটি এমনভাবে কনফিগার করার পরে যাতে এটি তাৎক্ষণিক অভিজ্ঞতা সমর্থন করে, একটি ভালো ব্যবহারকারীর অভিজ্ঞতা প্রদানের জন্য নিম্নলিখিত বিভাগগুলিতে দেখানো লজিক যোগ করুন।
৬৪-বিট আর্কিটেকচার সমর্থন করে
গুগল প্লেতে প্রকাশিত অ্যাপগুলিকে ৬৪-বিট আর্কিটেকচার সমর্থন করতে হবে। আপনার অ্যাপের ৬৪-বিট সংস্করণ যোগ করলে কর্মক্ষমতা উন্নত হয় এবং আপনাকে ৬৪-বিট-কেবল হার্ডওয়্যার সহ ডিভাইসগুলির জন্য প্রস্তুত করে। ৬৪-বিট সমর্থন সম্পর্কে আরও জানুন ।
গেমটি তাৎক্ষণিক অভিজ্ঞতার সাথে চলছে কিনা তা পরীক্ষা করুন।
যদি আপনার গেমের কিছু যুক্তি ব্যবহারকারী আপনার তাৎক্ষণিক অভিজ্ঞতায় নিয়োজিত কিনা তার উপর নির্ভর করে, তাহলে isInstantApp() পদ্ধতিটি কল করুন। বর্তমানে চলমান প্রক্রিয়াটি তাৎক্ষণিক অভিজ্ঞতা হলে এই পদ্ধতিটি true ফেরত পাঠায়।
এই চেকটি করে, আপনি নির্ধারণ করতে পারবেন যে আপনার অ্যাপটি সীমিত এক্সিকিউশন পরিবেশের মধ্যে চালানোর প্রয়োজন কিনা অথবা প্ল্যাটফর্ম বৈশিষ্ট্যগুলির সুবিধা নিতে পারে কিনা।
একটি ইনস্টলেশন প্রম্পট প্রদর্শন করুন
যদি আপনি একটি পরীক্ষামূলক Google Play Instant অভিজ্ঞতা তৈরি করে থাকেন, তাহলে কোনও এক সময় গেমটি খেলোয়াড়কে তাদের ডিভাইসে সম্পূর্ণ সংস্করণটি ইনস্টল করতে বলবে। এটি করার জন্য, Android এর জন্য Google API গুলিতে showInstallPrompt() পদ্ধতিটি ব্যবহার করুন।
প্লেয়ারকে কখন এবং কীভাবে ইনস্টলেশনের জন্য অনুরোধ করা উচিত সে সম্পর্কে আরও জানতে, Google Play Instant-এ গেমের জন্য UX সেরা অনুশীলনগুলি দেখুন।
একটি ইনস্টল করা অভিজ্ঞতায় ডেটা স্থানান্তর করুন
যদি কোনও খেলোয়াড় আপনার ট্রায়াল অভিজ্ঞতা উপভোগ করে, তাহলে তারা আপনার গেমের সম্পূর্ণ সংস্করণ ইনস্টল করার সিদ্ধান্ত নিতে পারে। একটি ভাল ব্যবহারকারীর অভিজ্ঞতা প্রদানের জন্য, খেলোয়াড়ের অগ্রগতি আপনার তাৎক্ষণিক অভিজ্ঞতা থেকে আপনার গেমের সম্পূর্ণ সংস্করণে স্থানান্তরিত করা গুরুত্বপূর্ণ।
যদি আপনার গেমটি targetSandboxVersion 2 নির্দিষ্ট করে , তাহলে খেলোয়াড়ের অগ্রগতি স্বয়ংক্রিয়ভাবে আপনার গেমের সম্পূর্ণ সংস্করণে স্থানান্তরিত হবে। অন্যথায়, আপনাকে খেলোয়াড়ের অগ্রগতি সম্পর্কিত ডেটা ম্যানুয়ালি স্থানান্তর করতে হবে। এটি করতে, Cookie API - নমুনা অ্যাপ ব্যবহার করুন।
অতিরিক্ত সম্পদ
এই অতিরিক্ত রিসোর্সগুলি থেকে Google Play Instant সম্পর্কে আরও জানুন:
- কোডল্যাব: আপনার প্রথম ইনস্ট্যান্ট অ্যাপ তৈরি করুন
- একটি বিদ্যমান অ্যাপে Google Play Instant-এর জন্য সমর্থন যোগ করুন।
- কোডল্যাব: একটি মাল্টি-ফিচার ইনস্ট্যান্ট অ্যাপ তৈরি করুন
- একটি বহু-বৈশিষ্ট্যযুক্ত অ্যাপ মডিউলারাইজ করুন।