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

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

ก่อนที่คุณจะเริ่ม

หากคุณยังไม่ได้ เพิ่ม Firebase ในโครงการ Android ของคุณ

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

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

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

ขั้นตอนที่ 2 เผยแพร่แอปของคุณให้กับผู้ทดสอบ

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

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

    appdistribution: ตัวเลือกการกระจาย
    --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;model=b0q,version=33,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

    เรียกใช้ การทดสอบอัตโนมัติ แบบอะซิงโครนัส ไปที่คอนโซล 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) ลิงก์จะหมดอายุหลังจากหนึ่งชั่วโมง

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

    นอกเหนือจากการเผยแพร่รุ่นต่างๆ แล้ว คุณยังสามารถใช้ 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 วัน (ห้าเดือน) เมื่อบิลด์มีอายุ 30 วันนับจากวันหมดอายุ ข้อความแจ้งการหมดอายุจะปรากฏทั้งในคอนโซลและรายการบิลด์ของผู้ทดสอบบนอุปกรณ์ทดสอบ

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

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

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