เผยแพร่แอป Android ให้ผู้ทดสอบโดยใช้ Firebase CLI


คู่มือนี้อธิบายวิธีเผยแพร่ APK ให้ผู้ทดสอบ โดยใช้ Firebase CLI เครื่องมือ CLI ช่วยให้คุณระบุผู้ทดสอบและ หมายเหตุประจำรุ่นสำหรับบิลด์ จากนั้นจะเผยแพร่บิลด์ตามที่ระบุ

ก่อนเริ่มต้น

  1. เพิ่ม Firebase ลงในโปรเจ็กต์ Android หากยังไม่ได้เพิ่ม

    หากไม่ได้ใช้ผลิตภัณฑ์อื่นๆ ของ Firebase คุณจะต้องสร้างโปรเจ็กต์และลงทะเบียนแอปเท่านั้น แต่หากตัดสินใจที่จะใช้ผลิตภัณฑ์เพิ่มเติมในอนาคต โปรดทําตามขั้นตอนทั้งหมดในหน้าที่ลิงก์ไว้ด้านบน

  2. เปิดหน้าApp Distributionของคอนโซล Firebase เลือกโปรเจ็กต์ Firebase เมื่อได้รับแจ้ง เลือก แอปโดยใช้ตัวสลับแอป แล้วคลิกเริ่มต้นใช้งาน

ขั้นตอนที่ 1 สร้างแอป

เมื่อพร้อมที่จะเผยแพร่แอปเวอร์ชันทดลองให้ผู้ทดสอบแล้ว ให้สร้าง APK โดยใช้กระบวนการปกติ คุณต้องลงนาม APK ด้วยคีย์การแก้ไขข้อบกพร่อง หรือคีย์ App Signing

ขั้นตอนที่ 2 แจกจ่ายแอปให้ผู้ทดสอบ

หากต้องการเผยแพร่แอปไปยังผู้ทดสอบ ให้อัปโหลดไฟล์ของแอปโดยใช้ Firebase CLI ดังนี้

  1. ติดตั้งหรืออัปเดตเป็น Firebase CLI เวอร์ชันล่าสุด (เราขอแนะนำให้ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI ที่เจาะจงสำหรับระบบปฏิบัติการของคุณ) อย่าลืมลงชื่อเข้าใช้และทดสอบว่าคุณเข้าถึงโปรเจ็กต์ ได้ ได้ด้วย
  2. เรียกใช้appdistribution:distributeคำสั่งเพื่ออัปโหลดแอปและ แจกจ่ายให้ผู้ทดสอบ ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่า การเผยแพร่

    appdistribution:distribute options
    --app

    ต้องระบุ: รหัสแอป Firebase ของแอป คุณดูรหัสแอปได้ในคอนโซล Firebase ใน หน้าการตั้งค่าทั่วไป

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    โทเค็นการรีเฟรชที่พิมพ์เมื่อคุณตรวจสอบสิทธิ์สภาพแวดล้อม CI ด้วย Firebase CLI (อ่านใช้ CLI กับระบบ CI เพื่อดูข้อมูลเพิ่มเติม)

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    บันทึกประจำรุ่นสำหรับบิลด์นี้

    คุณระบุหมายเหตุประจำรุ่นได้โดยตรงดังนี้

    --release-notes "Text of release notes"

    หรือระบุเส้นทางไปยังไฟล์ข้อความธรรมดา

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    อีเมลของผู้ทดสอบที่คุณต้องการเชิญ

    คุณระบุผู้ทดสอบเป็นรายการอีเมลที่คั่นด้วยคอมมาได้โดยทำดังนี้

    --testers "ali@example.com, bri@example.com, cal@example.com"

    หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มี รายการอีเมลที่คั่นด้วยคอมมาก็ได้

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    กลุ่มผู้ทดสอบที่คุณต้องการเชิญ (ดูจัดการผู้ทดสอบ) โดยจะระบุกลุ่มโดยใช้ชื่อแทนกลุ่ม ซึ่งคุณสามารถ ค้นหาได้ในคอนโซล Firebase

    คุณระบุกลุ่มเป็นรายการที่คั่นด้วยคอมมาได้ดังนี้

    --groups "qa-team, trusted-testers"

    หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มี รายการชื่อกลุ่มที่คั่นด้วยคอมมาก็ได้

    --groups-file "/path/to/groups.txt"
    --debug

    แฟล็กที่คุณใส่เพื่อพิมพ์เอาต์พุตบันทึกแบบละเอียดได้

    --test-devices
    --test-devices-file

    อุปกรณ์ทดสอบที่คุณต้องการเรียกใช้การทดสอบตัวแทนการทดสอบแอป

    คุณระบุอุปกรณ์ทดสอบเป็นรายการข้อมูลจำเพาะของอุปกรณ์ที่คั่นด้วยเครื่องหมายอัฒภาคได้ดังนี้

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait"

    หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการอุปกรณ์ทดสอบซึ่งคั่นด้วยเครื่องหมายอัฒภาคก็ได้ โดยทำดังนี้

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป

    --test-password
    --test-password-file

    รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป

    หรือจะระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่านก็ได้ โดยทำดังนี้

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    ชื่อทรัพยากรของช่องชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่างการทดสอบตัวแทนการทดสอบแอป

    --test-password-resource

    ชื่อทรัพยากรสำหรับช่องรหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่างการทดสอบตัวแทนการทดสอบแอป

    --test-non-blocking

    หากตั้งค่าเมื่อเรียกใช้การทดสอบของ App Testing Agent คำสั่งจะเริ่มการทดสอบแล้วกลับทันที แทนที่จะรอให้การทดสอบเสร็จสมบูรณ์ หากต้องการดูผลการทดสอบ ให้ไปที่คอนโซล Firebase หากไม่ได้ตั้งค่าสถานะนี้ คำสั่ง จะบล็อกจนกว่าการทดสอบจะเสร็จสมบูรณ์ และจะออกพร้อมรหัส ความล้มเหลวหากการทดสอบใดๆ ล้มเหลว

    เช่น

    firebase appdistribution:distribute test.apk  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    Firebase CLI จะแสดงลิงก์ต่อไปนี้หลังจากอัปโหลดรุ่น ลิงก์เหล่านี้ช่วยให้คุณจัดการไบนารีและตรวจสอบว่าผู้ทดสอบและนักพัฒนาแอปอื่นๆ มีรุ่นที่ถูกต้อง

    • firebase_console_uri - ลิงก์ไปยังคอนโซล Firebaseที่แสดงผลงานเดียว คุณสามารถแชร์ลิงก์นี้กับนักพัฒนาแอปคนอื่นๆ ในองค์กรได้
    • testing_uri - ลิงก์ไปยังรุ่นในประสบการณ์การใช้งานของผู้ทดสอบ (แอป Android เนทีฟ) ซึ่งช่วยให้ผู้ทดสอบดูหมายเหตุประจำรุ่น และติดตั้งแอปในอุปกรณ์ของตนได้ ผู้ทดสอบต้องมี สิทธิ์เข้าถึงรุ่นจึงจะใช้ลิงก์ได้
    • binary_download_uri - ลิงก์ที่ลงนามซึ่งจะดาวน์โหลดและติดตั้งไบนารีของแอปโดยตรง (ไฟล์ APK หรือ AAB) ลิงก์จะหมดอายุหลังจาก 1 ชั่วโมง

    จัดการผู้ทดสอบและกลุ่ม

    นอกเหนือจากการเผยแพร่รุ่นแล้ว คุณยังใช้ appdistribution:testers:add และ appdistribution:testers:remove เพื่อเชิญผู้ทดสอบใหม่หรือนำผู้ทดสอบที่มีอยู่ออกจากโปรเจ็กต์ Firebase ได้ด้วย

    เมื่อเพิ่มผู้ทดสอบลงในโปรเจ็กต์ Firebase แล้ว คุณจะเพิ่มผู้ทดสอบลงในแต่ละรุ่นได้ เมื่อนำผู้ทดสอบออกแล้ว ผู้ทดสอบจะเข้าถึงรุ่นในโปรเจ็กต์ไม่ได้อีกต่อไป โปรดทราบว่าผู้ทดสอบที่เพิ่งถูกนำออกจะยังคงมีสิทธิ์เข้าถึงรุ่นของคุณในช่วงระยะเวลาหนึ่ง

    เช่น

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com

    โดยต้องคั่นอีเมลของผู้ทดสอบด้วยการเว้นวรรค นอกจากนี้ คุณยังระบุผู้ทดสอบได้โดยใช้ --file /path/to/testers.txt

    หากมีผู้ทดสอบจำนวนมาก คุณควรพิจารณาใช้กลุ่มโดยทำดังนี้ คุณสามารถใช้ appdistribution:group:create และ appdistribution:group:delete เพื่อสร้างหรือลบกลุ่มในโปรเจ็กต์ Firebase ได้

    ใช้ --group-alias เพื่อระบุกลุ่มสำหรับคำสั่ง appdistribution:testers:add และ appdistribution:testers:remove

    เช่น

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

