Catch up on everthing we announced at this year's Firebase Summit. Learn more

গেম লুপ পরীক্ষা দিয়ে শুরু করুন

গেমিং অ্যাপগুলি বিভিন্ন UI ফ্রেমওয়ার্কের উপর নির্মিত হলে গেম টেস্টিং স্বয়ংক্রিয় করা কঠিন হতে পারে। গেম লুপ টেস্টগুলি আপনাকে টেস্ট ল্যাবের সাথে আপনার নেটিভ টেস্টগুলিকে একীভূত করতে এবং আপনার নির্বাচিত ডিভাইসগুলিতে সহজেই চালাতে দেয়৷ একটি গেম লুপ পরীক্ষা আপনার গেমিং অ্যাপের মাধ্যমে আপনার পরীক্ষা চালায় যখন একজন প্রকৃত খেলোয়াড়ের ক্রিয়াগুলি অনুকরণ করে। এই নির্দেশিকা আপনাকে দেখায় কিভাবে একটি গেম লুপ পরীক্ষা চালাতে হয়, তারপর Firebase কনসোলে আপনার পরীক্ষার ফলাফল দেখুন এবং পরিচালনা করুন।

আপনার খেলা ইঞ্জিনের উপর ভিত্তি করে, আপনি একক বা সঙ্গে পরীক্ষা বাস্তবায়ন করতে একাধিক লুপ । লুপ হল আপনার গেমিং অ্যাপে আপনার পরীক্ষার সম্পূর্ণ বা আংশিক রান-থ্রু। গেম লুপ ব্যবহার করা যেতে পারে:

  • আপনার গেমের একটি স্তর চালান যেভাবে একজন শেষ ব্যবহারকারী এটি খেলবে। আপনি হয় ব্যবহারকারীর ইনপুট স্ক্রিপ্ট করতে পারেন, ব্যবহারকারীকে নিষ্ক্রিয় থাকতে দিন, অথবা ব্যবহারকারীকে AI দিয়ে প্রতিস্থাপন করতে পারেন যদি এটি আপনার গেমে বোধগম্য হয় (যেমন, বলুন আপনার কাছে একটি রেস কার গেমিং অ্যাপ রয়েছে এবং ইতিমধ্যে একটি AI প্রয়োগ করা হয়েছে৷ আপনি করতে পারেন৷ সহজেই একজন এআই ড্রাইভারকে ব্যবহারকারীর ইনপুটের দায়িত্বে রাখুন)।
  • ডিভাইসগুলি এটি সমর্থন করে কিনা তা দেখতে সর্বোচ্চ মানের সেটিংসে আপনার গেমটি চালান৷
  • একটি প্রযুক্তিগত পরীক্ষা চালান (একাধিক শেডার কম্পাইল করুন, তাদের চালান, পরীক্ষা করুন যে আউটপুট প্রত্যাশিত, ইত্যাদি)।

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

তুমি শুরু করার আগে

একটি পরীক্ষা বাস্তবায়ন করতে, আপনাকে প্রথমে গেম লুপ পরীক্ষার জন্য আপনার অ্যাপ কনফিগার করতে হবে।

  1. আপনার অ্যাপ ম্যানিফেস্ট ক্ষেত্রে, আপনার জন্য একটি নতুন অভিপ্রায় ফিল্টার যোগ কার্যকলাপ :

    <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>
    

    এটি টেস্ট ল্যাবকে একটি নির্দিষ্ট অভিপ্রায়ে ট্রিগার করে আপনার গেমটি চালু করার অনুমতি দেয়।

  2. আপনার কোড (আমরা ভিতরে সুপারিশ সালে onCreate পদ্ধতি ঘোষণা), নিম্নলিখিত যোগ করুন:

    জাভা

    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
    }

    কোটলিন+কেটিএক্স

    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
    }

    এটি আপনার ক্রিয়াকলাপটিকে এটি চালু করার অভিপ্রায়টি পরীক্ষা করার অনুমতি দেয়৷ আপনি যদি চান তবে আপনি পরে এই কোডটি যোগ করতে পারেন (যেমন, প্রাথমিকভাবে আপনার গেম ইঞ্জিন লোড করার পরে)।

  3. প্রস্তাবিত: পরীক্ষার শেষে, যোগ করুন:

    জাভা

    yourActivity.finish();

    কোটলিন+কেটিএক্স

    yourActivity.finish()

    গেম লুপ পরীক্ষা সম্পূর্ণ হলে এটি আপনার অ্যাপ বন্ধ করে দেয়। পরীক্ষাটি পরবর্তী লুপ শুরু করার জন্য আপনার অ্যাপের UI ফ্রেমওয়ার্কের উপর নির্ভর করে এবং আপনার অ্যাপটি বন্ধ করা বলে যে পরীক্ষাটি শেষ হয়েছে।

