ตรวจสอบสิทธิ์ด้วยบัญชีบริการ

บัญชีบริการมีประโยชน์สำหรับการตั้งค่า App Distribution ในสภาพแวดล้อม CI การตรวจสอบสิทธิ์ด้วย บัญชีบริการ ทำให้คุณสามารถใช้ไลบรารีไคลเอ็นต์ (เช่น Firebase CLI, Gradle และ fastlane) เพื่อแจกจ่ายงานสร้างของคุณได้ เมื่อคุณใช้บัญชีบริการในการตรวจสอบสิทธิ์ Firebase จะใช้ Application Default Credentials (ADC) เพื่อค้นหาข้อมูลรับรองของแอป ซึ่งคุณระบุได้โดยการตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS หรือโดยการชี้ไปที่เส้นทางของคีย์บัญชีบริการในโค้ดของแอป

  1. เปิด คอนโซล Google Cloud และเลือกโปรเจ็กต์ของคุณ
  2. คลิก สร้างบัญชีบริการ และป้อนรายละเอียดบัญชีบริการ
  3. คลิก สร้างและดำเนินการต่อ
  4. เพิ่มบทบาท ผู้ดูแลระบบการกระจายแอป Firebase แล้วคลิก เสร็จสิ้น
  5. สร้างคีย์ JSON ส่วนตัวและย้ายคีย์ไปยังตำแหน่งที่สภาพแวดล้อมบิลด์ของคุณสามารถเข้าถึงได้ อย่าลืมเก็บไฟล์นี้ไว้ในที่ปลอดภัย เนื่องจากเป็นการให้สิทธิ์ผู้ดูแลระบบในการเข้าถึง App Distribution ในโปรเจ็กต์ Firebase ของคุณ
  6. ข้ามขั้นตอนนี้หากคุณสร้างแอปหลังวันที่ 20 กันยายน 2019 : ในคอนโซล Google APIs ให้เปิดใช้งาน Firebase App Distribution API เมื่อได้รับแจ้ง ให้เลือกโปรเจ็กต์ที่มีชื่อเดียวกันกับโปรเจ็กต์ Firebase ของคุณ

  7. ระบุข้อมูลรับรองบัญชีบริการของคุณ:

    • สำหรับ Gradle เท่านั้น : ในไฟล์ build.gradle ของคุณ ให้ตั้งค่าคุณสมบัติ serviceCredentialsFile เป็นไฟล์ JSON คีย์ส่วนตัวของคุณ:

      android {
      
          // ...
      
          buildTypes {
              release {
                  firebaseAppDistribution {
                      serviceCredentialsFile="/absolute/path/to/credentials/file.json"
                      releaseNotesFile="/path/to/releasenotes.txt"
                      testers="ali@example.com, bri@example.com, cal@example.com"
                  }
              }
          }
      
          // ...
      
      }
      

      หรือคุณสามารถระบุข้อมูลรับรองให้กับโค้ดของแอปแทนได้โดยทำตามขั้นตอนด้านล่าง

    • สำหรับ Firebase CLI, fastlane หรือ Gradle : ตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS เป็นพาธของไฟล์ JSON คีย์ส่วนตัวของคุณ:

      export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json