جمع‌آوری بازخورد از آزمونگران

این راهنما نحوه فعال کردن بازخورد درون‌برنامه بااستفاده از Firebase App Distribution Android SDK اختیاری را شرح می‌دهد تا آزمایش‌کنندگان شما بتوانند بازخورد (ازجمله نماگرفت) را مستقیماً در برنامه ارسال کنند.

قبل از شروع

اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه Android خود اضافه کنید.

مرحله ۱: فعال کردن App Distribution Tester API

  1. کنسول Google Cloud را باز کنید و پروژه Firebase خود را انتخاب کنید.

  2. در بخش Firebase App Testers API، روی فعال کردن کلیک کنید.

مرحله ۲: افزودن App Distribution به برنامه

‫App Distribution Android SDK از دو کتابخانه تشکیل شده است:

  • firebase-appdistribution-api: کتابخانه فقط API که می‌توانید آن را در همه گونه‌های ساخت بگنجانید.
  • ‫firebase-appdistribution: پیاده‌سازی کامل کیت توسعه نرم‌افزار (اختیاری).

کتابخانه فقط API به کد شما اجازه می‌دهد تا با کیت توسعه نرم‌افزار تماس بگیرد. اگر پیاده‌سازی کامل کیت توسعه نرم‌افزار وجود نداشته باشد، تماس‌ها هیچ تأثیری نخواهند داشت.

  1. وابستگی را برای App Distribution Android SDK در فایل Gradle واحد (سطح برنامه) (معمولاً <project>/<app-module>/build.gradle.kts یا <project>/<app-module>/build.gradle) اعلام کنید.

  2. برای اینکه از گنجاندن عملکرد خودبه‌روزرسانی پیاده‌سازی کامل کیت توسعه نرم‌افزار در ساخت‌های Google Play خود جلوگیری کنید، گونه‌های ساخت را، ازجمله انواع ساخت یا طعم‌های محصول که ازطریق App Distribution توزیع خواهید کرد، شناسایی کنید.

  3. وابستگی به App Distribution Android SDK را در فایل Gradle واحد (سطح برنامه) (معمولاً app/build.gradle) اعلام کنید. فقط پیاده‌سازی کامل SDK را به گونه‌هایی اضافه کنید که منحصراً برای آزمایش پیش‌انتشار درنظر گرفته شده‌اند:

    Kotlin

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta20")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta20")
    }

    Java

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta20")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta20")
    }

به‌دنبال واحد کتابخانه ویژه Kotlin هستید؟ از نسخه اکتبر ۲۰۲۳ شروع می‌شود، توسعه‌دهندگان Kotlin و Java می‌توانند به واحد کتابخانه اصلی تکیه کنند، برای جزئیات، پرسشگان درباره این طرح ابتکاری را ببینید.

مرحله ۳: پیکربندی کردن بازخورد درون‌برنامه‌ای

برای جمع‌آوری بازخورد از آزمونگران، از یکی از راه‌اندازهای زیر برای فعال کردن آزمونگران برای شروع بازخورد استفاده کنید:

  • راه‌انداز اعلان داخلی: «کیت توسعه نرم‌افزار» Android App Distribution می‌تواند اعلان جاری‌ای نمایش دهد که آزمایشگر می‌تواند از هرجایی در برنامه روی آن ضربه بزند. اگر می‌خواهید سریع‌تر شروع کنید و نیازی به سفارشی‌سازی نحوه ارائه بازخورد توسط آزمایشگران ندارید، از این راه‌انداز استفاده کنید.

  • محرک سفارشی: می‌توانید سازوکار محرک خودتان را ارائه دهید، مثلاً تک‌ضرب زدن روی دکمه یا مورد منو در برنامه یا تکان دادن دستگاه.

وقتی از هریک از این راه‌اندازها استفاده می‌کنید و آزمایشگر بازخورد ارسال می‌کند، «کیت توسعه نرم‌افزار Android» کنش‌های زیر را انجام می‌دهد:

  1. از فعالیت فعلی برنامه نماگرفت می‌گیرد.

  2. بررسی‌هایی را اجرا می‌کند تا مطمئن شود آزمایش‌گر ویژگی‌های آزمایش «کیت توسعه نرم‌افزار» را فعال کرده است. اگر ویژگی‌های آزمایشی فعال نباشند، «کیت توسعه نرم‌افزار Android» از آزمایشگر می‌خواهد که با «حساب Google» خود به سیستم App Distribution وارد شود.

  3. فعالیت تمام‌صفحه‌ای را شروع می‌کند که به آزمایشگر اجازه می‌دهد بازخوردش را بنویسد و ارسال کند.