একটি গেম লুপ পরীক্ষা তৈরি করুন এবং চালান

আপনি গেম লুপ পরীক্ষার জন্য আপনার অ্যাপটি কনফিগার করার পরে, আপনি অবিলম্বে একটি পরীক্ষা তৈরি করতে এবং আপনার গেমিং অ্যাপে এটি চালাতে পারেন। হয় আপনি ব্যবহার টেস্ট ল্যাব একটি পরীক্ষা চালানোর জন্য চয়ন করতে পারেন Firebase কনসোল বা gcloud কমান্ড লাইন ইন্টারফেস (CLI) , অথবা একটি উপর স্থানীয় টেস্ট লুপ ম্যানেজার ব্যবহার করে ডিভাইস

একটি স্থানীয় ডিভাইসে চালান

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

টেস্ট লুপ ম্যানেজার ব্যবহার করে একটি স্থানীয় ডিভাইসে একটি পরীক্ষা চালানোর জন্য:

  1. ডাউনলোড টেস্ট লুপ ম্যানেজার একটি ফোন বা ট্যাবলেটে এবং চলমান করে এটি ইনস্টল:
    adb install testloopmanager.apk
  2. আপনার ডিভাইসের মধ্যে, আপনার ফোন বা ট্যাবলেটে টেস্ট লুপ অ্যাপস অ্যাপ্লিকেশানটি খুলুন। অ্যাপটি আপনার ডিভাইসে অ্যাপ্লিকেশানগুলির একটি তালিকা প্রদর্শন করে যা গেম লুপ দিয়ে চালানো যেতে পারে। আপনি এখানে আপনার গেমিং অ্যাপ্লিকেশন দেখতে না পান তাহলে, আপনার অভিপ্রায় ফিল্টার প্রথম ধাপে বর্ণনা এক সাথে মিলে যায় করা আগে আপনি অধ্যায় শুরু
  3. আপনার গেমিং অ্যাপ্লিকেশন নির্বাচন করুন, তারপর আপনি চালাতে চান লুপ সংখ্যা নির্বাচন করুন. দ্রষ্টব্য: এই ধাপে, আপনি শুধুমাত্র একটি লুপের পরিবর্তে লুপের একটি উপসেট চালানো বেছে নিতে পারেন। একযোগে একাধিক লুপ চলমান সম্পর্কে আরো তথ্যের জন্য, দেখুন ঐচ্ছিক বৈশিষ্ট্য।
  4. চালান পরীক্ষা ক্লিক করুন। আপনার পরীক্ষা অবিলম্বে চলমান শুরু হয়.

টেস্ট ল্যাবে চালান

হয় আপনি ব্যবহার টেস্ট ল্যাব একটি গেমের লুপ পরীক্ষা চালাতে পারেন Firebase কনসোল বা gcloud CLI। শুরু করার আগে, যদি আপনি ইতিমধ্যে না থাকে, তবে খুলে Firebase কনসোল এবং একটি প্রকল্প তৈরি করুন।

ফায়ারবেস কনসোল ব্যবহার করুন

  1. Firebase কনসোলে, বাম প্যানেল থেকে টেস্ট ল্যাব এ ক্লিক করুন।
  2. ক্লিক করে চালাতে আপনার প্রথম টেস্ট (বা রান টেস্ট যদি আপনার প্রকল্পের পূর্বে একটি পরীক্ষা চালানো হয়েছে)।
  3. খেলা লুপ পরীক্ষা ধরন হিসেবে নির্বাচন করুন, এবং তারপর অবিরত ক্লিক করুন।
  4. ব্রাউজ ক্লিক করুন, এবং তারপর আপনার অ্যাপ্লিকেশনের ব্রাউজ .apk ফাইল। দ্রষ্টব্য: এই ধাপে, আপনি শুধুমাত্র একটি লুপের পরিবর্তে লুপের একটি উপসেট চালানো বেছে নিতে পারেন। একযোগে একাধিক লুপ চলমান সম্পর্কে আরো তথ্যের জন্য, দেখুন ঐচ্ছিক বৈশিষ্ট্য।
  5. অবিরত ক্লিক করুন।
  6. আপনার অ্যাপ পরীক্ষা করতে ব্যবহার করার জন্য শারীরিক ডিভাইস নির্বাচন করুন।
  7. স্টার্ট টেস্ট ক্লিক করুন।

