একটি বিদ্যমান গেমকে তাত্ক্ষণিক গেমে রূপান্তর করুন

Google Play Instant- এ চালানোর জন্য অ্যাপ্লিকেশানগুলি সেট আপ করার পদক্ষেপগুলি, যেমনটি আপনার প্রথম ঝটপট অ্যাপ তৈরি করুন- এ ব্যাখ্যা করা হয়েছে, গেমগুলিতেও প্রযোজ্য৷ এই নির্দেশিকা গেমগুলির জন্য নির্দিষ্ট কিছু সেটআপ পদক্ষেপের উপর জোর দেয়।

আপনি Unity ( Google Play Instant Unity প্লাগইন সহ বা ছাড়া), Cocos2D , Android Studio বা আপনার নিজস্ব কাস্টম ইঞ্জিন ব্যবহার করে Google Play Instant-এর জন্য গেমগুলি বিকাশ করতে পারেন৷

এই নির্দেশিকাটি অনুমান করে যে আপনি যে ধরণের গেমিং অভিজ্ঞতা প্রদান করতে চান তা আপনি ইতিমধ্যেই জানেন। আপনি যদি উচ্চ-মানের গেম তৈরির জন্য ধারণা এবং সেরা অনুশীলনগুলি দেখতে চান, তাহলে Google Play Instant-এ গেমগুলির জন্য UX সেরা অনুশীলনগুলি পড়ুন।

উপরন্তু, Google Play Instant-এ চলতে পারে এমন একটি গেম প্রকাশ করার আগে, আপনার প্রযুক্তিগত প্রয়োজনীয়তা যাচাই তালিকা পর্যালোচনা করা উচিত।

নিম্নলিখিত অভিপ্রায় ফিল্টার অন্তর্ভুক্ত একটি কার্যকলাপ Google Play তাত্ক্ষণিক অভিজ্ঞতার জন্য এন্ট্রি পয়েন্ট হয়ে ওঠে:

<activity android:name=".GameActivity">
   <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

এই অ্যাক্টিভিটিটি চালু হয় যখন একজন ব্যবহারকারী প্লে স্টোরে এখন চেষ্টা করুন বোতামে ট্যাপ করে বা Google Play Games অ্যাপে ইনস্ট্যান্ট প্লে বোতামে ট্যাপ করে। আপনি ডিপ লিঙ্ক API ব্যবহার করে সরাসরি এই কার্যকলাপটি চালু করতে পারেন।

সঠিক সংস্করণ কোড সংজ্ঞায়িত করুন

আপনার গেমের তাত্ক্ষণিক অভিজ্ঞতার সংস্করণ কোডটি ইনস্টলযোগ্য গেমের সংস্করণ কোডের চেয়ে কম হওয়া দরকার। এইভাবে আপনার অ্যাপের সংস্করণ করা খেলোয়াড়দের Google Play তাত্ক্ষণিক অভিজ্ঞতা থেকে তাদের ডিভাইসে গেমটি ডাউনলোড এবং ইনস্টল করার অনুমতি দেয়৷ অ্যান্ড্রয়েড ফ্রেমওয়ার্ক এই রূপান্তরটিকে একটি অ্যাপ আপডেট বলে মনে করে।

আপনি প্রস্তাবিত সংস্করণ স্কিম অনুসরণ করছেন তা নিশ্চিত করতে, এই কৌশলগুলির মধ্যে একটি অনুসরণ করুন:

  • 1 এ Google Play তাত্ক্ষণিক অভিজ্ঞতার জন্য সংস্করণ কোডগুলি পুনরায় চালু করুন৷
  • আপনার তাত্ক্ষণিক অভিজ্ঞতার সংস্করণ নম্বর বাড়ানোর জন্য পর্যাপ্ত স্থান রয়েছে তা নিশ্চিত করতে 1000 এর মতো একটি বড় সংখ্যা দ্বারা ইনস্টলযোগ্য অ্যাপের সংস্করণ কোড বাড়ান৷

দুটি পৃথক Android স্টুডিও প্রকল্পে আপনার তাত্ক্ষণিক গেম এবং আপনার ইনস্টলযোগ্য গেম বিকাশ করা ঠিক আছে৷ আপনি যদি তা করেন তবে, Google Play-তে আপনার গেমটি প্রকাশ করতে আপনাকে অবশ্যই নিম্নলিখিতগুলি করতে হবে:

  1. উভয় অ্যান্ড্রয়েড স্টুডিও প্রকল্পে একই প্যাকেজ নাম ব্যবহার করুন।
  2. Google Play কনসোলে, একই অ্যাপ্লিকেশনে উভয় ভেরিয়েন্ট আপলোড করুন।

আপনার গেমের সংস্করণ সেট করার বিষয়ে আরও বিশদ বিবরণের জন্য, আপনার অ্যাপের সংস্করণ দেখুন।

