সতর্কতা: Google Play Instant আর উপলব্ধ থাকবে না। ডিসেম্বর ২০২৫ থেকে, Google Play এর মাধ্যমে Instant Apps প্রকাশ করা যাবে না এবং সমস্ত Google Play পরিষেবা Instant API আর কাজ করবে না। ব্যবহারকারীদের আর কোনও পদ্ধতি ব্যবহার করে Play দ্বারা Instant Apps পরিবেশন করা হবে না।
গুগল প্লে ইনস্ট্যান্ট চালু হওয়ার পর থেকে আমরা ডেভেলপারদের প্রতিক্রিয়া এবং ইকোসিস্টেম উন্নত করার জন্য আমাদের ক্রমাগত বিনিয়োগের ভিত্তিতে এই পরিবর্তনটি করছি।
ব্যবহারকারী বৃদ্ধির জন্য অপ্টিমাইজেশন অব্যাহত রাখার জন্য, আমরা ডেভেলপারদের তাদের নিয়মিত অ্যাপ বা গেমে ব্যবহারকারীদের রেফার করার জন্য উৎসাহিত করি, প্রাসঙ্গিক হলে নির্দিষ্ট ভ্রমণ বা বৈশিষ্ট্যগুলিতে পুনঃনির্দেশিত করার জন্য ডিপলিঙ্ক ব্যবহার করি।
ইউনিটির জন্য গুগল প্লে ইন্সট্যান্ট প্লাগইন আপনার ইউনিটি প্রজেক্টকে আপনার গেমের একটি ইন্সট্যান্ট অ্যাপ সংস্করণ তৈরি করার জন্য কনফিগার করে। এই নির্দেশিকাটি এই প্লাগইনটি কীভাবে ইনস্টল এবং ব্যবহার করবেন তা বর্ণনা করে।
প্লাগইনটি ডাউনলোড এবং আমদানি করুন
এই প্লাগইনটি গুগল প্লে প্লাগইনস ফর ইউনিটির অংশ। প্লাগইনটি আমদানি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- গুগল প্লে প্লাগইনস ফর ইউনিটি রিলিজ থেকে সর্বশেষ রিলিজটি ডাউনলোড করুন।
- Unity IDE মেনু অপশন Assets > Import package > Custom Package নির্বাচন করে এবং সমস্ত আইটেম আমদানি করে
.unitypackageফাইলটি আমদানি করুন।
ইউনিটি এডিটর বৈশিষ্ট্য
ইউনিটিতে গুগল > প্লে ইনস্ট্যান্ট সাবমেনু যোগ করতে প্লাগইনটি আমদানি করুন। এই সাবমেনুতে নিম্নলিখিত বিকল্পগুলি রয়েছে।
বিল্ড সেটিংস
একটি উইন্ডো খোলে যা ইনস্টলড এবং ইনস্ট্যান্ট ডেভেলপমেন্ট মোডের মধ্যে স্যুইচিং সক্ষম করে। ইনস্ট্যান্টে স্যুইচ করলে নিম্নলিখিত পরিবর্তনগুলি ঘটে:
-
PLAY_INSTANTনামক একটি স্ক্রিপ্টিং ডিফাইন সিম্বল তৈরি করে যা#if PLAY_INSTANTএবং#endifদিয়ে স্ক্রিপ্টিংয়ের জন্য ব্যবহার করা যেতে পারে। - android:targetSandboxVersion এর মতো কিছু প্রয়োজনীয় পরিবর্তনের জন্য AndroidManifest.xml-এর আপডেট পরিচালনা করে।
প্লেয়ার সেটিংস
চিত্র ১-এ দেখানো প্লেয়ার সেটিংস ডায়ালগটি আপনাকে Google Play Instant-এর জন্য সমর্থন অপ্টিমাইজ করতে, আরও সামঞ্জস্যপূর্ণ গ্রাফিক্স API-এর সাথে বিকাশ করতে এবং আপনার APK-এর আকার কমাতে সাহায্য করার জন্য পরামর্শগুলি প্রদর্শন করে।

