Unity এর জন্য Google Play Games প্লাগইন দিয়ে শুরু করুন

এই বিষয়টি বর্ণনা করে যে কীভাবে আপনার ইউনিটি প্রোজেক্ট সেট আপ করতে হয় তার জন্য Google Play Games প্লাগইন ব্যবহার করতে। কাজগুলির মধ্যে রয়েছে প্রকল্প সেট আপ করা, একটি সামাজিক প্ল্যাটফর্ম বেছে নেওয়া এবং প্লেয়ার সাইন-ইন সেট আপ করা।

আপনি শুরু করার আগে

প্লাগইন ইনস্টলেশন

  1. এই বিকল্পগুলির মধ্যে একটি ব্যবহার করে প্লাগইন পান:

    • আপনার ফাইল সিস্টেমে GitHub রেপো ক্লোন করুন।

    • জিপ ফাইল হিসাবে গিটহাব রেপো ডাউনলোড করুন এবং তারপরে এটি আনপ্যাক করুন।

  2. current-build ডিরেক্টরিতে unitypackage ফাইলটি খুঁজুন। এই ফাইলটি প্লাগইন। উদাহরণস্বরূপ, এটি নিম্নলিখিত অনুরূপ দেখতে হবে:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    
  3. ইউনিটিতে আপনার গেম প্রজেক্ট খুলুন।

  4. সম্পদ > আমদানি প্যাকেজ > কাস্টম প্যাকেজ মেনু আইটেমে ক্লিক করে unitypackage ফাইলটি আপনার প্রকল্পের সম্পদে আমদানি করুন।

  5. নিশ্চিত করুন যে আপনার বর্তমান বিল্ড প্ল্যাটফর্ম Android- এ সেট করা আছে।

    1. প্রধান মেনুতে, ফাইল > বিল্ড সেটিংস… এ ক্লিক করুন।

    2. অ্যান্ড্রয়েড নির্বাচন করুন এবং স্যুইচ প্ল্যাটফর্মে ক্লিক করুন।

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

Play Console থেকে Android রিসোর্স পান

আপনি Play Console-এ তৈরি প্রতিটি অর্জন, লিডারবোর্ড এবং ইভেন্টের মধ্যে একটি Android রিসোর্স রয়েছে যা আপনি আপনার Unity প্রোজেক্ট সেট আপ করার সময় ব্যবহার করেন।

  1. আপনার গেমের জন্য Android সম্পদ পান।

    1. Play Console-এ, আপনার গেমের জন্য Play Games Services প্রজেক্ট খুলুন।

    2. অ্যাচিভমেন্ট ট্যাবে ক্লিক করুন এবং তারপর রিসোর্স পান ক্লিক করুন।

    3. এক্সপোর্ট রিসোর্স উইন্ডোতে, অ্যান্ড্রয়েড ট্যাবে ক্লিক করুন।

    4. XML বিষয়বস্তু নির্বাচন করুন এবং অনুলিপি করুন।

আপনার ইউনিটি প্রকল্প সেট আপ করুন

  1. আপনার ইউনিটি প্রোজেক্টে অ্যান্ড্রয়েড রিসোর্স যোগ করুন।

    1. ইউনিটিতে, ** উইন্ডো > গুগল প্লে গেমস > সেটআপ... > অ্যান্ড্রয়েড সেটআপ ** এ ক্লিক করুন।

    2. সেটআপ উইন্ডোতে এই আইটেমগুলি সম্পূর্ণ করুন:

    3. ধ্রুবক সংরক্ষণের ডিরেক্টরি : ধ্রুবক ফাইলের ফোল্ডার।

    4. ধ্রুবক শ্রেণীর নাম : নামস্থান সহ তৈরি করা C# ক্লাসের নাম।

    5. সম্পদের সংজ্ঞা : Play Console থেকে Android রিসোর্স ডেটা এখানে পেস্ট করুন।

    6. ওয়েব ক্লায়েন্ট আইডি : লিঙ্ক করা ওয়েব অ্যাপের ক্লায়েন্ট আইডি। আপনার যদি আপনার গেমের জন্য একটি ওয়েব-ভিত্তিক ব্যাকএন্ড থাকে এবং ব্যাকএন্ড সার্ভারের দ্বারা একটি অ্যাক্সেস টোকেনের বিনিময়ের জন্য একটি সার্ভার প্রমাণীকরণ কোডের প্রয়োজন হয়, অথবা অন্য নন-গেম API কল করার জন্য আপনার যদি প্লেয়ারের জন্য একটি আইডি টোকেনের প্রয়োজন হয় তবেই এটি প্রয়োজন। .

    7. সেটআপ এ ক্লিক করুন। এটি আপনার গেমটিকে ক্লায়েন্ট আইডি দিয়ে কনফিগার করে এবং একটি C# ক্লাস তৈরি করে যাতে আপনার প্রতিটি অ্যান্ড্রয়েড রিসোর্সের জন্য ধ্রুবক থাকে।

