ইনস্টলার প্রকাশনা

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

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

শুরু করার আগে

আপনার গেমে গুগল প্লে গেমস এসডিকে (SDK) যুক্ত করুন।

আপনার গেমটি একটি WAB ফাইল হিসেবে প্যাকেজ করুন।

পিসিতে গুগল প্লে গেমস ব্যবহার করার জন্য আপনার গেমের ইনস্টলারটিকে একটি উইন্ডোজ অ্যাপ বান্ডেল (WAB) ফাইল হিসেবে গুগল প্লে কনসোলে আপলোড করতে হবে। একটি WAB ফাইল তৈরি করতে, এই ধাপগুলো অনুসরণ করুন:

  1. প্লে পাবলিশিং টুলটি ডাউনলোড করুন। আপনি এই টুলটি উইন্ডোজ কমান্ড লাইন বা পাওয়ারশেলে চালাতে পারেন।

  2. যেকোনো নামে প্লে পাবলিশিং কনফিগারেশন ফাইলটি তৈরি করুন। উদাহরণস্বরূপ, play_publishing_config.xml ফাইলটি নিম্নলিখিত ফরম্যাটে তৈরি করুন:

    <?xml version="1.0" encoding="UTF-8"?>
    <play-publishing-config version="1.0">
      <application>
        <package-name>PACKAGE_NAME</package-name>
        <version-name>VERSION_NAME</version-name>
      </application>
      <installer requiresElevation=INSTALLER_REQUIRES_ELEVATION>
        <path>INSTALLER_PATH</path>
        <installation-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>InstallLocation</value-name>
        </installation-path-registry-location>
      </installer>
      <launcher requiresElevation=LAUNCHER_REQUIRES_ELEVATION>
        <launch-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>InstallLocation</value-name>
        </launch-path-registry-location>
        <executable-invocation>
          <filename>RELATIVE_PATH_TO_LAUNCHER_EXE</filename>
          <arguments>LAUNCHER_ARGS_IF_ANY</arguments>
        </executable-invocation>
      </launcher>
      <uninstaller requiresElevation=UNINSTALLER_REQUIRES_ELEVATION>
        <uninstall-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>UninstallString</value-name>
        </uninstall-path-registry-location>
      </uninstaller>
    </play-publishing-config>

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • PACKAGE_NAME : আপনার গেমের প্যাকেজ নাম। এটি একটি অনন্য শনাক্তকারী যা গুগল প্লে-তে আপনার গেমের সাথে যুক্ত থাকবে। উদাহরণস্বরূপ, com.yourcompany.yourgame । প্যাকেজ নামটি অবশ্যই নিম্নলিখিত নিয়মগুলি মেনে চলতে হবে:
      • এতে অবশ্যই কমপক্ষে দুটি অংশ (এক বা একাধিক বিন্দু) থাকতে হবে।
      • প্রতিটি অংশ অবশ্যই একটি অক্ষর দিয়ে শুরু হতে হবে।
      • সমস্ত অক্ষর অবশ্যই অ্যালফানিউমেরিক বা আন্ডারস্কোর ( [a-zA-Z0-9_] ) হতে হবে।
    • VERSION_NAME : গেমটির ভার্সন স্ট্রিং। এটি যেকোনো স্ট্রিং হতে পারে, কিন্তু আপনার গেমের জন্য আপলোড করা সমস্ত WAB-এর মধ্যে এটি অবশ্যই অনন্য হতে হবে। উদাহরণস্বরূপ: 1.0 , 1.0.1-beta , 2025.11.24 , v1.rc1

      • INSTALLER_REQUIRES_ELEVATION : এটি নির্দেশ করে যে ইনস্টলেশন প্রক্রিয়াটি সম্পন্ন করার জন্য ইনস্টলার এক্সিকিউটেবলটি অ্যাডমিনিস্ট্রেটর হিসেবে চালানোর প্রয়োজন আছে কিনা।

        • 'true' : এক্সিকিউটেবলটি অ্যাডমিনিস্ট্রেটর হিসেবে চালান।
        • 'false' : এক্সিকিউটেবলটি বর্তমান ব্যবহারকারী হিসেবে চালান।
      • INSTALLER_PATH : WAB-এর মধ্যে আপনার ইনস্টলার ফাইলের পাথ। এই পাথটি অ্যাবসোলিউট (absolute) অথবা প্লে পাবলিশিং কনফিগের প্যারেন্ট ডিরেক্টরির সাপেক্ষে রিলেটিভ (relative) হতে পারে। উদাহরণস্বরূপ, path\to\test\installer । আপনার গেমের ইনস্টলার এক্সিকিউটেবল ফাইলটিতে স্বাক্ষর করার জন্য অথেনটিকোড (authenticode) এবং কোড সাইনিং (code signing) ব্যবহার করতে ভুলবেন না।

      • UNIQUE_REGISTRY_PATH : উইন্ডোজ রেজিস্ট্রি কী-এর পাথ। এই পাথটি অবশ্যই HKEY_LOCAL_MACHINE বা HKEY_CURRENT_USER মতো একটি রেজিস্ট্রি হাইভের সাপেক্ষে প্রদান করতে হবে; পাথ স্ট্রিং-এ হাইভের নামটি অন্তর্ভুক্ত করবেন না। উদাহরণস্বরূপ, যদি আপনার ইনস্টলার HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName এ লেখে, তবে শুধুমাত্র Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName উল্লেখ করুন। পিসিতে গুগল প্লে গেমস চালু এবং আনইনস্টল করার জন্য প্রয়োজনীয় ভ্যালুগুলো খুঁজে পেতে একাধিক হাইভের অধীনে এই পাথটি অনুসন্ধান করে।

        INSTALLER_PATH এ নির্দিষ্ট করা এক্সিকিউটেবল ফাইলটিকে অবশ্যই এই রেজিস্ট্রি কীগুলো তৈরি করতে হবে। ইনস্টলেশন সম্পন্ন হওয়ার আগে, installation-path-registry-location , launch-path-registry-location , এবং uninstall-path-registry-location এর অধীনে নির্দিষ্ট করা এই রেজিস্ট্রি-কী এবং ভ্যালু-নেম জোড়াগুলো অবশ্যই তৈরি করতে হবে। যদিও উদাহরণে InstallLocation এবং UninstallString ব্যবহার করা হয়েছে, আপনি এই <value-name> ট্যাগগুলোতে যেকোনো নাম নির্দিষ্ট করতে পারেন, যতক্ষণ পর্যন্ত আপনার ইনস্টলার তিনটির জন্যই সংশ্লিষ্ট রেজিস্ট্রি এন্ট্রি তৈরি করে। পিসিতে গুগল প্লে গেমস গেমটি চালু এবং আনইনস্টল করার জন্য এই ভ্যালুগুলো ব্যবহার করে। যদি আপনার গেম কোনো লঞ্চার ব্যবহার করে, তাহলে এই পাথটিকে অবশ্যই লঞ্চারের ইনস্টলেশন তথ্য ধারণকারী রেজিস্ট্রি কী-এর দিকে নির্দেশ করতে হবে, এবং launch-path-registry-location দ্বারা নির্দিষ্ট করা রেজিস্ট্রি এন্ট্রির ভ্যালুটি অবশ্যই লঞ্চারের ডিরেক্টরির দিকে নির্দেশ করবে।

        ব্যবহারকারীর মেশিনে এই পাথটি অবশ্যই অনন্য হতে হবে। উদাহরণস্বরূপ: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName

        আপনার গেম ইনস্টলারটি যদি 64-বিট উইন্ডোজে চলমান একটি 32-বিট অ্যাপ্লিকেশন হয়, তাহলে উইন্ডোজ HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node অধীনে রেজিস্ট্রি এন্ট্রি লেখার জন্য রেজিস্ট্রি রিডাইরেকশন ব্যবহার করে। উদাহরণস্বরূপ, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName এ লেখার অনুরোধটি HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName এ রিডাইরেক্ট করা হয়।

      • LAUNCHER_REQUIRES_ELEVATION : এটি নির্দেশ করে যে লঞ্চার বা গেম এক্সিকিউটেবলটি প্রতিবার চালু করার সময় অ্যাডমিনিস্ট্রেটর হিসেবে চালাতে হবে কিনা।

        • 'true' : এক্সিকিউটেবলটি অ্যাডমিনিস্ট্রেটর হিসেবে চালান।
        • 'false' : এক্সিকিউটেবলটি বর্তমান ব্যবহারকারী হিসেবে চালান।
      • RELATIVE_PATH_TO_LAUNCHER_EXE পাথ: ইনস্টলেশন ডিরেক্টরির মধ্যে আপনার লঞ্চার বা গেম এক্সিকিউটেবল ফাইলের পাথ। এর সাথে আপনার লঞ্চার বা গেম এক্সিকিউটেবল ফাইলের নামটি অবশ্যই অন্তর্ভুক্ত থাকতে হবে। উদাহরণস্বরূপ, যদি আপনার লঞ্চার বা গেম ফাইলের নাম mygame.exe হয় এবং এটি {INSTALL_DIR}\Resources\mygame.exe-এর অধীনে অবস্থিত থাকে, তাহলে আপনাকে Resources\mygame.exe লিখতে হবে।

      • LAUNCHER_ARGS_IF_ANY : আপনার লঞ্চার বা গেমে পাস করার জন্য প্রয়োজনীয় যেকোনো কমান্ড লাইন আর্গুমেন্ট। এই এন্ট্রিটি ঐচ্ছিক।

        • কোনো এক্সিকিউটেবলের সাথে একাধিক আর্গুমেন্ট যুক্ত থাকলে, সেগুলোকে একটি স্পেস দিয়ে আলাদা করতে হবে।
        • এক্সিকিউটেবলের জন্য প্রয়োজন হলে, আর্গুমেন্টগুলোর শুরুতে একটি '--' বা '-' যোগ করতে হবে।
      • UNINSTALLER_REQUIRES_ELEVATION : এটি নির্দেশ করে যে আনইনস্টলেশন প্রক্রিয়াটি সম্পন্ন করার জন্য আনইনস্টলার এক্সিকিউটেবলটি অ্যাডমিনিস্ট্রেটর হিসেবে চালানোর প্রয়োজন আছে কিনা।

        • 'true' : এক্সিকিউটেবলটি অ্যাডমিনিস্ট্রেটর হিসেবে চালান।
        • 'false' : এক্সিকিউটেবলটি বর্তমান ব্যবহারকারী হিসেবে চালান।

    প্লে পাবলিশিং কনফিগারেশন ফাইলের উদাহরণ

    MyGame নামের একটি গেমের কথা ভাবুন, যার গেম ইনস্টলার হলো game_installer.exe এবং লঞ্চার হলো launcher.exe । উদাহরণটিতে CDATA কীভাবে ব্যবহার করতে হয় তাও দেখানো হয়েছে। play_publishing_config.xml ফাইলটি দেখতে নিচের মতো হবে:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <play-publishing-config version="1.0">
      <application>
        <!-- The package name for your game. -->
        <package-name>com.mycompany.mygame</package-name>
        <!-- The game's version string. -->
        <version-name>1.0.0</version-name>
      </application>
      <!-- If requiresElevation is "true", installer runs as Administrator
           and a UAC prompt is displayed. This is required for system-wide
           installs (e.g., to Program Files) or writing to HKLM. -->
      <installer requiresElevation="true">
        <!-- Path to your installer executable. -->
        <path>game_installer.exe</path>
        <!-- The registry location where the installer writes the installation path. -->
        <installation-path-registry-location>
          <!-- Registry key path (typically under HKLM or HKCU).
               game_installer.exe MUST create this key. -->
          <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey</key-name>
          <!-- game_installer.exe, specified in <path>, creates the registry
               value called 'InstallLocation' within
               SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey
               by the time it exits. -->
          <value-name>InstallLocation</value-name>
        </installation-path-registry-location>
      </installer>
    
      <!-- If requiresElevation is "true", launcher runs as Administrator
           and a UAC prompt is displayed on every game launch. -->
      <launcher requiresElevation="true">
        <!-- Specifies the registry location where Google Play Games reads the installation path
             in order to launch the game. -->
        <launch-path-registry-location >
          <!-- Registry key path (typically under HKLM or HKCU) where
               the launch path can be found. -->
          <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey</key-name>
          <!-- Google Play Games reads the installation directory from this
               registry value, for example InstallLocation, to launch the game. -->
          <value-name>InstallLocation</value-name>
        </launch-path-registry-location>
        <executable-invocation>
          <!-- Game executable or launcher filename, relative to the
               directory path specified in the InstallLocation registry value. -->
          <filename>launcher.exe</filename>
          <!-- Optional arguments to pass to the executable.
               CDATA is used here to avoid issues with special characters
               like & or >. -->
          <arguments><![CDATA[arg1&arg2>arg3]]></arguments>
        </executable-invocation>
      </launcher>
    
      <!-- If requiresElevation is "true", uninstaller runs as
           Administrator and a UAC prompt is displayed for uninstall. -->
      <uninstaller requiresElevation="true">
        <!-- Registry key where Google Play Games finds the
             uninstallation command. -->
        <uninstall-path-registry-location>
          <!-- Registry key path (typically under HKLM or HKCU) where
               uninstall command can be found. -->
          <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey</key-name>
          <!-- game_installer.exe also creates the registry value, for example, 'UninstallString'
               within SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey,
               containing the command Google Play Games executes to uninstall
               the game. -->
          <value-name>UninstallString</value-name>
        </uninstall-path-registry-location>
      </uninstaller>
    </play-publishing-config>
    
  3. উইন্ডোজ কমান্ড লাইন বা পাওয়ারশেলে প্লে পাবলিশিং টুলটি চালান।

    playpublishingtool.exe build-installer-bundle --input=PLAY_PUBLISHING_CONFIG_PATH --output=WAB_OUTPUT_PATH
    

    একই নামের বিদ্যমান WAB ফাইল ওভাররাইট করতে, --force আর্গুমেন্টটি ব্যবহার করুন।

    playpublishingtool.exe build-installer-bundle --input=PLAY_PUBLISHING_CONFIG_PATH --output=WAB_OUTPUT_PATH --force
    

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • PLAY_PUBLISHING_CONFIG_PATH : প্লে পাবলিশিং কনফিগের পাথ। উদাহরণস্বরূপ, path\to\play_publishing_config.xml
    • WAB_OUTPUT_PATH : WAB ফাইলের পাথ। উদাহরণস্বরূপ, path\to\output_bundle.wab

    প্লে পাবলিশিং টুল কীভাবে ব্যবহার করবেন

    ধরে নিন যে আপনার বর্তমান ওয়ার্কিং ডিরেক্টরিতে প্লে পাবলিশিং টুল বাইনারি playpublishingtool.exe , প্লে পাবলিশিং কনফিগ play_publishing_config.xml এবং আপনার গেম ইনস্টলার game_installer.exe রয়েছে।

    আপনার বর্তমান ওয়ার্কিং ডিরেক্টরি দেখতে এইরকম হওয়া উচিত:

    .\
    ├── game_installer.exe
    ├── play_publishing_config.xml
    ├── playpublishingtool.exe
    

    একই ডিরেক্টরিতে, ধরা যাক, installer_bundle.wab নামে একটি WAB ফাইল তৈরি করতে হলে, কমান্ডটি দেখতে হবে এইরকম:

    playpublishingtool.exe build-installer-bundle --input=play_publishing_config.xml --output=installer_bundle.wab
    

    --force আর্গুমেন্টটি ব্যবহার করলে কমান্ডটি দেখতে হবে এইরকম:

    playpublishingtool.exe build-installer-bundle --input=play_publishing_config.xml --output=installer_bundle.wab --force
    

    সফল হলে, আপনি নিম্নলিখিতের অনুরূপ আউটপুট দেখতে পাবেন:

    Successfully built the installer bundle at installer_bundle.wab
    

    ফোল্ডারটিতে WAB ফাইলটি খুঁজুন:

      .\
      ├── game_installer.exe
      ├── installer_bundle.wab
      ├── play_publishing_config.xml
      ├── playpublishingtool.exe
    