এই প্লেয়ার সেটিংসগুলিকে প্রয়োজনীয় এবং প্রস্তাবিত সেটিংসে ভাগ করা হয়েছে। যদি কোনও সেটিংয়ের সাথে সম্পর্কিত আপডেট বোতাম থাকে, তাহলে পছন্দের মানে সেটিং পরিবর্তন করতে এটিতে ক্লিক করুন।
APK এর আকার আরও কমাতে, ইউনিটি প্যাকেজ ম্যানেজার খুলুন এবং অব্যবহৃত প্যাকেজগুলি সরিয়ে ফেলুন।
দ্রুত স্থাপন করুন
Quick Deploy একটি AssetBundle- এ কিছু সম্পদ প্যাকেজ করে একটি Unity-ভিত্তিক তাৎক্ষণিক অ্যাপের আকার কমাতে পারে। Quick Deploy ব্যবহার করার সময়, Unity গেম ইঞ্জিন এবং একটি লোডিং স্ক্রিন একটি তাৎক্ষণিক অ্যাপ APK-তে প্যাকেজ করা হয় এবং তাৎক্ষণিক অ্যাপটি শুরু হওয়ার পরে এটি একটি সার্ভার থেকে AssetBundle পুনরুদ্ধার করে।
ইনস্টলেশন কর্মপ্রবাহ সমর্থন করুন
অনেক তাৎক্ষণিক অ্যাপের লক্ষ্য হলো ব্যবহারকারীদের পূর্ণ সংস্করণ ইনস্টল করার আগে অ্যাপটি অভিজ্ঞতা অর্জনের সুযোগ করে দেওয়া। গুগল প্লে ইন্সট্যান্ট প্লাগইন ফর ইউনিটি প্লে স্টোর ইনস্টল ডায়ালগ প্রদর্শনের জন্য এবং তাৎক্ষণিক থেকে ইনস্টল করা অ্যাপে অবস্থা স্থানান্তরের জন্য API প্রদান করে।
একটি ইনস্টল প্রম্পট দেখান
একটি ইন্সট্যান্ট অ্যাপ যেখানে ইনস্টল বোতাম আছে, সেটি ইনস্টল বোতাম ক্লিক হ্যান্ডলার থেকে নিম্নলিখিতটি কল করে প্লে স্টোর ইনস্টল ডায়ালগ প্রদর্শন করতে পারে:
Google.Play.Instant.InstallLauncher.ShowInstallPrompt();
ShowInstallPrompt() পদ্ধতিতে একটি ওভারলোড থাকে যা নিম্নলিখিত এক বা একাধিকের জন্য অনুমতি দেয়:
- ব্যবহারকারী ইনস্টলেশন প্রক্রিয়া থেকে বাতিল করে কিনা তা নির্ধারণ করা হচ্ছে। ইনস্ট্যান্ট অ্যাপের প্রধান কার্যকলাপে
onActivityResult()ওভাররাইড করুন এবং নির্দিষ্টrequestCodeএRESULT_CANCELEDপরীক্ষা করুন। -
referrerপ্যারামিটারের মাধ্যমে একটি ইনস্টল রেফারার স্ট্রিং পাস করা। -
PutPostInstallIntentStringExtra()এর মাধ্যমে বর্তমান গেম সেশন সম্পর্কে অবস্থা পাস করা হচ্ছে।
নিম্নলিখিত উদাহরণে এগুলি দেখানো হয়েছে:
using Google.Play.Instant;
...
const int requestCode = 123;
var sessionInfo = /* Object serialized as a string representing player's current location, etc. */;
using (var activity = UnityPlayerHelper.GetCurrentActivity())
using (var postInstallIntent = InstallLauncher.CreatePostInstallIntent(activity))
{
InstallLauncher.PutPostInstallIntentStringExtra(postInstallIntent, "sessionInfo", sessionInfo);
InstallLauncher.ShowInstallPrompt(activity, requestCode, postInstallIntent, "test-referrer");
}
ব্যবহারকারী যদি অ্যাপ ইনস্টলেশন সম্পূর্ণ করে ফেলেন, তাহলে প্লে স্টোর প্রদত্ত postInstallIntent ব্যবহার করে অ্যাপটি পুনরায় চালু করবে। ইনস্টল করা অ্যাপটি নিম্নলিখিত পদ্ধতি ব্যবহার করে postInstallIntent এ সেট করা একটি মান পুনরুদ্ধার করতে পারে:
var sessionInfo = InstallLauncher.GetPostInstallIntentStringExtra("sessionInfo");
নোট:
- ব্যবহারকারী যদি অ্যাপটি ইনস্টল করে কিন্তু ইনস্টল-পরবর্তী লঞ্চ বাতিল করে, তাহলে
postInstallIntentএ অন্তর্ভুক্ত অতিরিক্ত বৈশিষ্ট্যগুলি ইনস্টল করা অ্যাপে নাও পৌঁছাতে পারে। স্থায়ী অবস্থা ধরে রাখার চেয়ে সক্রিয় সেশন অবস্থা ধরে রাখার জন্য ইন্টেন্ট অতিরিক্ত পাস করা বেশি উপযুক্ত; পরবর্তীটির জন্য Cookie API দেখুন। - ইনস্টল করা অ্যাপটি চালু করার জন্য যে কেউ অতিরিক্ত ক্ষেত্র ব্যবহার করে একটি উদ্দেশ্য তৈরি করতে পারে, তাই যদি পেলোডটি মূল্যবান কিছু প্রদান করে, তাহলে পেলোডটি এমনভাবে ডিজাইন করুন যাতে এটি কেবল একবার ব্যবহার করা যায়, ক্রিপ্টোগ্রাফিকভাবে স্বাক্ষর করুন এবং সার্ভারে স্বাক্ষরটি যাচাই করুন।
কুকি এপিআই ব্যবহার করুন
কুকি এপিআই একটি তাৎক্ষণিক অ্যাপ থেকে তার সংশ্লিষ্ট ইনস্টল করা অ্যাপে কুকি (যেমন প্লেয়ার আইডি বা লেভেল কমপ্লিশন ডেটা) পাস করার পদ্ধতি প্রদান করে। postInstallIntent অতিরিক্তগুলির বিপরীতে, ব্যবহারকারী তাৎক্ষণিকভাবে ইনস্টল করা অ্যাপটি চালু না করলেও কুকির অবস্থা উপলব্ধ থাকে। উদাহরণস্বরূপ, একটি তাৎক্ষণিক অ্যাপ একটি ইনস্টল বোতাম ক্লিক হ্যান্ডলার থেকে নিম্নলিখিত কোডটি কল করতে পারে:
using Google.Play.Instant;
...
var playerInfo = /* Object serialized as a string representing game levels completed, etc. */;
var cookieBytes = System.Text.Encoding.UTF8.GetBytes(playerInfo);
try
{
var maxCookieSize = CookieApi.GetInstantAppCookieMaxSize();
if (cookieBytes.Length > maxCookieSize)
{
UnityEngine.Debug.LogErrorFormat("Cookie length {0} exceeds limit {1}.", cookieBytes.Length, maxCookieSize);
}
else if (CookieApi.SetInstantAppCookie(cookieBytes))
{
UnityEngine.Debug.Log("Successfully set cookie. Now display the app install dialog...");
InstallLauncher.ShowInstallPrompt();
}
else
{
UnityEngine.Debug.LogError("Failed to set cookie.");
}
}
catch (CookieApi.InstantAppCookieException ex)
{
UnityEngine.Debug.LogErrorFormat("Failed to set cookie: {0}", ex);
}
ব্যবহারকারী যদি অ্যাপ ইনস্টলেশন সম্পন্ন করে, তাহলে ইনস্টল করা অ্যাপটি নিম্নলিখিত কোড ব্যবহার করে কুকি ডেটা পুনরুদ্ধার করতে পারে:
var cookieBytes = CookieApi.GetInstantAppCookie();
var playerInfoString = System.Text.Encoding.UTF8.GetString(cookieBytes);
if (!string.IsNullOrEmpty(playerInfoString))
{
// Initialize game state based on the cookie, e.g. skip tutorial level completed in instant app.
}