ইউনিটির সাথে গুগল প্লে গেমস পিসি এসডিকে একীভূত করুন

এই নির্দেশিকাটি আপনার ইউনিটি প্রজেক্টে Google Play Games PC SDK সংহত করার জন্য ধাপে ধাপে নির্দেশাবলী প্রদান করে।

ধাপ ১: SDK ডাউনলোড করুন

ডাউনলোড লিঙ্ক ব্যবহার করে ইউনিটি প্যাকেজের সর্বশেষ সংস্করণটি ডাউনলোড করুন।

ডাউনলোড: প্লে গেমস পিসি ইউনিটি এসডিকে

ধাপ ২: প্যাকেজটি আমদানি করুন

SDK ইউনিটি প্যাকেজ ম্যানেজার (UPM) এর সাথে সামঞ্জস্যপূর্ণ একটি টার ফাইল হিসাবে বিতরণ করা হয়। আরও তথ্যের জন্য, স্থানীয় টার ফাইল থেকে একটি UPM প্যাকেজ ইনস্টল করুন দেখুন।

ধাপ ৩: বিল্ড সেটিংস কনফিগার করুন

নেটিভ লাইব্রেরি লোড সঠিকভাবে যাচাই করার জন্য, আপনাকে অবশ্যই আপনার প্রকল্পটি IL2CPP স্ক্রিপ্টিং ব্যাকএন্ড ব্যবহার করে কনফিগার করতে হবে এবং সঠিক আর্কিটেকচারটি লক্ষ্য করতে হবে।

  1. উইন্ডোজকে প্ল্যাটফর্ম হিসেবে ব্যবহার করে একটি বিল্ড প্রোফাইল তৈরি করুন

  2. প্ল্যাটফর্ম সেটিংসকে Windows হিসেবে নির্বাচন করুন। আর্কিটেকচারের জন্য, বিকল্পগুলি ব্যবহার করুন:

    • ইন্টেল ৬৪-বিট (প্রস্তাবিত)
    • ইন্টেল ৩২-বিট

    দ্রষ্টব্য: পিসি প্ল্যাটফর্মে গুগল প্লে গেমস ৬৪-বিট পরিবেশে চলে। আপনি আপনার গেমটি ৩২-বিট (x86) অথবা ৬৪-বিট (x64) হিসেবে তৈরি করতে পারেন।

  3. স্ক্রিপ্টিং ব্যাকএন্ডকে IL2CPP তে সেট করুন। আরও তথ্যের জন্য, IL2CPP দিয়ে একটি প্রকল্প তৈরি করা দেখুন।

    • Api সামঞ্জস্য স্তর .NET স্ট্যান্ডার্ড 2.0 (অথবা .NET ফ্রেমওয়ার্ক) এ সেট করুন।

ধাপ ৪: অ্যাপ্লিকেশন ম্যানিফেস্ট তৈরি করুন

আপনার গেমে SDK ব্যবহার করার আগে, আপনাকে অবশ্যই আপনার গেম এক্সিকিউটেবলকে Play Console- এ দাবি করা Play প্যাকেজ নামের সাথে সংযুক্ত করতে হবে। আপনার গেমের এক্সিকিউটেবলের ডিরেক্টরিতে একটি manifest.xml ফাইল যোগ করে আপনি এটি করতে পারেন।

দ্রষ্টব্য: এটি একটি ম্যানুয়াল পদক্ষেপ যা অবশ্যই সম্পাদন করতে হবে।

  1. আপনার গেম এক্সিকিউটেবল ফাইল তৈরি করতে, File > Build and Run নির্বাচন করুন অথবা Ctrl+B ক্লিক করুন।
  2. একটি টেক্সট এডিটর খুলুন এবং manifest.xml নামে একটি নতুন ফাইল তৈরি করুন।
  3. নিম্নলিখিত XML কোডটি কপি করে ফাইলটিতে পেস্ট করুন:

    <?xml version="1.0" encoding="utf-8"?>
    <?Manifest version="1">
       <?Application>
         <?PackageName>com.example.package<?/PackageName>
       <?/Application>
    <?/Manifest>

  4. ফাইলটি manifest.xml হিসেবে সংরক্ষণ করুন।

  5. এই ফাইলটি আপনার তৈরি গেম এক্সিকিউটেবল ফাইলের মতো একই ফোল্ডারে সরান।

    উদাহরণ: যদি আপনার গেমটি Builds/MyGame.exe এ থাকে, তাহলে ম্যানিফেস্টটি অবশ্যই Builds/manifest.xml এ থাকতে হবে।

ধাপ ৫: SDK আরম্ভ করুন

বিলিং বা ইন্টিগ্রিটির মতো কোনও বৈশিষ্ট্য অ্যাক্সেস করার আগে আপনাকে অবশ্যই SDK চালু করতে হবে। শুরু করার হ্যান্ডলার তৈরি করতে এবং সংযোগ শুরু করতে PlayPcSdkFactory ব্যবহার করুন।

একটি নতুন C# স্ক্রিপ্ট তৈরি করুন, উদাহরণস্বরূপ, SdkInitialization.cs , এবং নিম্নলিখিত কোডটি যোগ করুন:

using UnityEngine;
using System;
using System.Threading.Tasks;
// Import the SDK namespaces
using PlayPcSdkManaged.Initialization;
using PlayPcSdkManaged.Unity;

public class GooglePlayPCSDKInit : MonoBehaviour
{
    // Prevent double-initialization if this script is reloaded
    private static bool _isInitialized = false;

    private void Start()
    {
        // Use the "Safe Runner" pattern to fire the async method
        _ = InitializeSdkAsync();
    }

    private async Task InitializeSdkAsync()
    {
        if (_isInitialized)
        {
            Debug.LogWarning("Google Play PC SDK is already initialized. Skipping.");
            return;
        }

        try
        {
            Debug.Log("Initializing Google Play PC SDK...");

            // 1. Get the Unity-specific initialization handler from the factory
            var initHandler = PlayPcSdkFactory.InitializationHandler;

            // 2. Call InitializeAsync to start the connection
            var result = await GooglePlayInitialization.InitializeAsync(initHandler);

            // 3. Check the result
            if (result.IsOk)
            {
                _isInitialized = true;
                Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>");
                // You can now create BillingClient or IntegrityClient instances
            }
            else
            {
                Debug.LogError($"<color=red>Initialization Failed!</color>");
                Debug.LogError($"Error Code: {result.Code}");
                Debug.LogError($"Message: {result.ErrorMessage}");
            }
        }
        catch (Exception ex)
        {
            // Catch unexpected crashes or task failures
            Debug.LogError($"Exception during initialization: {ex.Message}");
            Debug.LogException(ex);
        }
    }
}

আপনার প্রথম দৃশ্যে একটি GameObject- এ এই স্ক্রিপ্টটি সংযুক্ত করুন। গেমটি চালানোর সময়, "SDK সফলভাবে শুরু হয়েছে!" বার্তাটির জন্য কনসোলটি পরীক্ষা করুন।