Compare commits

..
Author SHA1 Message Date
Daniel Sogl 7517aa234f feat(firebase-x): add methods added upstream since last sync, deprecate getByteArray
cordova-plugin-firebasex is now a backward-compatible meta-package (20.0.2)
that installs 9 modular sub-plugins behind the same window.FirebasePlugin
global. Diffed the wrapper against the published www/*.js shims of each
sub-plugin (core, messaging, analytics, auth, crashlytics, config,
performance, firestore, functions) and added every exported method that
was missing, without touching any existing method signature.
2026-07-27 22:21:10 +02:00
2 changed files with 485 additions and 470 deletions
@@ -35,7 +35,7 @@ declare const window: Window & { Airship: any };
pluginName: 'Airship',
plugin: '@ua/cordova-airship',
pluginRef: 'Airship',
repo: 'https://github.com/urbanairship/urbanairship-cordova',
repo: 'https://www.npmjs.com/package/@ua/cordova-airship',
install: 'ionic cordova plugin add @ua/cordova-airship',
platforms: ['Android', 'iOS'],
})
@@ -52,14 +52,6 @@ export class Airship extends AwesomeCordovaNativePlugin {
public preferenceCenter: AirshipPreferenceCenter;
public privacyManager: AirshipPrivacyManager;
public push: AirshipPush;
/**
* Live Activity manager. iOS only.
*/
public liveActivityManager: AirshipLiveActivityManager;
/**
* Live Update manager. Android only.
*/
public liveUpdateManager: AirshipLiveUpdateManager;
/**
* Call after platform ready
@@ -265,252 +257,6 @@ export interface DisplayPreferenceCenterEvent {
preferenceCenterId: string;
}
/**
* Event fired when Live Activities are updated. iOS only.
*/
export interface LiveActivitiesUpdatedEvent {
/**
* The Live Activities.
*/
activities: LiveActivity[];
}
/**
* Live Activity info. iOS only.
*/
export interface LiveActivity {
/**
* The activity ID.
*/
id: string;
/**
* The attribute types.
*/
attributeTypes: string;
/**
* The content.
*/
content: LiveActivityContent;
/**
* The attributes.
*/
attributes: JsonObject;
}
/**
* Live Activity content. iOS only.
*/
export interface LiveActivityContent {
/**
* The content state.
*/
state: JsonObject;
/**
* Optional ISO 8601 date string that defines when the Live Activity will be stale.
*/
staleDate?: string;
/**
* The relevance score.
*/
relevanceScore: number;
}
/**
* Base Live Activity request. iOS only.
*/
export interface LiveActivityRequest {
/**
* Attributes type. This should match the Activity type of your Live Activity.
*/
attributesType: string;
}
/**
* Live Activity list request. iOS only.
*/
export type LiveActivityListRequest = LiveActivityRequest;
/**
* Live Activity start request. iOS only.
*/
export interface LiveActivityStartRequest extends LiveActivityRequest {
/**
* Dynamic content.
*/
content: LiveActivityContent;
/**
* Fixed attributes.
*/
attributes: JsonObject;
}
/**
* Live Activity update request. iOS only.
*/
export interface LiveActivityUpdateRequest extends LiveActivityRequest {
/**
* The Live Activity ID to update.
*/
activityId: string;
/**
* Dynamic content.
*/
content: LiveActivityContent;
}
/**
* Live Activity end request. iOS only.
*/
export interface LiveActivityEndRequest extends LiveActivityRequest {
/**
* The Live Activity ID to end.
*/
activityId: string;
/**
* Dynamic content.
*/
content?: LiveActivityContent;
/**
* Dismissal policy. Defaults to `LiveActivityDismissalPolicyDefault`.
*/
dismissalPolicy?: LiveActivityDismissalPolicy;
}
export type LiveActivityDismissalPolicy =
LiveActivityDismissalPolicyImmediate | LiveActivityDismissalPolicyDefault | LiveActivityDismissalPolicyAfterDate;
/**
* Dismissal policy to immediately dismiss the Live Activity on end.
*/
export interface LiveActivityDismissalPolicyImmediate {
type: 'immediate';
}
/**
* Dismissal policy to dismiss the Live Activity after the expiration.
*/
export interface LiveActivityDismissalPolicyDefault {
type: 'default';
}
/**
* Dismissal policy to dismiss the Live Activity after a given date.
*/
export interface LiveActivityDismissalPolicyAfterDate {
type: 'after';
/**
* ISO 8601 date string.
*/
date: string;
}
/**
* Live Update info. Android only.
*/
export interface LiveUpdate {
/**
* The Live Update name.
*/
name: string;
/**
* The Live Update type.
*/
type: string;
/**
* Dynamic content.
*/
content: JsonObject;
/**
* ISO 8601 date string of the last content update.
*/
lastContentUpdateTimestamp: string;
/**
* ISO 8601 date string of the last state update.
*/
lastStateChangeTimestamp: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* Live Update list request. Android only.
*/
export interface LiveUpdateListRequest {
type: string;
}
/**
* Live Update start request. Android only.
*/
export interface LiveUpdateStartRequest {
/**
* The Live Update name.
*/
name: string;
/**
* The Live Update type.
*/
type: string;
/**
* Dynamic content.
*/
content: JsonObject;
/**
* Optional ISO 8601 date string, used to filter out of order updates.
*/
timestamp?: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* Live Update update request. Android only.
*/
export interface LiveUpdateUpdateRequest {
/**
* The Live Update name.
*/
name: string;
/**
* Dynamic content.
*/
content: JsonObject;
/**
* Optional ISO 8601 date string, used to filter out of order updates.
*/
timestamp?: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* Live Update end request. Android only.
*/
export interface LiveUpdateEndRequest {
/**
* The Live Update name.
*/
name: string;
/**
* Dynamic content.
*/
content?: JsonObject;
/**
* Optional ISO 8601 date string, used to filter out of order updates.
*/
timestamp?: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* iOS options
*/
@@ -702,18 +448,6 @@ export interface ConfigEnvironment {
* Optional log level.
*/
logLevel?: LogLevel;
/**
* Optional iOS config.
*/
ios?: {
/**
* Log privacy level. By default it logs at `private`, not logging anything lower than info to the console
* and redacting logs with string interpolation. `public` will log all configured log levels to the console
* without redacting any of the log lines.
*/
logPrivacyLevel?: 'private' | 'public';
};
}
/**
@@ -885,14 +619,12 @@ export namespace Android {
* Enum of authorized Features.
*/
export enum Feature {
All = 'all',
InAppAutomation = 'in_app_automation',
MessageCenter = 'message_center',
Push = 'push',
Analytics = 'analytics',
TagsAndAttributes = 'tags_and_attributes',
Contacts = 'contacts',
FeatureFlags = 'feature_flags',
}
/**
@@ -1264,17 +996,6 @@ export interface AttributeEditor {
*/
setAttribute(name: string, value: string | number | boolean | Date): AttributeEditor;
/**
* Adds a JSON attribute.
*
* @param name The attribute name.
* @param instanceId The instance ID.
* @param json The json value. Must not contain `exp` as top level key.
* @param expiration Optional expiration.
* @return The attribute editor instance.
*/
setJsonAttribute(name: string, instanceId: string, json: Record<string, any>, expiration?: Date): AttributeEditor;
/**
* Removes an attribute.
* @param name The name of the attribute to remove.
@@ -1282,14 +1003,6 @@ export interface AttributeEditor {
*/
removeAttribute(name: string): AttributeEditor;
/**
* Removes a JSON attribute.
* @param name The name of the attribute to remove.
* @param instanceId The instance ID.
* @return The attribute editor instance.
*/
removeJsonAttribute(name: string, instanceId: string): AttributeEditor;
/**
* Applies the attribute operations.
* @param success Success callback.
@@ -1331,15 +1044,6 @@ class AirshipPush {
return;
}
/**
* Enables user notifications and prompts the user for permission, if needed.
* @returns Whether user notifications are enabled after the request.
*/
@CordovaInstance()
enableUserNotifications(): Promise<boolean> {
return;
}
/**
* Gets the notification status.
*/
@@ -1482,13 +1186,6 @@ export interface AirshipPushIOS {
*/
getBadgeNumber(success: (badge: number) => void, error?: (err: string) => void): void;
/**
* Resets the badge number to zero.
* @param success Success callback.
* @param error Error callback.
*/
resetBadge(success?: () => void, error?: (err: string) => void): void;
/**
* Gets the list of authorized notification settings.
* @param success Success callback.
@@ -1853,41 +1550,6 @@ export interface AirshipFeatureFlagManager {
trackInteraction(flag: FeatureFlag, success?: () => void, error?: (err: string) => void): void;
}
/**
* Options for email channel registration.
*/
export interface EmailRegistrationOptions {
/**
* Transactional opt-in date as milliseconds since epoch.
*/
transactionalOptedIn?: number;
/**
* Commercial opt-in date as milliseconds since epoch.
*/
commercialOptedIn?: number;
/**
* Custom properties for the email channel.
*/
properties?: Record<string, string>;
/**
* Request double opt-in for commercial messages when `commercialOptedIn` is not set.
*/
doubleOptIn?: boolean;
}
/**
* Options for SMS channel registration.
*/
export interface SmsRegistrationOptions {
/**
* The sender ID.
*/
senderId: string;
}
/**
* Airship contact.
*/
@@ -1958,26 +1620,6 @@ class AirshipContact {
reset(): Promise<void> {
return;
}
/**
* Registers an email channel for the contact.
* @param email The email address.
* @param options Registration options.
*/
@CordovaInstance()
registerEmail(email: string, options: EmailRegistrationOptions): Promise<void> {
return;
}
/**
* Registers an SMS channel for the contact.
* @param msisdn The MSISDN, including country code.
* @param options Registration options.
*/
@CordovaInstance()
registerSMS(msisdn: string, options: SmsRegistrationOptions): Promise<void> {
return;
}
}
/**
@@ -2123,114 +1765,3 @@ export interface AirshipActions {
error?: (err: string) => void
): void;
}
/**
* Live Activity manager. iOS only.
*/
export interface AirshipLiveActivityManager {
/**
* Lists any Live Activities for the request.
* @param request The request options.
* @param success Success callback with the list.
* @param error Error callback.
*/
list(
request: LiveActivityListRequest,
success: (activities: LiveActivity[]) => void,
error?: (err: string) => void
): void;
/**
* Lists all Live Activities.
* @param success Success callback with the list.
* @param error Error callback.
*/
listAll(success: (activities: LiveActivity[]) => void, error?: (err: string) => void): void;
/**
* Starts a Live Activity.
* @param request The request options.
* @param success Success callback with the started activity.
* @param error Error callback.
*/
start(
request: LiveActivityStartRequest,
success: (activity: LiveActivity) => void,
error?: (err: string) => void
): void;
/**
* Updates a Live Activity.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
update(request: LiveActivityUpdateRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Ends a Live Activity.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
end(request: LiveActivityEndRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Live Activities updated listener.
*
* @param callback The callback.
* @return A cancellable that can be used to cancel the listener.
*/
onLiveActivitiesUpdated(callback: (event: LiveActivitiesUpdatedEvent) => void): Cancellable;
}
/**
* Live Update manager. Android only.
*/
export interface AirshipLiveUpdateManager {
/**
* Lists any Live Updates for the request.
* @param request The request options.
* @param success Success callback with the list.
* @param error Error callback.
*/
list(request: LiveUpdateListRequest, success: (updates: LiveUpdate[]) => void, error?: (err: string) => void): void;
/**
* Lists all Live Updates.
* @param success Success callback with the list.
* @param error Error callback.
*/
listAll(success: (updates: LiveUpdate[]) => void, error?: (err: string) => void): void;
/**
* Starts a Live Update.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
start(request: LiveUpdateStartRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Updates a Live Update.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
update(request: LiveUpdateUpdateRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Ends a Live Update.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
end(request: LiveUpdateEndRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Clears all Live Updates.
* @param success Success callback.
* @param error Error callback.
*/
clearAll(success?: () => void, error?: (err: string) => void): void;
}
@@ -111,6 +111,26 @@ export interface FirebaseUser {
* name
*/
name?: string;
/**
* whether the user is anonymous
*/
isAnonymous?: boolean;
/**
* account creation timestamp in milliseconds
*/
creationTimestamp?: number;
/**
* last sign-in timestamp in milliseconds
*/
lastSignInTimestamp?: number;
/**
* array of linked provider info objects
*/
providers?: any[];
}
export interface MessagePayloadAps {
alert?: {
@@ -133,6 +153,59 @@ export interface MessagePayload {
tap?: 'background' | 'foreground';
aps?: MessagePayloadAps;
}
export interface OnDeviceConversionUserIdentifier {
/**
* The user's email address. Mutually exclusive with phoneNumber.
*/
emailAddress?: string;
/**
* The user's phone number in E.164 format. Mutually exclusive with emailAddress.
*/
phoneNumber?: string;
}
export interface EnrollSecondAuthFactorOptions {
/**
* A display name for this factor. Auto-generated (masking all but the last 4 digits of the phone number) if not provided.
*/
displayName?: string;
}
export interface VerifySecondAuthFactorParams {
/**
* Index of the enrolled factor to verify (for an MFA sign-in challenge).
*/
selectedIndex?: number;
/**
* The verification ID from phone verification.
*/
verificationId?: string;
/**
* The SMS verification code entered by the user.
*/
code?: string;
}
export interface EnrolledSecondAuthFactor {
/**
* The factor's index.
*/
index: number;
/**
* The enrolled phone number.
*/
phoneNumber: string;
/**
* The display name for this factor, if set.
*/
displayName?: string;
}
/**
* @name Firebase X
* @description
@@ -160,6 +233,10 @@ export interface MessagePayload {
* ```
* @interfaces
* IChannelOptions
* OnDeviceConversionUserIdentifier
* EnrollSecondAuthFactorOptions
* VerifySecondAuthFactorParams
* EnrolledSecondAuthFactor
*/
@Plugin({
pluginName: 'FirebaseX',
@@ -190,6 +267,66 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Alias for getId(). Returns the current Firebase Installation ID (FID).
*
* @returns {Promise<string>}
*/
@Cordova()
getInstallationId(): Promise<string> {
return;
}
/**
* Returns a valid Firebase Installation auth token (always force-refreshed).
*
* @returns {Promise<string>}
*/
@Cordova()
getInstallationToken(): Promise<string> {
return;
}
/**
* Deletes the current Firebase Installation ID and all associated data. Firebase will generate a new FID on next access.
*
* @returns {Promise<any>}
*/
@Cordova()
deleteInstallationId(): Promise<any> {
return;
}
/**
* Registers a listener that is called whenever the Firebase Installation ID changes.
*
* @param {Function} fn - callback function to invoke with the new installation ID string
*/
@Cordova()
registerInstallationIdChangeListener(fn: any): Promise<any> {
return;
}
/**
* Registers a listener that is called when the application transitions to the foreground (iOS applicationDidBecomeActive / Android onResume).
*
* @param {Function} fn - callback function to invoke when the app becomes active
*/
@Cordova()
registerApplicationDidBecomeActiveListener(fn: any): Promise<any> {
return;
}
/**
* Registers a listener that is called when the application transitions to the background (iOS applicationDidEnterBackground / Android onPause).
*
* @param {Function} fn - callback function to invoke when the app enters the background
*/
@Cordova()
registerApplicationDidEnterBackgroundListener(fn: any): Promise<any> {
return;
}
/**
* Get the current FCM user.
*
@@ -261,6 +398,20 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS 12+ only.
* Get notified when the user taps the notification settings action in the system notification settings.
* Requires UNAuthorizationOptionProvidesAppNotificationSettings.
*
* @returns {Observable<any>}
*/
@Cordova({
observable: true,
})
onOpenSettings(): Observable<any> {
return;
}
/**
* Grant permission to receive push notifications (will trigger prompt) and return hasPermission: true. iOS only (Android will always return true).
*
@@ -273,6 +424,19 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS 12+ only. Grant critical alert permission (bypasses Do Not Disturb and the ringer switch). Requires a special Apple entitlement.
* On Android this is a no-op and returns false.
*
* @returns {Promise<boolean>}
*/
@Cordova({
platforms: ['iOS'],
})
grantCriticalPermission(): Promise<boolean> {
return;
}
/**
* Check permission to receive push notifications and return hasPermission: true. iOS only (Android will always return true).
*
@@ -283,6 +447,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS 12+ only. Check whether the app has critical alert permission. On Android this always returns false.
*
* @returns {Promise<boolean>}
*/
@Cordova()
hasCriticalPermission(): Promise<boolean> {
return;
}
/**
* Unregister from firebase, used to stop receiving push notifications. Call this when you logout user from your app.
*/
@@ -428,6 +602,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the current analytics data collection enabled state.
*
* @returns {Promise<boolean>}
*/
@Cordova()
isAnalyticsCollectionEnabled(): Promise<boolean> {
return;
}
/**
* Enable/disable Crashlytics collection.
*
@@ -439,6 +623,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the current Crashlytics data collection enabled state.
*
* @returns {Promise<boolean>}
*/
@Cordova()
isCrashlyticsCollectionEnabled(): Promise<boolean> {
return;
}
/**
* Enable/disable performance collection.
*
@@ -450,6 +644,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the current performance data collection enabled state.
*
* @returns {Promise<boolean>}
*/
@Cordova()
isPerformanceCollectionEnabled(): Promise<boolean> {
return;
}
/**
* Log an event using Analytics
*
@@ -496,6 +700,20 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS only. Initiates on-device conversion measurement using an email address or phone number.
* Only one identifier type may be provided per call.
*
* @param {OnDeviceConversionUserIdentifier} userIdentifier
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
})
initiateOnDeviceConversionMeasurement(userIdentifier: OnDeviceConversionUserIdentifier): Promise<any> {
return;
}
/**
* Set Crashlytics user identifier.
* To diagnose an issue, its often helpful to know which of your users experienced a given crash.
@@ -512,6 +730,18 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Set a custom key-value pair for Crashlytics crash reports. Appears in the "Keys" tab of a crash report.
*
* @param {string} key
* @param {string | number | boolean} value
* @returns {Promise<any>}
*/
@Cordova()
setCrashlyticsCustomKey(key: string, value: string | number | boolean): Promise<any> {
return;
}
/**
* Simulates (causes) a fatal native crash which causes a crash event to be sent to Crashlytics (useful for testing).
* See the Firebase documentation regarding crash testing.
@@ -552,6 +782,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Returns whether the app crashed during the previous execution.
*
* @returns {Promise<boolean>}
*/
@Cordova()
didCrashOnPreviousExecution(): Promise<boolean> {
return;
}
/**
* Requests verification of a phone number in order to authenticate a user and sign then into Firebase in your app.
*
@@ -583,6 +823,57 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Enrolls a phone number as a second authentication factor (MFA) for the current user.
*
* @param {string} number - phone number to enroll as a second factor, in E.164 format
* @param {EnrollSecondAuthFactorOptions} [opts] - optional parameters
* @returns {Promise<any>} resolves with the enrollment result (contains verificationId for SMS code entry)
*/
@Cordova({
callbackOrder: 'reverse',
})
enrollSecondAuthFactor(number: string, opts?: EnrollSecondAuthFactorOptions): Promise<any> {
return;
}
/**
* Verifies a second authentication factor during an MFA sign-in challenge or enrollment.
*
* @param {VerifySecondAuthFactorParams} params
* @param {object} [opts] - reserved for future use
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
verifySecondAuthFactor(params: VerifySecondAuthFactorParams, opts?: object): Promise<any> {
return;
}
/**
* Lists the second authentication factors enrolled for the current user.
*
* @returns {Promise<EnrolledSecondAuthFactor[]>}
*/
@Cordova()
listEnrolledSecondAuthFactors(): Promise<EnrolledSecondAuthFactor[]> {
return;
}
/**
* Removes an enrolled second authentication factor from the current user.
*
* @param {number} selectedIndex - index of the enrolled factor to remove (from listEnrolledSecondAuthFactors())
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
unenrollSecondAuthFactor(selectedIndex: number): Promise<any> {
return;
}
/**
* Switch current authentification system language, for example, the phone sms code.
*
@@ -626,6 +917,19 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Creates an email/password credential without signing in. The returned credential can be used with
* signInWithCredential(), linkUserWithCredential(), or reauthenticateWithCredential().
*
* @param email
* @param password
* @returns {Promise<any>}
*/
@Cordova()
authenticateUserWithEmailAndPassword(email: string, password: string): Promise<any> {
return;
}
/**
* Signs in user with custom token.
*
@@ -666,6 +970,43 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Authenticates the user with Microsoft Sign-In via Firebase OAuthProvider. Returns a credential for use with signInWithCredential().
*
* @param locale - optional locale to pass to the Microsoft sign-in provider
*/
@Cordova({
callbackOrder: 'reverse',
})
authenticateUserWithMicrosoft(locale?: string): Promise<any> {
return;
}
/**
* Authenticates the user with Facebook using an access token obtained from the Facebook SDK.
* Returns a credential for use with signInWithCredential().
*
* @param accessToken - a Facebook access token obtained via the Facebook Login SDK
*/
@Cordova()
authenticateUserWithFacebook(accessToken: string): Promise<any> {
return;
}
/**
* Authenticates the user with a generic OAuth provider via Firebase OAuthProvider. Returns a credential for use with signInWithCredential().
*
* @param providerId - the OAuth provider ID (e.g. "github.com", "twitter.com", "yahoo.com")
* @param customParameters - optional custom OAuth parameters to send to the provider
* @param scopes - optional OAuth scopes to request from the provider
*/
@Cordova({
callbackOrder: 'reverse',
})
authenticateUserWithOAuth(providerId: string, customParameters?: object, scopes?: string[]): Promise<any> {
return;
}
/**
* Links the user account to an existing Firebase user account with credentials obtained using verifyPhoneNumber().
* See the Android- and iOS-specific Firebase documentation for more info.
@@ -691,6 +1032,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Unlinks a provider from the currently signed-in user, removing that sign-in method.
*
* @param {string} providerId - the provider ID to unlink (e.g. "google.com", "password", "phone")
*/
@Cordova()
unlinkUserWithProvider(providerId: string): Promise<any> {
return;
}
/**
* Checks if there is a current Firebase user signed into the app.
*/
@@ -729,6 +1080,17 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Sends a verification email to the specified new email address before updating.
* The email is only updated after the user clicks the verification link.
*
* @param email - the new email address to verify
*/
@Cordova()
verifyBeforeUpdateEmail(email: string): Promise<any> {
return;
}
/**
* Sends a verification email to the currently configured email address of the current Firebase user signed into the app.
* When the user opens the contained link, their email address will have been verified.
@@ -777,6 +1139,37 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Registers a callback that fires whenever the user's ID token changes (sign-in, sign-out, and token refresh events).
*
* @param {Function} fn - callback function to invoke when the ID token changes
*/
@Cordova()
registerAuthIdTokenChangeListener(fn: any): Promise<any> {
return;
}
/**
* Configures Firebase Auth to connect to a local Auth emulator for testing. Must be called before any other auth operations.
*
* @param {string} host - the emulator host (e.g. "localhost" or "10.0.2.2" for Android emulator)
* @param {number} port - the emulator port (e.g. 9099)
*/
@Cordova()
useAuthEmulator(host: string, port: number): Promise<any> {
return;
}
/**
* Retrieves the custom claims from the current user's ID token. Custom claims are set server-side using the Firebase Admin SDK.
*
* @returns {Promise<any>}
*/
@Cordova()
getClaims(): Promise<any> {
return;
}
/**
* Fetch Remote Config parameter values for your app.
*
@@ -809,6 +1202,16 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Reset all Remote Config values back to defaults. Note: not currently available on iOS.
*
* @returns {Promise<boolean>}
*/
@Cordova()
resetRemoteConfig(): Promise<boolean> {
return;
}
/**
* Returns a Map of Firebase Remote Config key value pairs.
*
@@ -834,6 +1237,7 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
/**
* Android only. Retrieve a Remote Config byte array.
*
* @deprecated Removed upstream in cordova-plugin-firebasex 20.0.0 (modular plugin rewrite); no longer present in the Remote Config API.
* @param {string} key
* @returns {Promise<any>}
*/
@@ -1033,6 +1437,86 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
): Promise<any> {
return;
}
/**
* Checks whether a document exists in a Firestore collection.
*
* @param {string} documentId - document ID of the document to check.
* @param {string} collection - name of top-level collection to check.
* @returns {Promise<boolean>}
*/
@Cordova()
documentExistsInFirestoreCollection(documentId: string, collection: string): Promise<boolean> {
return;
}
/**
* Registers a real-time listener on a single document in a Firestore collection.
* The success callback is called multiple times: first with {eventType: "id", id: listenerId},
* then with {eventType: "change", snapshot, source, fromCache} on each change.
* Call removeFirestoreListener() with the returned listener ID to stop listening.
*
* @param {string} documentId - document ID of the document to listen to.
* @param {string} collection - name of top-level collection to listen to.
* @param {boolean} includeMetadata - whether to include metadata-only changes.
* @returns {Observable<any>}
*/
@Cordova({
callbackOrder: 'reverse',
observable: true,
})
listenToDocumentInFirestoreCollection(
documentId: string,
collection: string,
includeMetadata?: boolean
): Observable<any> {
return;
}
/**
* Registers a real-time listener on an entire Firestore collection, optionally filtered.
* The success callback is called multiple times: first with {eventType: "id", id: listenerId},
* then with {eventType: "change", documents: {...}} on each change.
* Call removeFirestoreListener() with the returned listener ID to stop listening.
*
* @param {string} collection - name of top-level collection to listen to.
* @param {Array} filters - filters to apply to the collection (same format as fetchFirestoreCollection()).
* @param {boolean} includeMetadata - whether to include metadata-only changes.
* @returns {Observable<any>}
*/
@Cordova({
callbackOrder: 'reverse',
observable: true,
})
listenToFirestoreCollection(collection: string, filters?: any[], includeMetadata?: boolean): Observable<any> {
return;
}
/**
* Removes a previously registered Firestore snapshot listener.
*
* @param {string} listenerId - the listener ID returned in the initial listener response.
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
removeFirestoreListener(listenerId: string): Promise<any> {
return;
}
/**
* Invokes an HTTPS-callable Cloud Function by name.
*
* @param {string} name - the name of the Cloud Function to call.
* @param {any} args - arguments to pass to the function (any JSON-serialisable value).
* @returns {Promise<any>} the function's return value
*/
@Cordova()
functionsHttpsCallable(name: string, args: any): Promise<any> {
return;
}
/**
* Set new V2 consent mode
*