Firebase কনসোল দিয়ে শুরু হচ্ছে উপর আরো তথ্যের জন্য, দেখুন স্টার্ট Firebase কনসোল নিয়ে পরীক্ষা।

gcloud কমান্ড লাইন (CLI) ব্যবহার করুন

  1. যদি আপনি এমনটি না, ডাউনলোড আছে এবং ইনস্টল করা হলে Google মেঘ SDK এর।

  2. আপনার Google অ্যাকাউন্ট ব্যবহার করে gcloud CLI-তে লগ ইন করুন:

    gcloud auth login

  3. Gcloud, যেখানে আপনার Firebase প্রকল্প সেট PROJECT_ID আপনার Firebase প্রকল্পের আইডি নয়:

    gcloud config set project PROJECT_ID
    
  4. আপনার প্রথম পরীক্ষা চালান:

    gcloud firebase test android run \
     --type=game-loop --app=<var>path-to-apk</var> \
     --device model=herolte,version=23
    

Gcloud CLI সঙ্গে শুরু সম্পর্কে আরো তথ্যের জন্য, দেখুন স্টার্ট gcloud কম্যান্ড লাইন থেকে পরীক্ষা।

ঐচ্ছিক বৈশিষ্ট্য

টেস্ট ল্যাব বিভিন্ন ঐচ্ছিক বৈশিষ্ট্যগুলি অফার করে যা আপনাকে আপনার পরীক্ষাগুলিকে আরও কাস্টমাইজ করতে দেয়, যার মধ্যে আউটপুট ডেটা লেখার ক্ষমতা, একাধিক গেম লুপগুলির জন্য সমর্থন এবং সম্পর্কিত লুপের জন্য লেবেল রয়েছে৷

আউটপুট ডেটা লিখুন

আপনার গেমের লুপ পরীক্ষা উল্লেখিত একটি ফাইল আউটপুট লিখতে পারেন launchIntent.getData() পদ্ধতি। আপনি যদি একটি পরীক্ষা চালানো করার পরে, আপনি Firebase কনসোল টেস্ট ল্যাব বিভাগে এই আউটপুট ডেটা অ্যাক্সেস করতে পারে (দেখুন খেলা লুপ পরীক্ষা আউটপুট ফাইল উদাহরণ )।

টেস্ট ল্যাব বর্ণিত অ্যাপ্লিকেশান মধ্যে একটি ফাইল ভাগ করে নেওয়ার জন্য সর্বোত্তম কার্যাভ্যাস অনুসরণ একটি ফাইল ভাগ করা । আপনার কার্যকলাপের এর দশকে onCreate() পদ্ধতি, যেখানে আপনার অভিপ্রায় অবস্থিত, আপনাকে নিম্নলিখিত কোড চালিয়ে আপনার ডেটা আউটপুট ফাইল চেক করতে পারেন:

জাভা

Intent launchIntent = getIntent();
Uri logFile = launchIntent.getData();
if (logFile != null) {
    Log.i(TAG, "Log file " + logFile.getEncodedPath());
    // ...
}

কোটলিন+কেটিএক্স

val launchIntent = intent
val logFile = launchIntent.data
logFile?.let {
    Log.i(TAG, "Log file ${it.encodedPath}")
    // ...
}

আপনি যদি আপনার গেম অ্যাপের C++ পাশ থেকে ফাইলটিতে লিখতে চান তবে আপনি ফাইল পাথের পরিবর্তে ফাইল বর্ণনাকারীতে পাস করতে পারেন:

জাভা

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);

কোটলিন+কেটিএক্স

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);

সি++