گزینه ۱: راه‌انداز اعلان

از showFeedbackNotification() برای نمایش اعلان ماندگار یا درجریان در دستگاه آزمایش‌کننده استفاده کنید که می‌تواند برای شروع بازخورد روی آن تک‌ضرب بزند. وقتی اعلان را پیکربندی می‌کنید، باید مقداری نوشتار ارائه دهید که قبل‌از ارسال بازخورد به آزمایشگر نمایش داده می‌شود، و سطح مزاحمت برای اعلان (متناسب با اهمیت کانال اعلان). اگر می‌خواهید درباره جمع‌آوری و پردازش داده‌های بازخورد به آزمایش‌کنندگان خود اطلاع دهید، می‌توانید از این نوشتار برای ارائه چنین اطلاعی استفاده کنید.

وقتی از showFeedbackNotification() استفاده می‌کنید و وقتی برنامه به پس‌زمینه می‌رود، اعلان پنهان می‌شود. اگر می‌خواهید اعلان را به‌طور صریح پنهان کنید، از cancelFeedbackNotification() استفاده کنید. توصیه می‌کنیم showFeedbackNotification() را در onCreate() فعالیت اصلی‌تان قرار دهید.

Kotlin

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Firebase.appDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH)
    }
}

Java

public class MainActivity extends AppCompatActivity {
    FirebaseAppDistribution firebaseAppDistribution =
        FirebaseAppDistribution.getInstance();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        firebaseAppDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH);
    }
}

گزینه ۲: راه‌انداز سفارشی

از روش startFeedback() برای شروع بازخورد بااستفاده از سازوکار انتخابی خودتان استفاده کنید. برای مثال، برای راه‌اندازی بازخورد، می‌توانید مورد منو «ارسال بازخورد» را به منو کنش برنامه اضافه کنید، یا به آزمایش‌کنندگان اجازه دهید دستگاهشان را تکان دهند یا نماگرفت بگیرند. وقتی بازخورد را راه‌اندازی می‌کنید، نوشتاری ارائه دهید که قبل‌از ارسال بازخورد به آزمایشگر نشان داده شود. اگر می‌خواهید به آزمایش‌کنندگان خود درباره جمع‌آوری و پردازش داده‌های بازخوردشان اطلاع دهید، می‌توانید از این نوشتار برای ارائه چنین اعلانی استفاده کنید.

Kotlin

Firebase.appDistribution.startFeedback(R.string.feedbackMessage)

Java

FirebaseAppDistribution.getInstance().startFeedback(R.string.feedbackMessage);

مرحله ۴: ساختن و آزمایش کردن پیاده‌سازی

آزمایش محلی

برای آزمایش پیاده‌سازی بدون نیاز به توزیع برنامه ابتدا، این مراحل را دنبال کنید:

  1. حالت توسعه‌دهنده را در دستگاه محلی‌تان فعال کنید:

    adb shell setprop debug.firebase.appdistro.devmode true
  2. برنامه‌تان را به‌عنوان گونه پیش‌انتشار بسازید که شامل کامل App Distribution کتابخانه‌ها باشد، و آزمایش کنید که می‌توانید بااستفاده از سازوکار پیاده‌سازی‌شده در مرحله ۳: پیکربندی بازخورد درون‌برنامه بازخورد را راه‌اندازی کنید. وقتی در حالت توسعه‌دهنده هستید، بازخورد ارسال نمی‌شود.

  3. پس‌از آزمایش، می‌توانید حالت توسعه‌دهنده را در دستگاهتان غیرفعال کنید:

    adb shell setprop debug.firebase.appdistro.devmode false

آزمایش سرتاسر

برای آزمایش اینکه برنامه‌تان می‌تواند بازخورد ارسال کند، برنامه‌تان را به‌عنوان گونه پیش‌انتشار بسازید که شامل کتابخانه‌های کامل App Distribution باشد، و پیاده‌سازی‌تان را با دنبال کردن این مراحل آزمایش کنید:

  1. نسخه پخش جدید برنامه را در App Distribution بارگذاری کنید.

  2. نسخه پخش برنامه را در حسابی که اجازه دسترسی به آن را دارید توزیع کنید.

  3. برنامه را ازطریق وب App Distribution یا برنامه آزمایش‌کننده Android بارگیری کنید.

  4. بازخورد را بااستفاده از سازوکار پیاده‌سازی‌شده در مرحله ۳: پیکربندی بازخورد درون‌برنامه‌ای راه‌اندازی کنید.

  5. مطمئن شوید با همان حسابی که نسخه پخش برنامه را توزیع کرده‌اید به سیستم وارد شده‌اید و بازخورد ارسال کنید.

  6. بازخوردتان را در کارت نسخه جدید در کنسول Firebase ببینید.

