UNPKG

firebase-app-distribution

Version:
118 lines (104 loc) 4.03 kB
# Firebase App Distibution [![npm](https://img.shields.io/npm/v/firebase-app-distribution)](https://www.npmjs.com/package/firebase-app-distribution) [![npm](https://img.shields.io/npm/dt/firebase-app-distribution)](https://www.npmjs.com/package/firebase-app-distribution?activeTab=versions) A NodeJS library used to access [Firebase App Distribution APIs](https://firebase.google.com/docs/reference/app-distribution/rest). ## Pre-requisites 1. A service account with permission to access the API. - `Firebase App Distribution Admin` role should suffice. ## How to use 1. Create a service account. 1. Follow steps here to [create a service account](https://cloud.google.com/iam/docs/service-accounts-create#creating). 1. Select the `Console` tab. 1. When selecting a role, under `Firebase App Distribution Admin`. 1. Download the service account keys. - Follow the steps here to [download the service account key](https://cloud.google.com/iam/docs/keys-create-delete#creating). ```js 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: ```json [ { "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 <ul> <li>getAccessToken() - Gets the access token that is used to authenticate requests.</li> <li>testers</li> <ul> <li>add() - Adds the specified emails to the testers list.</li> <li>remove() - Removes the specified emails from the testers list.</li> <li>list() - Lists testers.</li> <li>get() - Get a specific tester.</li> </ul> </li> <br> <li>groups</li> <ul> <li>create() - Creates a group.</li> <li>delete() - Deletes a group.</li> <li>get() - Get a group.</li> <li>list() - List a group.</li> <li>removeTesters() - Removes testers from a group.</li> <li>addTesters() - Adds testers to a group.</li> </ul> </ul>