গেমিং অ্যাপগুলি যখন বিভিন্ন UI ফ্রেমওয়ার্কের উপর তৈরি করা হয় তখন গেম টেস্টিং স্বয়ংক্রিয় করা কঠিন হতে পারে। গেম লুপ টেস্টগুলি আপনাকে আপনার নেটিভ পরীক্ষাগুলিকে Test Lab সাথে একীভূত করতে এবং আপনার নির্বাচিত ডিভাইসগুলিতে সহজেই সেগুলি চালানোর অনুমতি দেয়। একটি গেম লুপ টেস্ট আপনার গেমিং অ্যাপের মাধ্যমে আপনার পরীক্ষা চালায় এবং একজন প্রকৃত খেলোয়াড়ের ক্রিয়া অনুকরণ করে। এই নির্দেশিকাটি আপনাকে দেখায় কিভাবে একটি গেম লুপ টেস্ট চালাতে হয়, তারপর Firebase কনসোলে আপনার পরীক্ষার ফলাফল দেখতে এবং পরিচালনা করতে হয়।
আপনার গেম ইঞ্জিনের উপর নির্ভর করে, আপনি একক বা একাধিক লুপ ব্যবহার করে পরীক্ষা বাস্তবায়ন করতে পারেন। লুপ হল আপনার গেমিং অ্যাপে আপনার পরীক্ষার সম্পূর্ণ বা আংশিক রান-থ্রু। গেম লুপগুলি নিম্নলিখিত কাজে ব্যবহার করা যেতে পারে:
- আপনার গেমের একটি লেভেল ঠিক একইভাবে চালান যেভাবে একজন শেষ ব্যবহারকারী এটি খেলেন। আপনি হয় ব্যবহারকারীর ইনপুট স্ক্রিপ্ট করতে পারেন, ব্যবহারকারীকে নিষ্ক্রিয় থাকতে দিতে পারেন, অথবা যদি আপনার গেমে এটি যুক্তিসঙ্গত হয় তবে ব্যবহারকারীকে একটি AI দিয়ে প্রতিস্থাপন করতে পারেন (যেমন, ধরুন আপনার একটি রেস কার গেমিং অ্যাপ আছে এবং ইতিমধ্যেই একটি AI প্রয়োগ করা হয়েছে। আপনি সহজেই একজন AI ড্রাইভারকে ব্যবহারকারীর ইনপুটের দায়িত্বে রাখতে পারেন)।
- ডিভাইসগুলি এটি সমর্থন করে কিনা তা দেখতে সর্বোচ্চ মানের সেটিংয়ে আপনার গেমটি চালান।
- একটি প্রযুক্তিগত পরীক্ষা চালান (একাধিক শেডার কম্পাইল করুন, সেগুলি কার্যকর করুন, আউটপুট প্রত্যাশা অনুযায়ী আছে কিনা তা পরীক্ষা করুন, ইত্যাদি)।
আপনি একটি একক পরীক্ষা ডিভাইস, পরীক্ষা ডিভাইসের একটি সেট, অথবা Test Lab একটি গেম লুপ পরীক্ষা চালাতে পারেন। তবে, আমরা ভার্চুয়াল ডিভাইসগুলিতে গেম লুপ পরীক্ষা চালানোর পরামর্শ দিই না কারণ তাদের গ্রাফিক্স ফ্রেম রেট ফিজিক্যাল ডিভাইসের তুলনায় কম।
শুরু করার আগে
একটি পরীক্ষা বাস্তবায়ন করতে, আপনাকে প্রথমে গেম লুপ পরীক্ষার জন্য আপনার অ্যাপটি কনফিগার করতে হবে।
- আপনার অ্যাপ ম্যানিফেস্টে, আপনার কার্যকলাপে একটি নতুন ইন্টেন্ট ফিল্টার যোগ করুন: - <activity android:name=".MyActivity"> <intent-filter> <action android:name="com.google.intent.action.TEST_LOOP"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="application/javascript"/> </intent-filter> <intent-filter> ... (other intent filters here) </intent-filter> </activity>- এটি Test Lab একটি নির্দিষ্ট উদ্দেশ্য নিয়ে ট্রিগার করে আপনার গেমটি চালু করার অনুমতি দেয়। 
- আপনার কোডে (আমরা - onCreateপদ্ধতি ঘোষণার ভিতরে সুপারিশ করছি), নিম্নলিখিতগুলি যোগ করুন:- Kotlin- val launchIntent = intent if (launchIntent.action == "com.google.intent.action.TEST_LOOP") { val scenario = launchIntent.getIntExtra("scenario", 0) // Code to handle your game loop here } - Java- Intent launchIntent = getIntent(); if(launchIntent.getAction().equals("com.google.intent.action.TEST_LOOP")) { int scenario = launchIntent.getIntExtra("scenario", 0); // Code to handle your game loop here } - এটি আপনার অ্যাক্টিভিটির মাধ্যমে এটি চালু করার উদ্দেশ্য পরীক্ষা করতে সাহায্য করে। আপনি যদি চান তবে পরেও এই কোডটি যোগ করতে পারেন (যেমন, প্রাথমিকভাবে আপনার গেম ইঞ্জিন লোড করার পরে)। 
- প্রস্তাবিত: পরীক্ষার শেষে, যোগ করুন: - Kotlin- yourActivity.finish() - Java- yourActivity.finish(); - গেম লুপ পরীক্ষা সম্পন্ন হলে এটি আপনার অ্যাপটি বন্ধ করে দেবে। পরবর্তী লুপ শুরু করার জন্য পরীক্ষাটি আপনার অ্যাপের UI ফ্রেমওয়ার্কের উপর নির্ভর করে এবং আপনার অ্যাপটি বন্ধ করলেই বোঝা যাবে যে পরীক্ষাটি সম্পন্ন হয়েছে। 
একটি গেম লুপ পরীক্ষা তৈরি করুন এবং চালান
গেম লুপ পরীক্ষার জন্য আপনার অ্যাপটি কনফিগার করার পরে, আপনি তাৎক্ষণিকভাবে একটি পরীক্ষা তৈরি করতে পারেন এবং এটি আপনার গেমিং অ্যাপে চালাতে পারেন। আপনি Firebase কনসোল অথবা gcloud কমান্ড লাইন ইন্টারফেস (CLI) ব্যবহার করে Test Lab অথবা টেস্ট লুপ ম্যানেজার ব্যবহার করে স্থানীয় ডিভাইসে একটি পরীক্ষা চালানো বেছে নিতে পারেন।
স্থানীয় ডিভাইসে চালান
Test Lab টেস্ট লুপ ম্যানেজার একটি ওপেন সোর্স অ্যাপ যা আপনাকে গেম লুপ পরীক্ষাগুলি একীভূত করতে এবং আপনার স্থানীয় ডিভাইসগুলিতে সেগুলি চালাতে সাহায্য করে। এটি আপনার কোয়ালিটি অ্যাসুরেন্স টিমকে তাদের ডিভাইসগুলিতে একই গেম লুপগুলি চালানোর অনুমতি দেয়।
টেস্ট লুপ ম্যানেজার ব্যবহার করে স্থানীয় ডিভাইসে পরীক্ষা চালানোর জন্য:
-  আপনার ফোন বা ট্যাবলেটে টেস্ট লুপ ম্যানেজার ডাউনলোড করুন এবং এটি ইনস্টল করুন: adb install testloopmanager.apk 
- আপনার ডিভাইসে, আপনার ফোন বা ট্যাবলেটে Test Loop Apps অ্যাপটি খুলুন। অ্যাপটি আপনার ডিভাইসে এমন অ্যাপগুলির একটি তালিকা প্রদর্শন করে যেগুলি গেম লুপ দিয়ে চালানো যেতে পারে। যদি আপনি এখানে আপনার গেমিং অ্যাপটি দেখতে না পান, তাহলে নিশ্চিত করুন যে আপনার ইন্টেন্ট ফিল্টারটি "আপনার শুরু করার আগে" বিভাগের প্রথম ধাপে বর্ণিত ফিল্টারের সাথে মেলে।
- আপনার গেমিং অ্যাপটি নির্বাচন করুন, তারপর আপনি কতগুলি লুপ চালাতে চান তা নির্বাচন করুন। দ্রষ্টব্য: এই ধাপে, আপনি কেবল একটি লুপের পরিবর্তে লুপের একটি উপসেট চালানো বেছে নিতে পারেন। একসাথে একাধিক লুপ চালানোর বিষয়ে আরও তথ্যের জন্য, ঐচ্ছিক বৈশিষ্ট্যগুলি দেখুন।
- Run test এ ক্লিক করুন। আপনার পরীক্ষা তৎক্ষণাৎ চলতে শুরু করবে।
Test Lab চালান
আপনি Firebase কনসোল অথবা gcloud CLI ব্যবহার করে Test Lab একটি গেম লুপ পরীক্ষা চালাতে পারেন। শুরু করার আগে, যদি আপনি ইতিমধ্যে না করে থাকেন, তাহলে Firebase কনসোলটি খুলুন এবং একটি প্রকল্প তৈরি করুন।
Firebase কনসোল ব্যবহার করুন
- Firebase কনসোলে, বাম প্যানেল থেকে Test Lab ক্লিক করুন।
- আপনার প্রথম পরীক্ষা চালান (অথবা যদি আপনার প্রকল্পটি আগে পরীক্ষা চালিয়ে থাকে তবে একটি পরীক্ষা চালান ) ক্লিক করুন।
- পরীক্ষার ধরণ হিসেবে গেম লুপ নির্বাচন করুন, এবং তারপর চালিয়ে যান ক্লিক করুন।
-  Browse এ ক্লিক করুন, এবং তারপর আপনার অ্যাপের .apkফাইলে ব্রাউজ করুন। দ্রষ্টব্য: এই ধাপে, আপনি কেবল একটি লুপের পরিবর্তে লুপের একটি উপসেট চালানো বেছে নিতে পারেন। একসাথে একাধিক লুপ চালানোর বিষয়ে আরও তথ্যের জন্য, ঐচ্ছিক বৈশিষ্ট্যগুলি দেখুন।
- চালিয়ে যান ক্লিক করুন।
- আপনার অ্যাপ পরীক্ষা করার জন্য ব্যবহার করার জন্য ভৌত ডিভাইসগুলি নির্বাচন করুন।
- পরীক্ষা শুরু করুন ক্লিক করুন।
Firebase কনসোল দিয়ে শুরু করার বিষয়ে আরও তথ্যের জন্য, Firebase কনসোল দিয়ে পরীক্ষা শুরু করুন দেখুন।
gcloud কমান্ড-লাইন (CLI) ব্যবহার করুন
- যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে Google Cloud SDK ডাউনলোড করে ইনস্টল করুন। 
- আপনার গুগল অ্যাকাউন্ট ব্যবহার করে gcloud CLI তে সাইন ইন করুন: - gcloud auth login
- আপনার Firebase প্রকল্পটি gcloud এ সেট করুন, যেখানে - PROJECT_IDহল আপনার Firebase প্রকল্পের আইডি:- gcloud config set project PROJECT_ID 
- আপনার প্রথম পরীক্ষাটি চালান: - gcloud firebase test android run \ --type=game-loop --app=<var>path-to-apk</var> \ --device model=herolte,version=23 
gcloud CLI দিয়ে শুরু করার বিষয়ে আরও তথ্যের জন্য, gcloud কমান্ড লাইন থেকে পরীক্ষা শুরু করুন দেখুন।
ঐচ্ছিক বৈশিষ্ট্য
Test Lab বেশ কিছু ঐচ্ছিক বৈশিষ্ট্য অফার করে যা আপনাকে আপনার পরীক্ষাগুলিকে আরও কাস্টমাইজ করতে দেয়, যার মধ্যে রয়েছে আউটপুট ডেটা লেখার ক্ষমতা, একাধিক গেম লুপের জন্য সমর্থন এবং সম্পর্কিত লুপের জন্য লেবেল।
আউটপুট ডেটা লিখুন
 আপনার গেম লুপ পরীক্ষাটি launchIntent.getData() পদ্ধতিতে নির্দিষ্ট একটি ফাইলে আউটপুট লিখতে পারে। একটি পরীক্ষা চালানোর পরে, আপনি Firebase কনসোলের Test Lab বিভাগে এই আউটপুট ডেটা অ্যাক্সেস করতে পারবেন ( গেম লুপ পরীক্ষার আউটপুট ফাইলের উদাহরণ দেখুন)।
 Test Lab "Sharing a File" বিভাগে বর্ণিত অ্যাপগুলির মধ্যে ফাইল শেয়ার করার জন্য সর্বোত্তম অনুশীলন অনুসরণ করে। আপনার কার্যকলাপের onCreate() পদ্ধতিতে, যেখানে আপনার উদ্দেশ্য অবস্থিত, আপনি নিম্নলিখিত কোডটি চালিয়ে আপনার ডেটা আউটপুট ফাইলটি পরীক্ষা করতে পারেন: 
Kotlin
val launchIntent = intent val logFile = launchIntent.data logFile?.let { Log.i(TAG, "Log file ${it.encodedPath}") // ... }
Java
Intent launchIntent = getIntent(); Uri logFile = launchIntent.getData(); if (logFile != null) { Log.i(TAG, "Log file " + logFile.getEncodedPath()); // ... }
যদি আপনি আপনার গেম অ্যাপের C++ দিক থেকে ফাইলটিতে লিখতে চান, তাহলে আপনি ফাইল পাথের পরিবর্তে ফাইল বর্ণনাকারীতে প্রবেশ করতে পারেন:
Kotlin
val launchIntent = intent val logFile = launchIntent.data var fd = -1 logFile?.let { Log.i(TAG, "Log file ${it.encodedPath}") fd = try { contentResolver .openAssetFileDescriptor(logFile, "w")!! .parcelFileDescriptor .fd } catch (e: FileNotFoundException) { e.printStackTrace() -1 } catch (e: NullPointerException) { e.printStackTrace() -1 } } // C++ code invoked here. // native_function(fd);
Java
Intent launchIntent = getIntent(); Uri logFile = launchIntent.getData(); int fd = -1; if (logFile != null) { Log.i(TAG, "Log file " + logFile.getEncodedPath()); try { fd = getContentResolver() .openAssetFileDescriptor(logFile, "w") .getParcelFileDescriptor() .getFd(); } catch (FileNotFoundException e) { e.printStackTrace(); fd = -1; } catch (NullPointerException e) { e.printStackTrace(); fd = -1; } } // C++ code invoked here. // native_function(fd);
সি++
#include <unistd.h> JNIEXPORT void JNICALL Java_my_package_name_MyActivity_native_function(JNIEnv *env, jclass type, jint log_file_descriptor) { // The file descriptor needs to be duplicated. int my_file_descriptor = dup(log_file_descriptor); }
আউটপুট ফাইলের উদাহরণ
 Firebase কনসোলের Test Lab বিভাগে গেম লুপ পরীক্ষার ফলাফল প্রদর্শনের জন্য আপনি আউটপুট ডেটা ফাইল (নীচের উদাহরণের মতো ফর্ম্যাট করা) ব্যবহার করতে পারেন। /.../ হিসাবে দেখানো এলাকাগুলিতে আপনার প্রয়োজনীয় যেকোনো কাস্টম ক্ষেত্র থাকতে পারে, যতক্ষণ না সেগুলি এই ফাইলে ব্যবহৃত অন্যান্য ক্ষেত্রগুলির নামের সাথে বিরোধ না করে: 
{
  "name": "test name",
  "start_timestamp": 0, // Timestamp of the test start (in us).
                           Can be absolute or relative
  "driver_info": "...",
  "frame_stats": [
    {
      "timestamp": 1200000, // Timestamp at which this section was written
                               It contains value regarding the period
                               start_timestamp(0) -> this timestamp (1200000 us)
      "avg_frame_time": 15320, // Average time to render a frame in ns
      "nb_swap": 52, // Number of frame rendered
      "threads": [
        {
          "name": "physics",
          "Avg_time": 8030 // Average time spent in this thread per frame in us
        },
        {
          "name": "AI",
          "Avg_time": 2030 // Average time spent in this thread per frame in us
        }
      ],
      /.../ // Any custom field you want (vertices display on the screen, nb units …)
    },
    {
      // Next frame data here, same format as above
    }
  ],
  "loading_stats": [
    {
      "name": "assets_level_1",
      "total_time": 7850, // in us
      /.../
    },
    {
      "name": "victory_screen",
      "total_time": 554, // in us
      /.../
    }
  ],
  /.../, // You can add custom fields here
}
একাধিক গেম লুপ
আপনার অ্যাপে একাধিক গেম লুপ চালানো আপনার জন্য উপকারী হতে পারে। লুপ হল আপনার গেম অ্যাপের শুরু থেকে শেষ পর্যন্ত সম্পূর্ণ রান-থ্রু। উদাহরণস্বরূপ, যদি আপনার গেমে একাধিক লেভেল থাকে, তাহলে আপনি প্রতিটি লেভেল চালু করার জন্য একটি করে গেম লুপ রাখতে চাইতে পারেন, বরং একটি লুপ সবগুলো লেভেলের মধ্যে পুনরাবৃত্তি করে। এইভাবে, যদি আপনার অ্যাপটি লেভেল 32-এ ক্র্যাশ করে, তাহলে আপনি সরাসরি সেই গেম লুপটি চালু করে ক্র্যাশ পুনরুত্পাদন করতে এবং বাগ ফিক্স পরীক্ষা করতে পারেন।
আপনার অ্যাপটিকে একসাথে একাধিক লুপ চালানোর জন্য সক্ষম করতে:
- যদি আপনি টেস্ট লুপ ম্যানেজার দিয়ে একটি পরীক্ষা চালাচ্ছেন: - আপনার অ্যাপের ম্যানিফেস্টে - <application>এলিমেন্টের ভেতরে নিম্নলিখিত লাইনটি যোগ করুন:- <meta-data android:name="com.google.test.loops" android:value="5" /> - এই লঞ্চ ইন্টেন্টে টার্গেট লুপকে একটি পূর্ণসংখ্যা প্যারামিটার হিসেবে অন্তর্ভুক্ত করা হয়েছে। - android:valueক্ষেত্রে, আপনি 1 থেকে 1024 পর্যন্ত একটি পূর্ণসংখ্যা নির্দিষ্ট করতে পারেন (একটি পরীক্ষার জন্য অনুমোদিত সর্বোচ্চ লুপের সংখ্যা)। মনে রাখবেন যে লুপগুলি 0 থেকে নয়, 1 থেকে শুরু করে সূচী করা হয়।
- টেস্ট লুপ ম্যানেজার অ্যাপে, একটি সিলেকশন স্ক্রিন প্রদর্শিত হবে যা আপনাকে কোন লুপ(গুলি) চালাতে চান তা নির্বাচন করতে দেয়। যদি আপনি একাধিক লুপ নির্বাচন করেন, তাহলে পূর্ববর্তী লুপটি সম্পূর্ণ হওয়ার পরে প্রতিটি লুপ ক্রমানুসারে চালু হয়। 
 
- যদি আপনি Firebase কনসোল দিয়ে একটি পরীক্ষা চালাচ্ছেন, তাহলে Scenarios ক্ষেত্রে একটি তালিকা বা লুপ সংখ্যার একটি পরিসর লিখুন। 
- যদি আপনি gcloud CLI দিয়ে পরীক্ষা চালাচ্ছেন, তাহলে - --scenario-numbersফ্ল্যাগ ব্যবহার করে লুপ নম্বরের একটি তালিকা নির্দিষ্ট করুন। উদাহরণস্বরূপ,- --scenario-numbers=1,3,5লুপ 1, 3, এবং 5 চালায়।
- যদি আপনি C++ লিখছেন এবং আপনার লুপের আচরণ পরিবর্তন করতে চান, তাহলে আপনার নেটিভ C++ কোডে নিম্নলিখিত অতিরিক্তটি দিন: - Kotlin- val launchIntent = intent val scenario = launchIntent.getIntExtra("scenario", 0) - Java- Intent launchIntent = getIntent(); int scenario = launchIntent.getIntExtra("scenario", 0); - আপনি এখন ফলাফলের - intমানের উপর ভিত্তি করে আপনার লুপের আচরণ পরিবর্তন করতে পারেন।
লেবেল গেম লুপ
যখন আপনি আপনার গেম লুপগুলিকে এক বা একাধিক দৃশ্যকল্প লেবেল দিয়ে লেবেল করেন, তখন আপনি এবং আপনার QA টিম সহজেই সম্পর্কিত গেম লুপের একটি সেট (যেমন, "সমস্ত সামঞ্জস্যপূর্ণ গেম লুপ") চালু করতে পারেন এবং একটি একক ম্যাট্রিক্সে সেগুলি পরীক্ষা করতে পারেন। আপনি আপনার নিজস্ব লেবেল তৈরি করতে পারেন অথবা Test Lab দ্বারা প্রদত্ত পূর্বনির্ধারিত লেবেলগুলি ব্যবহার করতে পারেন:
-  com.google.test.loops.player_experience: গেম খেলার সময় একজন প্রকৃত ব্যবহারকারীর অভিজ্ঞতা পুনরুত্পাদন করতে ব্যবহৃত লুপগুলির জন্য। এই লুপগুলি দিয়ে পরীক্ষার লক্ষ্য হল গেম খেলার সময় একজন প্রকৃত ব্যবহারকারী কোন সমস্যার সম্মুখীন হবেন তা খুঁজে বের করা।
-  com.google.test.loops.gpu_compatibility: GPU-সম্পর্কিত সমস্যাগুলি পরীক্ষা করার জন্য ব্যবহৃত লুপগুলির জন্য। এই লুপগুলি দিয়ে পরীক্ষার লক্ষ্য হল GPU কোড কার্যকর করা যা উৎপাদনে সঠিকভাবে চলতে পারে না, হার্ডওয়্যার এবং ড্রাইভারগুলির সমস্যাগুলি প্রকাশ করা।
-  com.google.test.loops.compatibility: I/O সমস্যা এবং OpenSSL সমস্যা সহ বিস্তৃত পরিসরের সামঞ্জস্যতা সমস্যা পরীক্ষা করতে ব্যবহৃত লুপগুলির জন্য।
-  com.google.test.loops.performance: ডিভাইসের কর্মক্ষমতা পরীক্ষা করার জন্য ব্যবহৃত লুপগুলির জন্য। উদাহরণস্বরূপ, একটি গেম সবচেয়ে জটিল গ্রাফিক্স সেটিংসে চলতে পারে যাতে একটি নতুন ডিভাইস কীভাবে আচরণ করে তা দেখা যায়।
আপনার অ্যাপটিকে একই লেবেল সহ লুপ চালানোর জন্য সক্ষম করতে:
- যদি আপনি টেস্ট লুপ ম্যানেজার দিয়ে একটি পরীক্ষা চালাচ্ছেন: - আপনার অ্যাপের ম্যানিফেস্টে, নিম্নলিখিত মেটা-ডেটা লাইনটি যোগ করুন এবং LABEL_NAME পরিবর্তে আপনার পছন্দের একটি লেবেল দিন: - <meta-data android:name="com.google.test.loops.LABEL_NAME" android:value="1,3-5" /> - android:valueক্ষেত্রে, আপনি 1 থেকে 1024 (একটি পরীক্ষার জন্য অনুমোদিত সর্বোচ্চ সংখ্যক লুপ) পর্যন্ত একটি পরিসর বা পূর্ণসংখ্যার সেট নির্দিষ্ট করতে পারেন যা আপনি যে লুপগুলিকে লেবেল করতে চান তা উপস্থাপন করে। মনে রাখবেন যে লুপগুলি 0 থেকে নয়, 1 থেকে শুরু করে সূচী করা হয়। উদাহরণস্বরূপ,- android:value="1,3-5"1, 3, 4 এবং 5 লুপগুলিতে LABEL_NAME প্রয়োগ করে।
- টেস্ট লুপ ম্যানেজার অ্যাপে, লেবেল ক্ষেত্রে এক বা একাধিক লেবেল লিখুন। 
 
- যদি আপনি Firebase কনসোল দিয়ে পরীক্ষা চালাচ্ছেন, তাহলে Labels ক্ষেত্রে এক বা একাধিক লেবেল লিখুন। 
- যদি আপনি gcloud CLI দিয়ে পরীক্ষা চালাচ্ছেন, - --scenario-labelsপতাকা (যেমন,- --scenario-labels=performance,gpu) ব্যবহার করে এক বা একাধিক দৃশ্যকল্প লেবেল নির্দিষ্ট করুন।
অ্যাপ লাইসেন্সিং সহায়তা
Test Lab এমন অ্যাপগুলিকে সমর্থন করে যেগুলি গুগল প্লে দ্বারা প্রদত্ত অ্যাপ লাইসেন্সিং পরিষেবা ব্যবহার করে। Test Lab দিয়ে আপনার অ্যাপ পরীক্ষা করার সময় লাইসেন্সিং সফলভাবে পরীক্ষা করতে, আপনাকে অবশ্যই প্লে স্টোরের প্রোডাকশন চ্যানেলে আপনার অ্যাপ প্রকাশ করতে হবে। Test Lab ব্যবহার করে আলফা বা বিটা চ্যানেলে আপনার অ্যাপ পরীক্ষা করতে, Test Lab আপনার অ্যাপ আপলোড করার আগে লাইসেন্সিং চেকটি সরিয়ে ফেলুন।
জ্ঞাত সমস্যা
Test Lab গেম লুপ পরীক্ষায় নিম্নলিখিত জ্ঞাত সমস্যাগুলি রয়েছে:
-  কিছু ক্র্যাশ ব্যাকট্রেস সমর্থন করে না। উদাহরণস্বরূপ, কিছু রিলিজ বিল্ড prctl(PR_SET_DUMPABLE, 0)ব্যবহার করেdebuggerdপ্রক্রিয়ার আউটপুট দমন করতে পারে। আরও জানতে,debuggerdদেখুন।
- ফাইল অনুমতির ত্রুটির কারণে API লেভেল 19 বর্তমানে সমর্থিত নয়।