Firebase App Distibution
A NodeJS library used to access Firebase App Distribution APIs.
Pre-requisites
- A service account with permission to access the API.
Firebase App Distribution Admin
role should suffice.
How to use
- Create a service account.
- Follow steps here to create a service account.
- Select the
Console
tab. - When selecting a role, under
Firebase App Distribution Admin
.
- Download the service account keys.
import { FirebaseAppDistribution } from "firebase-app-distribution";
async function testGetTestersApi() {
const firebaseAppDistribution = new FirebaseAppDistribution({
projectNumber: "<PROJECT_NUMBER>",
credentials: {
type: "service_account",
project_id: "<PROJECT_ID>",
private_key_id: "<PRIVATE_KEY_ID>",
private_key: "<PRIVATE_KEY>",
client_email: "<CLIENT_EMAIL>",
client_id: "<CLIENT_ID>",
auth_uri: "<AUTH_URI>",
token_uri: "<TOKEN_URI>",
auth_provider_x509_cert_url: "<AUTH_PROVIDER_X509_CERT_URL>",
client_x509_cert_url: "<CLIENT_X509_CERT_URL>",
universe_domain: "<UNIVERSE_DOMAIN>",
},
});
const testers = await firebaseAppDistribution.testers.list();
console.log(testers);
}
testGetTestersApi();
Output would look like:
[
{
"name": "projects/<PROJECT_NUMBER>/testers/tester000@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester001@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester002@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester003@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester004@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester005@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester006@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester007@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester008@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
},
{
"name": "projects/<PROJECT_NUMBER>/testers/tester009@gmail.com",
"lastActivityTime": "2023-07-30T13:16:24.259081Z"
}
]
Method references
FirebaseAppDistribution
- getAccessToken() - Gets the access token that is used to authenticate requests.
- testers
- add() - Adds the specified emails to the testers list.
- remove() - Removes the specified emails from the testers list.
- list() - Lists testers.
- get() - Get a specific tester.
- groups
- create() - Creates a group.
- delete() - Deletes a group.
- get() - Get a group.
- list() - List a group.
- removeTesters() - Removes testers from a group.
- addTesters() - Adds testers to a group.