เมื่อคุณเผยแพร่บิลด์แล้ว บิลด์จะพร้อมใช้งานใน App Distributionแดชบอร์ดของคอนโซลFirebaseเป็นเวลา 150 วัน (5 เดือน) เมื่อบิลด์เหลือเวลาอีก 30 วันก็จะหมดอายุ การแจ้งเตือนการหมดอายุจะปรากฏทั้งในคอนโซลและรายการบิลด์ของผู้ทดสอบในอุปกรณ์ทดสอบ

ผู้ทดสอบที่ยังไม่ได้รับเชิญให้ทดสอบแอปจะได้รับคำเชิญทางอีเมลให้ เริ่มต้นใช้งาน และผู้ทดสอบที่มีอยู่จะได้รับการแจ้งเตือนทางอีเมลว่ามีบิลด์ใหม่ พร้อมให้ทดสอบแล้ว (อ่าน คู่มือการตั้งค่าสำหรับผู้ทดสอบ เพื่อดูวิธีการติดตั้งแอปทดสอบ) คุณสามารถตรวจสอบสถานะของผู้ทดสอบแต่ละรายได้ ไม่ว่าผู้ทดสอบจะยอมรับคำเชิญและดาวน์โหลดแอปหรือไม่ก็ตามในFirebaseคอนโซล

ผู้ทดสอบมีเวลา 30 วันในการตอบรับคำเชิญให้ทดสอบแอปก่อนที่คำเชิญจะหมดอายุ เมื่อคำเชิญเหลือเวลาอีก 5 วันก็จะหมดอายุ การแจ้งเตือนการหมดอายุจะปรากฏใน Firebase คอนโซลข้างผู้ทดสอบในรุ่น คุณต่ออายุคำเชิญได้โดยส่งอีกครั้งโดยใช้เมนูแบบเลื่อนลงในแถวของผู้ทดสอบ

ขั้นตอนถัดไป