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

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

قبل از اینکه شروع کنی

اگر هنوز Firebase را به پروژه اندروید خود اضافه نکرده‌اید، آن را اضافه کنید.

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

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

  2. در زیر API تسترهای برنامه Firebase، روی فعال کردن کلیک کنید.

مرحله ۲: App Distribution به برنامه خود اضافه کنید

SDK اندروید App Distribution شامل دو کتابخانه است:

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

کتابخانه‌ی صرفاً API به کد شما اجازه می‌دهد تا SDK را فراخوانی کند. اگر پیاده‌سازی کامل SDK وجود نداشته باشد، این فراخوانی‌ها هیچ تاثیری نخواهند داشت.

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

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

  3. وابستگی مربوط به SDK اندروید 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-ktx:16.0.0-beta15")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta17")
    }

    Java

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

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

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

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

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

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

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

  2. بررسی‌هایی را انجام می‌دهد تا مطمئن شود که آزمایش‌کننده ویژگی‌های آزمایش SDK را فعال کرده است. اگر ویژگی‌های آزمایش فعال نباشند، SDK اندروید از آزمایش‌کننده می‌خواهد که با حساب گوگل خود به 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. حالت توسعه (dev mode) را روی دستگاه محلی خود فعال کنید:

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

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

    adb shell setprop debug.firebase.appdistro.devmode false

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

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

  1. یک نسخه جدید از برنامه را در App Distribution آپلود کنید.

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

  3. برنامه را از طریق وب App Distribution یا برنامه تستر اندروید دانلود کنید.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ارسال بازخورد جدید به ابزارهای شخص ثالث

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

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

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

    1. Node.js و npm را دانلود کنید.

    2. Firebase CLI را نصب و وارد آن شوید.

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

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

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

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