Catch up on everthing we announced at this year's Firebase Summit. Learn more

แจกจ่ายแอพ Android ให้กับผู้ทดสอบโดยใช้ fastlane

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

ก่อนจะเริ่ม

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

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

ขั้นตอนที่ 1. ตั้งค่า fastlane

  1. ติดตั้งและตั้งค่า Fastlane

  2. ในการเพิ่ม App Distribution ไปยังการกำหนดค่า fastlane ของคุณ ให้รันคำสั่งต่อไปนี้จากรูทของโปรเจ็กต์ Android ของคุณ:

    fastlane add_plugin firebase_app_distribution

    ถ้าคำสั่งแจ้งให้คุณมีตัวเลือกให้เลือก Option 3: RubyGems.org

ขั้นตอนที่ 2 ตรวจสอบสิทธิ์ด้วย Firebase

ก่อนที่คุณจะใช้ปลั๊กอิน Fastlane ได้ คุณต้องตรวจสอบสิทธิ์กับโปรเจ็กต์ Firebase ก่อน มีสามวิธีในการบรรลุเป้าหมายนี้:

ขั้นตอนที่ 3 ตั้งค่า Fastfile และแจกจ่ายแอปของคุณ

  1. ใน ./fastlane/Fastfile เลนเพิ่ม firebase_app_distribution บล็อก ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการกระจาย:
    พารามิเตอร์ firebase_app_distribution
    app

    จำเป็นต้องใช้: ของแอป Firebase App ID คุณสามารถค้นหา App ID ใน Firebase คอนโซลบน หน้าการตั้งค่าทั่วไป

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

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

    service_credentials_file

    เส้นทางไปยังไฟล์ json ของบัญชีบริการ Google ดูข้างต้นสำหรับวิธีการ ตรวจสอบการใช้ข้อมูลประจำตัวของบัญชีผู้ใช้บริการ

    android_artifact_type

    ระบุประเภทไฟล์ Android (APK หรือ AAB)

    android_artifact_path

    แทนที่ apk_path (เลิกใช้) เส้นทางที่แน่นอนไปยังไฟล์ APK หรือ AAB ที่คุณต้องการอัปโหลด หากไม่ระบุ fastlane จะกำหนดตำแหน่งของไฟล์จากเลนที่สร้างไฟล์

    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

    ธงบูลีน คุณสามารถตั้งค่านี้เป็น true ที่จะพิมพ์ verbose แก้ปัญหาส่งออก

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(...)
        # build_android_app is a built-in fastlane action.
        firebase_app_distribution(
            app: "1:123456789:android:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!"
        )
    end
end

สุดท้ายที่จะทำให้การสร้างที่มีให้ทดสอบเรียกใช้ช่องทางของคุณ:

fastlane <lane>

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

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

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

ขั้นตอนที่ 4 (ไม่บังคับ) การจัดการผู้ทดสอบสำหรับการจัดจำหน่าย

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

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

ใช้ Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

เรียกใช้การดำเนินการช่องทางด่วน

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

นอกจากนี้คุณยังสามารถระบุทดสอบโดยใช้ --file="/path/to/testers.txt แทน --emails

firebase_app_distribution_add_testers และ firebase_app_distribution_remove_testers งานยังยอมรับข้อโต้แย้งต่อไปนี้:

  • project_name : จำนวนโครงการ Firebase ของคุณ
  • service_credentials_file : เส้นทางไปยังแฟ้มข้อมูลประจำตัวของ Google บริการของคุณ
  • firebase_cli_token : Auth โทเค็นสำหรับ Firebase CLI

service_credentials_file และ firebase_cli_token ข้อโต้แย้งเดียวกับที่ใช้โดยการกระทำอัปโหลด