অ্যান্ড্রয়েড সেটআপ

ইউনিটিতে আপনার Android SDK ইনস্টলেশনের পথ সেট আপ করুন। এটি এক্সটার্নাল টুলস বিভাগের অধীনে পছন্দের মেনুতে অবস্থিত।

অ্যান্ড্রয়েডে গুগল প্লে গেমসের সাথে আপনার ইউনিটি গেমটি চালানোর জন্য কনফিগার করতে, প্রথমে অ্যান্ড্রয়েড SDK ম্যানেজার খুলুন এবং যাচাই করুন যে আপনি নিম্নলিখিত প্যাকেজগুলি ডাউনলোড করেছেন৷ আপনি Android স্টুডিও থেকে SDK ম্যানেজার ব্যবহার করছেন বা স্বতন্ত্র SDK ম্যানেজার ব্যবহার করছেন তার উপর নির্ভর করে, উপাদানগুলির নাম ভিন্ন হতে পারে। - গুগল প্লে পরিষেবা - অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি - সাপোর্ট লাইব্রেরির জন্য স্থানীয় মাভেন রিপোজিটরি (অ্যান্ড্রয়েড সাপোর্ট রিপোজিটরি নামেও পরিচিত) - গুগল রিপোজিটরি - অ্যান্ড্রয়েড 6.0 (এপিআই 23) (এটি ন্যূনতম SDK সংস্করণকে প্রভাবিত করে না)।

এরপরে, আপনার গেমের প্যাকেজের নাম কনফিগার করুন। এটি করার জন্য, ফাইল > বিল্ড সেটিংস এ ক্লিক করুন, অ্যান্ড্রয়েড প্ল্যাটফর্ম নির্বাচন করুন এবং ইউনিটির প্লেয়ার সেটিংস উইন্ডো দেখাতে প্লেয়ার সেটিংসে ক্লিক করুন। সেই উইন্ডোতে, অন্যান্য সেটিংসের অধীনে বান্ডেল শনাক্তকারী সেটিংসটি সন্ধান করুন। সেখানে আপনার প্যাকেজের নাম লিখুন (উদাহরণস্বরূপ com.example.my.awesome.game )।

প্লে গেম পরিষেবাগুলিতে সাইন ইন করার জন্য, আপনাকে আপনার APK ফাইলে সাইন ইন করতে হবে, নিশ্চিত করুন যে আপনি সঠিক শংসাপত্র দিয়ে সাইন ইন করছেন, অর্থাৎ, যেটি SHA1 শংসাপত্রের ফিঙ্গারপ্রিন্টের সাথে মিলে যা আপনি বিকাশকারী কনসোলে প্রবেশ করেছিলেন সেটআপ

এরপরে, উইন্ডোতে ক্লিক করুন |Google Play Games|Setup - Android সেটআপ মেনু আইটেম৷ এটি অ্যান্ড্রয়েড সেটআপ স্ক্রিন প্রদর্শন করবে।

ধ্রুবক শ্রেণীর নাম লিখুন। এটি সম্পূর্ণরূপে যোগ্য শ্রেণীর নাম যা আপডেট করা হবে (বা তৈরি করা হবে) যাতে গেমের সংস্থানগুলির আইডি রয়েছে৷ নামের বিন্যাস হল <namespace>.<classname> । উদাহরণস্বরূপ, AwesomeGame.GPGSIds

সম্পদ সংজ্ঞা তথ্য আটকান. এটি হল Google Play ডেভেলপার কনসোলের XML ডেটা যাতে রিসোর্স আইডিগুলির পাশাপাশি Android-এর জন্য অ্যাপ্লিকেশন আইডিও রয়েছে৷

Google Play ডেভেলপার কনসোলে যেকোনও রিসোর্স পৃষ্ঠায় (যেমন অ্যাচিভমেন্টস বা লিডারবোর্ড) "রিসোর্স পান" এ ক্লিক করে Android এ ক্লিক করে এই ডেটা পাওয়া যায়।

পাঠ্য এলাকায় ডেটা পেস্ট করার পরে, সেটআপ বোতামে ক্লিক করুন।