মৃত্যুদন্ড পরিবেশন সমর্থন

অন্যান্য অ্যাপের মতো, Google Play Instant-এর গেমগুলি ডিভাইসে সীমিত স্যান্ডবক্সের মধ্যে চলে। এই এক্সিকিউশন এনভায়রনমেন্টকে সমর্থন করার জন্য, নিম্নলিখিত বিভাগে দেখানো ধাপগুলি সম্পূর্ণ করুন।

ক্লিয়ারটেক্সট ট্রাফিক অপ্ট আউট করুন

Google Play Instant-এ গেমগুলি HTTP ট্র্যাফিক সমর্থন করে না৷ যদি আপনার গেমটি Android 9 (API স্তর 28) বা উচ্চতরকে লক্ষ্য করে, তাহলে Android ডিফল্টরূপে আপনার গেমে ক্লিয়ারটেক্সট সমর্থন অক্ষম করে।

যদি আপনার গেমটি Android 8.1 (API লেভেল 27) বা তার নিচের দিকে লক্ষ্য করে, তবে আপনাকে অবশ্যই একটি নেটওয়ার্ক সিকিউরিটি কনফিগ ফাইল তৈরি করতে হবে। এই ফাইলে, নিম্নলিখিত কোড স্নিপেটে দেখানো হিসাবে cleartextTrafficPermitted false এ সেট করুন:

res/xml/network_security_config.xml

<?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 অ্যাট্রিবিউটে ডকুমেন্টেশন দেখুন।

একটি ক্যাশে বা অ্যাপ ডেটা উপস্থিতির উপর নির্ভর করবেন না

তাত্ক্ষণিক অভিজ্ঞতা ক্যাশে সাফ না হওয়া পর্যন্ত আপনার তাত্ক্ষণিক অভিজ্ঞতা ব্যবহারকারীর ডিভাইসে ডাউনলোড করা থাকে, যা নিম্নলিখিত পরিস্থিতিতে ঘটে:

  • ইনস্ট্যান্ট এক্সপেরিয়েন্স ক্যাশে আবর্জনা-সংগ্রহ করা হয় কারণ ডিভাইসে উপলব্ধ মেমরি কম চলছে।
  • ব্যবহারকারী তাদের ডিভাইস পুনরায় আরম্ভ করে.

উভয় প্রক্রিয়া ঘটলে, ব্যবহারকারীকে এটির সাথে ইন্টারঅ্যাক্ট করার জন্য আপনার তাত্ক্ষণিক অভিজ্ঞতা পুনরায় ডাউনলোড করতে হবে।

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

আপনার অ্যাপের আকার কমিয়ে দিন

অন্যান্য ধরনের অ্যাপ থেকে ভিন্ন, Google Play Instant-এ গেমগুলির ডাউনলোড সাইজ সীমা 15 MB । এই আকারের একটি গেম তৈরি করতে, আপনাকে আপনার গেমের যুক্তি রিফ্যাক্টর করতে হতে পারে। এই বিভাগে আপনার গেমের আকার অপ্টিমাইজ করতে সাহায্য করার জন্য কিছু সরঞ্জাম এবং কৌশল বর্ণনা করে।

টুলস

আপনার গেমের আকারে কী অবদান রাখছে তা নির্ধারণ করতে নিম্নলিখিত সরঞ্জামগুলির তালিকা আপনাকে সাহায্য করতে পারে:

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

কৌশল

নিম্নলিখিত কৌশলগুলির একটি তালিকা যা আপনি আপনার গেমের আকার কমাতে ব্যবহার করতে পারেন:

  • আপনার গেমের কিছু যুক্তি বের করুন এবং এটিকে এক বা একাধিক বৈশিষ্ট্য মডিউলে রাখুন, যা আকারের সীমাতে গণনা করে না।
  • আপনার গেমের টেক্সচারের রেজোলিউশন কমিয়ে দিন।
  • WebP ফর্ম্যাট ব্যবহার করার কথা বিবেচনা করুন, বিশেষ করে যদি আপনি GPU-তে আনকমপ্রেসড টেক্সচার ব্যবহার করেন। WebP ফর্ম্যাট এমন ছবি তৈরি করে যেগুলি JPEG ছবির মতো একই মানের কিন্তু 15% থেকে 30% ছোট। যদিও WebP ছবিগুলিকে ডিকম্প্রেস করতে বেশি সময় লাগে, তবুও এই ডিকম্প্রেশন সময়টি আপনার গেমের টেক্সচারের ডাউনলোড সময়ের তুলনায় উল্লেখযোগ্যভাবে কম। Google একটি ওপেন সোর্স গেম ইঞ্জিনে ফর্ম্যাটটিকেও একীভূত করেছে।
  • কম্প্রেস বা শব্দ এবং সঙ্গীত পুনরায় ব্যবহার.
  • আপনার বাইনারি ফাইল ছোট করতে সাহায্য করার জন্য বিভিন্ন সংকলন পতাকা ব্যবহার করুন:
    • -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 তাত্ক্ষণিক অভিজ্ঞতা অপ্টিমাইজ করা কঠিন হতে পারে৷ এই চ্যালেঞ্জ মোকাবেলা করার জন্য, আপনি আপনার গেমটিকে একাধিক APK এ ভাগ করতে পারেন। প্লেয়াররা প্রাথমিক, বেস APK ডাউনলোড করে শুরু করে; তারা খেলার সাথে সাথে, অবশিষ্ট বিভক্ত APKগুলি পটভূমিতে গেমের জন্য উপলব্ধ করা হয়৷

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