#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 কনসোল টেস্ট ল্যাব বিভাগে লুপ পরীক্ষার ফলাফল আউটপুট ডাটা ফাইল (নীচে দেওয়া উদাহরণে মত ফরম্যাট) ব্যবহার করতে পারেন। এরিয়াস দেখানো হয়েছে /.../ কোনো কাস্টম ক্ষেত্র ধারণ করতে পারে আপনার যা দরকার যে, যতদিন তারা অন্যান্য এই ফাইলটি ব্যবহৃত ক্ষেত্র নামের সাথে সংঘাতে জড়িয়ে পড়ে না হিসাবে:

{
  "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-এ ক্র্যাশ হয়, আপনি ক্র্যাশ পুনরুত্পাদন করতে এবং বাগ ফিক্স পরীক্ষা করতে সরাসরি সেই গেম লুপটি চালু করতে পারেন।

একবারে একাধিক লুপ চালানোর জন্য আপনার অ্যাপকে সক্ষম করতে:

  • আপনি যদি টেস্ট লুপ ম্যানেজারের সাথে একটি পরীক্ষা চালাচ্ছেন:

    1. আপনার অ্যাপ্লিকেশনের স্পষ্ট করার জন্য নিম্নলিখিত লাইন যোগ করুন, ভিতরে <application> উপাদান:

      <meta-data
        android:name="com.google.test.loops"
        android:value="5" />
      

      এই লঞ্চের উদ্দেশ্য একটি পূর্ণসংখ্যা প্যারামিটার হিসাবে লক্ষ্য লুপ ধারণ করে। ইন android:value ক্ষেত্র, আপনি 1024 1 থেকে একটি পূর্ণসংখ্যা (ক একক পরীক্ষার জন্য অনুমতি দেওয়া লুপ সর্বোচ্চ সংখ্যা) নির্দিষ্ট করতে পারেন। লক্ষ্য করুন যে লুপগুলি 1 থেকে শুরু করে সূচক করা হয়, 0 নয়।

    2. টেস্ট লুপ ম্যানেজার অ্যাপে, একটি নির্বাচন স্ক্রীন প্রদর্শিত হয় যা আপনাকে কোন লুপ(গুলি) চালাতে চান তা নির্বাচন করতে দেয়। আপনি একাধিক লুপ নির্বাচন করলে, পূর্ববর্তী লুপ সম্পূর্ণ হওয়ার পর প্রতিটি লুপ ক্রমানুসারে চালু হয়।

  • আপনি Firebase কনসোল সঙ্গে একটি পরীক্ষা চালাচ্ছেন, তাহলে একটি তালিকা বা প্রেক্ষাপটে মাঠে লুপ সংখ্যার একটি পরিসীমা লিখুন।

  • আপনি gcloud CLI সঙ্গে একটি পরীক্ষা চালিয়ে থাকেন, ব্যবহার করে লুপ সংখ্যার একটি তালিকা নির্দিষ্ট --scenario-numbers পতাকা। উদাহরণস্বরূপ, --scenario-numbers=1,3,5 রান loops 1, 3 ও 5।

  • আপনি যদি C++ লিখছেন এবং আপনার লুপের আচরণ পরিবর্তন করতে চান, তাহলে আপনার নেটিভ C++ কোডে নিম্নলিখিত অতিরিক্তটি পাস করুন:

    জাভা

    Intent launchIntent = getIntent();
    int scenario = launchIntent.getIntExtra("scenario", 0);

    কোটলিন+কেটিএক্স

    val launchIntent = intent
    val scenario = launchIntent.getIntExtra("scenario", 0)

    আপনি এখন ফলে উপর ভিত্তি করে আপনার লুপ আচরণ পরিবর্তন করতে পারেন int মান।

লেবেল খেলা loops

আপনি যখন আপনার গেম লুপগুলিকে এক বা একাধিক দৃশ্যের লেবেল দিয়ে লেবেল করেন, তখন আপনি এবং আপনার QA টিম সহজেই সম্পর্কিত গেম লুপগুলির একটি সেট চালু করতে পারেন (যেমন, "সমস্ত সামঞ্জস্যপূর্ণ গেম লুপ") এবং একটি একক ম্যাট্রিক্সে পরীক্ষা করতে পারেন৷ আপনি নিজের লেবেল তৈরি করতে পারেন বা টেস্ট ল্যাব দ্বারা দেওয়া পূর্বনির্ধারিত লেবেলগুলি ব্যবহার করতে পারেন:

  • com.google.test.loops.player_experience যখন খেলা খেলে একটি বাস্তব ব্যবহারকারীর অভিজ্ঞতা পুনর্গঠন করা ব্যবহৃত loops জন্য। এই লুপগুলির সাথে পরীক্ষার লক্ষ্য হল এমন সমস্যাগুলি খুঁজে বের করা যা একজন প্রকৃত ব্যবহারকারী গেম খেলার সময় সম্মুখীন হবে।
  • com.google.test.loops.gpu_compatibility : পরীক্ষা জিপিইউ সংক্রান্ত সমস্যাগুলির করতে ব্যবহৃত loops জন্য। এই লুপগুলির সাথে পরীক্ষা করার লক্ষ্য হল GPU কোড চালানো যা উৎপাদনে সঠিকভাবে চলতে পারে না, হার্ডওয়্যার এবং ড্রাইভারের সমস্যাগুলি প্রকাশ করা।
  • com.google.test.loops.compatibility : লুপ আমি হে বিষয় ও দ্বারা OpenSSL সমস্যা সহ / সামঞ্জস্য বিষয়, বিস্তৃত পরিসর পরীক্ষা করতে ব্যবহৃত হয়।
  • com.google.test.loops.performance : ডিভাইসে কর্মক্ষমতা পরীক্ষা করতে ব্যবহৃত loops জন্য। উদাহরণস্বরূপ, একটি নতুন ডিভাইস কীভাবে আচরণ করে তা দেখতে একটি গেম সবচেয়ে জটিল গ্রাফিক্স সেটিংসে চলতে পারে।

একই লেবেল দিয়ে লুপ চালানোর জন্য আপনার অ্যাপকে সক্ষম করতে:

  • আপনি যদি টেস্ট লুপ ম্যানেজারের সাথে একটি পরীক্ষা চালাচ্ছেন:

    1. আপনার অ্যাপ্লিকেশনের স্পষ্ট, নিম্নলিখিত মেটা-ডেটা লাইন যোগ এবং প্রতিস্থাপন LABEL_NAME আপনার পছন্দের একটি ট্যাগ:

      <meta-data
       android:name="com.google.test.loops.LABEL_NAME"
       android:value="1,3-5" />
      

      ইন android:value ক্ষেত্র, আপনি একটি ব্যাপ্তি বা 1024 1 থেকে ইন্টিজার একটি সেট যে লুপ আপনি ট্যাগ করতে চান প্রতিনিধিত্ব (ক একক পরীক্ষার জন্য অনুমতি দেওয়া লুপ সর্বোচ্চ সংখ্যা) নির্দিষ্ট করতে পারেন। লক্ষ্য করুন লুপ 1 থেকে শুরু হয় সূচিবদ্ধ, 0. না উদাহরণস্বরূপ, android:value="1,3-5" প্রযোজ্য LABEL_NAME লুপ 1, 3, 4, ও 5 জন্য।

    2. টেস্ট লুপ ম্যানেজার অ্যাপে, লেবেল ক্ষেত্র এক বা একাধিক লেবেল লিখুন।

  • আপনি Firebase কনসোল সঙ্গে একটি পরীক্ষা চালিয়ে থাকেন, লেবেল ক্ষেত্র এক বা একাধিক লেবেল লিখুন।

  • আপনি gcloud CLI সঙ্গে একটি পরীক্ষা চালিয়ে থাকেন, ব্যবহার করে এক বা একাধিক দৃশ্যকল্প লেবেল উল্লেখ --scenario-labels পতাকা (যেমন, --scenario-labels=performance,gpu )।

অ্যাপ লাইসেন্সিং সমর্থন

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

জ্ঞাত সমস্যা

টেস্ট ল্যাবে গেম লুপ পরীক্ষায় নিম্নলিখিত পরিচিত সমস্যা রয়েছে:

  • কিছু ক্র্যাশ ব্যাকট্রেস সমর্থন করে না। উদাহরণস্বরূপ, কিছু মুক্তির আউটপুট দমন করতে পারে তৈরী করে debuggerd প্রক্রিয়া ব্যবহার করে prctl(PR_SET_DUMPABLE, 0) । আরো জানতে, দেখুন debuggerd
  • ফাইল অনুমতি ত্রুটির কারণে API স্তর 19 বর্তমানে সমর্থিত নয়।