দ্রষ্টব্য: আপনি যদি আপনার গেমের সাথে একটি ওয়েব অ্যাপ্লিকেশন বা ব্যাকএন্ড সার্ভার ব্যবহার করেন, আপনি প্লেয়ারের আইডি টোকেন এবং/অথবা ইমেল ঠিকানা পেতে সক্ষম করতে গেমটিতে ওয়েব অ্যাপ্লিকেশনটিকে লিঙ্ক করতে পারেন। এটি করার জন্য, Google Play বিকাশকারী কনসোলে একটি ওয়েব অ্যাপ্লিকেশনটিকে গেমের সাথে লিঙ্ক করুন এবং সেটআপ ডায়ালগে ওয়েব অ্যাপ্লিকেশনটির জন্য ক্লায়েন্ট আইডি প্রবেশ করান৷

উইন্ডোজে অ্যান্ড্রয়েড তৈরির জন্য অতিরিক্ত নির্দেশাবলী

আপনি যদি উইন্ডোজ ব্যবহার করেন তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার জাভা SDK ইনস্টলেশন ইউনিটি দ্বারা অ্যাক্সেস করা যেতে পারে। এটি করতে:

  1. JAVA_HOME এনভায়রনমেন্ট ভেরিয়েবল আপনার Java SDK ইনস্টলেশন পাথে সেট করুন (উদাহরণস্বরূপ, C:\Program Files\Java\jdk1.7.0_45 )।
  2. আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলে Java SDK এর bin ফোল্ডার যোগ করুন (উদাহরণস্বরূপ, C:\Program Files\Java\jdk1.7.0_45\bin )
  3. রিবুট করুন।

এনভায়রনমেন্ট ভেরিয়েবল কিভাবে এডিট করবেন: Windows 2000/XP/Vista/7-এ, My Computer-এ রাইট-ক্লিক করুন, তারপর Properties- এ যান, তারপর Advanced System Properties (বা System Properties এবং তারপর Advanced ট্যাবে ক্লিক করুন), তারপর Environment Variables-এ ক্লিক করুন। Windows 8 এ, Windows Key + W টিপুন এবং এনভায়রনমেন্ট ভেরিয়েবল অনুসন্ধান করুন আরও তথ্যের জন্য, আপনার Windows এর সংস্করণের জন্য ডকুমেন্টেশন দেখুন।

প্রকল্প চালান

আপনি যদি Smoketest নমুনার সাথে কাজ করেন, তাহলে আপনি এই সময়ে প্রকল্পটি তৈরি করতে এবং চালাতে সক্ষম হবেন। Smoketest শুরু হলে আপনি স্বয়ংক্রিয়ভাবে সাইন-ইন করার প্রচেষ্টা দেখতে পাবেন।

অ্যান্ড্রয়েডে তৈরি এবং চালানোর জন্য, ফাইল > বিল্ড সেটিংসে ক্লিক করুন, অ্যান্ড্রয়েড প্ল্যাটফর্ম নির্বাচন করুন, তারপর প্ল্যাটফর্মে স্যুইচ করুন , তারপরে বিল্ড অ্যান্ড রান করুন

একটি সামাজিক প্ল্যাটফর্ম চয়ন করুন

Google Play Games প্লাগইন ইউনিটির সোশ্যাল ইন্টারফেস প্রয়োগ করে, গেমগুলির সাথে সামঞ্জস্যের জন্য যা ইতিমধ্যেই অন্যান্য প্ল্যাটফর্মের সাথে একীভূত হওয়ার সময় সেই ইন্টারফেসটি ব্যবহার করে৷ যাইহোক, কিছু বৈশিষ্ট্য প্লে গেমগুলির জন্য অনন্য এবং ইউনিটি দ্বারা প্রদত্ত স্ট্যান্ডার্ড সোশ্যাল ইন্টারফেসের এক্সটেনশন হিসাবে অফার করা হয়।

স্ট্যান্ডার্ড API কলগুলি Social.Active অবজেক্টের মাধ্যমে অ্যাক্সেস করা যেতে পারে, যা একটি ISocialPlatform ইন্টারফেসের একটি রেফারেন্স। অ-মানক Google Play গেমস এক্সটেনশনগুলিকে PlayGamesPlatform ক্লাসে Social.Active অবজেক্ট কাস্ট করে অ্যাক্সেস করা যেতে পারে, যেখানে অতিরিক্ত পদ্ধতিগুলি উপলব্ধ।

ডিফল্ট সামাজিক প্ল্যাটফর্ম ওভাররাইড ছাড়া প্লাগইন ব্যবহার করুন

আপনি যখন PlayGamesPlatform.Activate কল করেন, তখন Google Play গেমগুলি আপনার ডিফল্ট সামাজিক প্ল্যাটফর্ম বাস্তবায়নে পরিণত হয়, যার মানে হল Social এবং Social.Active পদ্ধতিতে স্ট্যাটিক কলগুলি Google Play গেম প্লাগইন দ্বারা পরিচালিত হবে৷ প্লাগইন ব্যবহার করে বেশিরভাগ গেমের জন্য এটি পছন্দসই আচরণ।