UX সর্বোত্তম অনুশীলন গ্রহণ করুন

আপনি আপনার গেমটি কনফিগার করার পরে যাতে এটি তাত্ক্ষণিক অভিজ্ঞতা সমর্থন করে, একটি ভাল ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে নিম্নলিখিত বিভাগে দেখানো যুক্তি যোগ করুন।

64-বিট আর্কিটেকচার সমর্থন করে

Google Play-তে প্রকাশিত অ্যাপগুলিকে 64-বিট আর্কিটেকচার সমর্থন করতে হবে। আপনার অ্যাপের একটি 64-বিট সংস্করণ যোগ করা কার্যক্ষমতার উন্নতি প্রদান করে এবং 64-বিট-কেবল-হার্ডওয়্যার সহ ডিভাইসগুলির জন্য আপনাকে সেট আপ করে৷ 64-বিট সমর্থন সম্পর্কে আরও জানুন

গেমটি তাত্ক্ষণিক অভিজ্ঞতা চলছে কিনা তা পরীক্ষা করুন

যদি আপনার গেমের কিছু যুক্তি নির্ভর করে ব্যবহারকারী আপনার তাত্ক্ষণিক অভিজ্ঞতায় নিযুক্ত কিনা তার উপর, isInstantApp() পদ্ধতিতে কল করুন৷ বর্তমানে চলমান প্রক্রিয়াটি একটি তাত্ক্ষণিক অভিজ্ঞতা হলে এই পদ্ধতিটি true হয়।

এই চেকটি করার মাধ্যমে, আপনি নির্ধারণ করতে পারেন যে আপনার অ্যাপটি সীমিত এক্সিকিউশন পরিবেশের মধ্যে চালানো দরকার নাকি প্ল্যাটফর্ম বৈশিষ্ট্যগুলির সুবিধা নিতে পারে।

একটি ইনস্টলেশন প্রম্পট প্রদর্শন করুন

আপনি যদি একটি ট্রায়াল Google Play তাত্ক্ষণিক অভিজ্ঞতা তৈরি করে থাকেন, কোন সময়ে গেমটি প্লেয়ারকে তাদের ডিভাইসে সম্পূর্ণ সংস্করণ ইনস্টল করার জন্য অনুরোধ করবে। এটি করতে, Android এর জন্য Google API-showInstallPrompt() পদ্ধতি ব্যবহার করুন।

কিভাবে এবং কখন আপনি প্লেয়ারটিকে ইনস্টলেশনের জন্য অনুরোধ করবেন সে সম্পর্কে আরও জানতে, Google Play Instant-এ গেমগুলির জন্য UX সেরা অনুশীলনগুলি দেখুন।

ইনস্টল করা অভিজ্ঞতায় ডেটা স্থানান্তর করুন

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

যদি আপনার গেমটি 2 এর একটি targetSandboxVersion নির্দিষ্ট করে , তাহলে প্লেয়ারের অগ্রগতি স্বয়ংক্রিয়ভাবে আপনার গেমের সম্পূর্ণ সংস্করণে স্থানান্তরিত হয়। অন্যথায়, আপনাকে অবশ্যই প্লেয়ারের অগ্রগতি সম্পর্কিত ডেটা ম্যানুয়ালি স্থানান্তর করতে হবে। এটি করতে, কুকি API - নমুনা অ্যাপ ব্যবহার করুন

অতিরিক্ত সম্পদ

এই অতিরিক্ত সংস্থানগুলি থেকে Google Play Instant সম্পর্কে আরও জানুন:

কোডল্যাব: আপনার প্রথম ইনস্ট্যান্ট অ্যাপ তৈরি করুন
একটি বিদ্যমান অ্যাপে Google Play Instant-এর জন্য সমর্থন যোগ করুন।
কোডল্যাব: একটি মাল্টি-ফিচার ইনস্ট্যান্ট অ্যাপ তৈরি করুন
একটি মাল্টি-ফিচার অ্যাপ মডুলারাইজ করুন।