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


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

  1. เปิดคอนโซล Google Cloud แล้วเลือกโปรเจ็กต์
  2. คลิกสร้างบัญชีบริการ แล้วป้อนรายละเอียดบัญชีบริการ
  3. คลิกสร้างและดำเนินการต่อ
  4. เพิ่มบทบาทผู้ดูแลระบบ Firebase App Distribution แล้วคลิกเสร็จสิ้น
  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"
                  }
              }
          }
      
          // ...
      
      }
      

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

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

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