প্লে কনসোল ব্যবহার করে গেমটি প্রকাশ করুন।

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

পিসি ফর্ম ফ্যাক্টরে গুগল প্লে গেমস যোগ করুন

এই ধাপটি শুধুমাত্র প্রথমবার গেম প্রকাশ করার সময় প্রয়োজন হয়।

  1. প্লে কনসোলের বাম দিকের মেনুতে, টেস্ট অ্যান্ড রিলিজ > সেটআপ > অ্যাডভান্সড সেটিংস নির্বাচন করুন ( সরাসরি লিঙ্ক )।
  2. ফর্ম ফ্যাক্টর ট্যাবে যান এবং + অ্যাড ফর্ম ফ্যাক্টর ড্রপ-ডাউন থেকে Google Play Games on PC যোগ করুন।

  3. ডানদিকে থাকা ‘Google Play Games on PC ’ ফর্ম ফ্যাক্টরের সাথে সম্পর্কিত ‘Manage’ বোতামটিতে ক্লিক করুন।

  4. আপনার উইন্ডোজ অ্যাপ বান্ডেল গেমের জন্য 'একটি ডেডিকেটেড ট্র্যাক ব্যবহার করুন' বিকল্পটি নির্বাচন করুন।

  5. নিশ্চিতকরণ ডায়ালগ বক্সে সেভ-এ ক্লিক করুন এবং তারপর আবার সেভ করুন