যাইহোক, যদি কোনো কারণে আপনি ডিফল্ট বাস্তবায়ন অ্যাক্সেসযোগ্য রাখতে চান (উদাহরণস্বরূপ, একটি ভিন্ন সামাজিক প্ল্যাটফর্মে অর্জন এবং লিডারবোর্ড জমা দেওয়ার জন্য এটি ব্যবহার করতে), আপনি ডিফল্টটিকে ওভাররাইড না করে Google Play Games প্লাগইন ব্যবহার করতে পারেন। এটি করতে:

  1. PlayGamesPlatform.Activate কল করবেন না। সক্রিয় করুন
  2. যদি Xyz একটি পদ্ধতির নাম হয় যা আপনি Social ক্লাসে কল করতে চান, তাহলে Social.Xyz কল করবেন না। পরিবর্তে, PlayGamesPlatform.Instance.Xyz কল করুন
  3. Google Play Games এর সাথে ইন্টারঅ্যাক্ট করার সময় Social.Active ব্যবহার করবেন না। পরিবর্তে, PlayGamesPlatform.Instance ব্যবহার করুন।

এইভাবে, আপনি এমনকি দুই বা ততোধিক সামাজিক প্ল্যাটফর্মে একসাথে স্কোর এবং অর্জন জমা দিতে পারেন:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

সাইন-ইন পরিষেবা যাচাই করুন

আপনার গেম খোলা হলে সাইন-ইন পরিষেবা ব্যবহার করে প্লে গেম পরিষেবাগুলির একটি সংযোগ স্বয়ংক্রিয়ভাবে চেষ্টা করা হয়৷ সংযোগটি সফল হলে, আপনার গেমটি একটি সাইন-ইন প্রম্পট প্রদর্শন করে এবং ইউনিটির জন্য Google Play গেম প্লাগইন ব্যবহার করার জন্য প্রস্তুত৷

যদি কোনো ব্যবহারকারী তাদের ডিভাইসে Google Play Games ব্যবহার না করে থাকেন, তাহলে একটি Play Games অ্যাকাউন্ট তৈরি করতে তাদের স্বয়ংক্রিয়ভাবে এক-কালীন সেটআপ স্ক্রীনের মাধ্যমে নেওয়া হয়।

আপনার স্ক্রিপ্টের Start পদ্ধতিতে, স্বয়ংক্রিয় সাইন-ইন প্রচেষ্টার ফলাফল শুনুন, প্রমাণীকরণের স্থিতি আনুন এবং ব্যবহারকারী সাইন ইন না করলে প্লে গেম পরিষেবা বৈশিষ্ট্যগুলি অক্ষম করুন৷

    using GooglePlayGames;

    public void Start() {
      PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
    }

    internal void ProcessAuthentication(SignInStatus status) {
      if (status == SignInStatus.Success) {
        // Continue with Play Games Services
      } else {
        // Disable your integration with Play Games Services or show a login button
        // to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
      }
    }
}

ফলাফল কোড হল একটি enum যা আপনি সাইন-ইন ব্যর্থতার কারণ সনাক্ত করতে ব্যবহার করতে পারেন৷

আপনি যদি ইউনিটির সামাজিক প্ল্যাটফর্ম ব্যবহার করতে পছন্দ করেন, তাহলে আপনি বিকল্পভাবে নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

আপনি Authenticate থেকে একটি সফল রিটার্ন মান না পাওয়া পর্যন্ত আপনি কোনো Google Play Games API কল করতে পারবেন না। ফলস্বরূপ, আমরা সুপারিশ করি যে গেমগুলি কলব্যাক না হওয়া পর্যন্ত একটি স্ট্যান্ডবাই স্ক্রীন প্রদর্শন করবে যাতে নিশ্চিত করা যায় যে ব্যবহারকারীরা প্রমাণীকরণ সম্পূর্ণ না হওয়া পর্যন্ত গেম খেলা শুরু করতে পারবে না।

সার্ভার প্রমাণীকরণ কোড পুনরুদ্ধার করুন

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

সার্ভার সাইড অ্যাক্সেস কোড পেতে:

  1. প্লে গেম কনসোলে আপনার গেমের সাথে লিঙ্ক করা ওয়েব অ্যাপ্লিকেশনটির ওয়েব ক্লায়েন্ট আইডি কনফিগার করুন।

  2. প্লেয়ারের সার্ভার সাইড অ্যাক্সেস কোড পেতে একবার PlayGamesPlatform.Instance.RequestServerSideAccess কল করুন।

  3. আপনার সার্ভার অ্যাপ্লিকেশন এই কোড পাস.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

সেট আপ এবং বৈশিষ্ট্য যোগ করুন