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

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

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

  • เรียกใช้ APK ที่เพิ่มประสิทธิภาพ (ให้บริการโดย Google Play) ที่ปรับให้เหมาะกับอุปกรณ์ของผู้ทดสอบ

  • ค้นพบและแก้ไขปัญหาเฉพาะของอุปกรณ์

  • ทดสอบฟีเจอร์ App Bundle เช่น Play Feature Delivery และ Play Asset Delivery

  • ลดขนาดการดาวน์โหลดสำหรับผู้ทดสอบของคุณ

สิทธิ์ที่จำเป็น

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

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

ตารางต่อไปนี้ใช้กับการเชื่อมโยงแอป Firebase กับแอปใน Google Play รวมถึงการอัปโหลด AAB

การดำเนินการในคอนโซล Firebase สิทธิ์ IAM ที่จำเป็น บทบาท IAM ที่มีสิทธิ์ที่จำเป็นตามค่าเริ่มต้น บทบาทที่จำเป็นเพิ่มเติม
เชื่อมโยงแอป Firebase กับแอปใน Google Play firebase.playLinks.update หนึ่งในบทบาทต่อไปนี้: เข้าถึงบัญชีนักพัฒนาซอฟต์แวร์ Google Play ในฐานะ ผู้ดูแลระบบ
อัปโหลด AAB ไปยัง App Distribution firebaseappdistro.releases.update หนึ่งในบทบาทต่อไปนี้: ––

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

  1. หากคุณยังไม่ได้ เพิ่ม Firebase ในโครงการ Android ของคุณ เมื่อสิ้นสุดขั้นตอนการทำงานนี้ คุณจะมีแอป Firebase Android ในโปรเจ็กต์ Firebase

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

  2. หากต้องการสร้างลิงก์ Firebase ไปยัง Google Play และอัปโหลด AAB ตรวจสอบให้แน่ใจว่าแอปของคุณตรงตามข้อกำหนดต่อไปนี้

    • แอปใน Google Play และแอป Firebase Android ได้รับการลงทะเบียนโดยใช้ชื่อแพ็กเกจเดียวกัน

    • แอปใน Google Play ได้ รับการตั้งค่าบนแดชบอร์ดของแอป และเผยแพร่ไปยังหนึ่งในแทร็กของ Google Play (การทดสอบภายใน การทดสอบแบบปิด การทดสอบแบบเปิด หรือเวอร์ชันที่ใช้งานจริง)

    • การตรวจสอบแอปใน Google Play เสร็จสมบูรณ์และเผยแพร่แอปแล้ว แอปของคุณจะได้รับการเผยแพร่หากคอลัมน์ สถานะแอป แสดงสถานะอย่างใดอย่างหนึ่งต่อไปนี้: การทดสอบภายใน (ไม่ใช่การทดสอบภายในฉบับร่าง) การทดสอบแบบปิด การทดสอบแบบเปิด หรือเวอร์ชันที่ใช้งานจริง

  3. เชื่อมโยงแอป Firebase Android ของคุณกับบัญชีนักพัฒนาซอฟต์แวร์ Google Play ของคุณ:

    1. ในคอนโซล Firebase ให้ไปที่ของคุณ การตั้งค่าโครงการ จากนั้นเลือกแท็บ การรวมระบบ

    2. บนการ์ด Google Play ให้คลิก ลิงก์
      หากคุณมีลิงก์ไปยัง Google Play อยู่แล้ว ให้คลิก จัดการ แทน

    3. ปฏิบัติตามคำแนะนำบนหน้าจอเพื่อเปิดใช้งานการผสานรวม App Distribution และเลือกแอป Firebase Android ที่จะเชื่อมโยงกับ Google Play

    เรียนรู้เพิ่มเติมเกี่ยวกับ การเชื่อมโยงไปยัง Google Play

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

เมื่อคุณพร้อมที่จะเผยแพร่แอปเวอร์ชันก่อนเผยแพร่ให้กับผู้ทดสอบ ให้สร้าง AAB ของคุณ (ดูคำแนะนำใน เอกสารประกอบของ Android Studio )

ขั้นตอนที่ 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.aab  \
        --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 ถัดจากผู้ทดสอบในรุ่นหนึ่ง คุณสามารถต่ออายุคำเชิญได้โดยส่งอีกครั้งโดยใช้เมนูแบบเลื่อนลงในแถวผู้ทดสอบ

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