ম্যানেজড পাবলিশিং চালু করুন

ম্যানেজড পাবলিশিং চালু করতে, এই ধাপগুলো অনুসরণ করুন।

  1. পাবলিশিং ওভারভিউ পৃষ্ঠার ম্যানেজড পাবলিশিং বিভাগে, ‘টার্ন অন ম্যানেজড পাবলিশিং’- এ ক্লিক করুন।
  2. একটি ডায়ালগ বক্স আসবে। ট্র্যাকটির জন্য 'ম্যানেজড পাবলিশিং' অপশনটি চালু করুন।
  3. সংরক্ষণ করুন- এ ক্লিক করুন।

WAB ফাইলটি আপলোড করুন

WAB ফাইল আপলোড করতে, এই ধাপগুলো অনুসরণ করুন:

  1. প্লে কনসোলের বাম দিকের মেনুতে, টেস্ট অ্যান্ড রিলিজ > অ্যাডভান্সড সেটিংস নির্বাচন করুন ( সরাসরি লিঙ্ক )।
  2. অ্যাডভান্সড সেটিংস পেজে, ফর্ম ফ্যাক্টরস ট্যাবে ক্লিক করুন।
  3. ফর্ম ফ্যাক্টর ট্যাবে, + অ্যাড ফর্ম ফ্যাক্টর- এ ক্লিক করুন এবং যোগ করার জন্য পিসিতে গুগল প্লে গেমস নির্বাচন করুন।
  4. পিসিতে গুগল প্লে গেমস (Google Play Games on PC) বিভাগে, ম্যানেজ (Manage) এ ক্লিক করুন।
  5. আপনার উইন্ডোজ অ্যাপ বান্ডেল গেমের জন্য একটি ডেডিকেটেড ট্র্যাক ব্যবহার করুন নির্বাচন করুন।
  6. সংরক্ষণ করুন- এ ক্লিক করুন।
  7. প্লে কনসোলের বাম দিকের মেনুতে, টেস্ট অ্যান্ড রিলিজ > প্রোডাকশন নির্বাচন করুন ( সরাসরি লিঙ্ক )।
  8. প্রোডাকশন পেজে, ফর্ম ফ্যাক্টর ড্রপ-ডাউন থেকে শুধুমাত্র পিসিতে (উইন্ডোজ) গুগল প্লে গেমস নির্বাচন করুন।
  9. উইন্ডোজ অ্যাপ বান্ডেল ট্যাবে, এডিট-এ ক্লিক করুন এবং WAB ফাইলটি আপলোড করুন।

