uploadToFirebaseByApi method
Implementation
Future<void> uploadToFirebaseByApi(
File buildFile, {
required String credentials,
required String appId,
String releaseNotes = '',
List<String> groups = const [],
}) async {
return await _runWithGoogleClient(
credentials: credentials,
scopes: [FirebaseAppDistributionApi.cloudPlatformScope],
handler: (client) async {
final api = FirebaseAppDistributionApi(client);
final releaseResponse = await _uploadBinaryToFirebaseViaApi(
client: client,
api: api,
appId: appId,
buildFile: buildFile,
);
if (releaseNotes.isNotEmpty) {
await api.projects.apps.releases.patch(
GoogleFirebaseAppdistroV1Release(
releaseNotes: GoogleFirebaseAppdistroV1ReleaseNotes(
text: releaseNotes,
),
),
releaseResponse.name!,
);
}
if (groups.isNotEmpty) {
await api.projects.apps.releases.distribute(
GoogleFirebaseAppdistroV1DistributeReleaseRequest(
groupAliases: groups,
),
releaseResponse.name!,
);
}
},
);
}