برای آشنایی با نحوه رفع مشکلات رایج، مثل اینکه آزمایش‌کنندگان نمی‌توانند بازخورد را در برنامه شروع کنند، به فعال کردن ویژگی‌های آزمایش با کیت توسعه نرم‌افزار مراجعه کنید.

مرحله ۵: مدیریت بازخورد آزمایش‌گران

پس‌از اینکه به آزمایش‌کنندگان اجازه دادید بازخورد ارسال کنند، می‌توانید از ابزارهای زیر برای بررسی و اقدام روی آن بازخورد استفاده کنید:

مشاهده و حذف بازخورد در کنسول Firebase

با باز کردن زبانه بازخورد آزمایش‌کننده در زیر نسخه پخش خاصی در کنسول Firebase، می‌توانید بازخورد کاربر، ازجمله نماگرفت‌ها، را مرور و حذف کنید. بازخورد کاربر براساس نسخه پخش سازماندهی می‌شود تا بتوانید نسخه مربوط به بازخورد را تأیید کنید.

پس‌از بررسی بازخورد کاربر، می‌توانید آن بازخورد را با کلیک کردن روی دکمه حذف بازخورد حذف کنید. بازخورد حذف‌شده از نسخه پخش شما برداشته می‌شود.

دریافت هشدارهای ایمیلی برای بازخوردهای جدید

برای اینکه به‌صورت پیش‌دستانه از بازخوردهای جدید آزمایش‌کننده مطلع شوید، می‌توانید وقتی آزمایش‌کننده‌ای بازخورد ارسال می‌کند، هشدارهای ایمیلی دریافت کنید. هشدار ایمیل شامل بازخورد نوشتاری ارائه‌شده توسط آزمایش‌کننده شما و پیوندی به هر نماگرفتی است که ارسال کرده است.

برای دریافت هشدارهای ایمیلی App Distribution بااستفاده از این سازوکار پیش‌فرض، باید اجازه firebase.projects.update را داشته باشید. نقش‌های زیر به‌طور پیش‌فرض شامل این اجازه لازم هستند: سرپرست Firebase یا پروژه مالک یا تدوین‌گر.

به‌طور پیش‌فرض، هر عضو پروژه که اجازه‌های لازم برای دریافت هشدارهای ایمیلی را داشته باشد، وقتی گزارش بازخورد جدیدی ارسال می‌شود ایمیلی دریافت خواهد کرد. اعضای پروژه می‌توانند به‌صورت جداگانه از این هشدارها انصراف دهند.

برای غیرفعال کردن هشدارهای ایمیلی، به دریافت هشدارهای Firebase مراجعه کنید.

ارسال بازخورد جدید به ابزارهای طرف سوم

همچنین می‌توانید بااستفاده از Cloud Functions for Firebase، App Distribution هشدار به کانال اعلان ترجیحی تیمتان ارسال کنید. برای مثال، می‌توانید تابعی بنویسید که رویداد هشدار برای بازخورد درون‌برنامه‌ای جدید را ضبط کند و اطلاعات هشدار را در سرویس طرف سومی مثل Discord،‏ Slack، یا Jira پست کند.

برای راه‌اندازی قابلیت‌های هشدار پیشرفته بااستفاده از Cloud Functions for Firebase، این مراحل را دنبال کنید:

  1. راه‌اندازی Cloud Functions for Firebase، که شامل تکالیف زیر می‌شود:

    1. ‫Node.js و npm را بارگیری کنید.

    2. «میانای خط فرمان» Firebase را نصب کنید و به سیستم آن وارد شوید.

    3. ‫Cloud Functions for Firebase را بااستفاده از Firebase CLI مقداردهی اولیه کنید.

  2. تابعی بنویسید و پیاده‌سازی کنید که رویداد هشدار بازخورد درون‌برنامه‌ای را از App Distribution ضبط کند و بار رویداد را مدیریت کند (برای مثال، اطلاعات هشدار را در پیامی در Discord پست کند).

برای دیدن تابع نمونه‌ای که نحوه ارسال بازخورد جدید به Jira را نشان می‌دهد، به این نمونه تابع مراجعه کنید.

برای آشنایی با همه رویدادهای هشداری که می‌توانید ضبط کنید، به اسناد مرجع برای هشدارهای App Distribution مراجعه کنید.