উইন্ডোজ পিসির প্রয়োজনীয়তাগুলি কনফিগার করুন

উইন্ডোজ পিসির জন্য প্রয়োজনীয়তাগুলো কনফিগার করতে:

  1. প্লে কনসোলের বাম দিকের মেনুতে, Grow users > Store presence > Store settings নির্বাচন করুন ( সরাসরি লিঙ্ক )।
  2. পিসি রিকোয়ারমেন্টস সেকশনে, ডানদিকে থাকা এডিট বাটনে ক্লিক করুন।
  3. ফিল্ডগুলো আপডেট করুন এবং সেভ-এ ক্লিক করুন।

ইন-অ্যাপ পারচেজ গ্রাফিক কনফিগার করুন

এটি একটি ঐচ্ছিক ধাপ। ইন-অ্যাপ পারচেজ গ্রাফিকটি কনফিগার করতে:

  1. প্লে কনসোলের বাম দিকের মেনুতে, Grow users > Store presence > Store listings ( সরাসরি লিঙ্ক ) নির্বাচন করুন।
  2. লিস্টিংস ট্যাবের ডিফল্ট স্টোর লিস্টিং বিভাগে, ডানদিকে থাকা -> (তীর) বোতামটিতে ক্লিক করুন। এটি আপনাকে ডিফল্ট স্টোর লিস্টিং পৃষ্ঠায় নিয়ে যাবে।
  3. Google Play Games on PC সেকশনে যান এবং Google Play Games on PC (Windows) in-app purchase graphic-এ ছবিটি আপলোড করুন।
  4. সংরক্ষণ করুন- এ ক্লিক করুন।

পর্যালোচনার জন্য পরিবর্তনগুলি পাঠান

  1. প্লে কনসোলের বাম দিকের মেনু থেকে পাবলিশিং ওভারভিউ নির্বাচন করুন।
  2. ‘Changes not yet sent for review’ সেকশনে, ‘Send changes for review’- এ ক্লিক করুন।

রিভিউ টিম আপনার পরিবর্তনগুলো অনুমোদন করলে, আপনার গেমটি গুগল প্লে-তে খুঁজে পাওয়া যাবে।