capacitor-firebase-kit
Version:
Provider-less Firebase Kit - Universal Firebase services integration for React, React Native, and Capacitor apps
220 lines • 10.4 kB
JavaScript
import { firebaseKitSingleton } from './core/firebase-kit-singleton';
// Main FirebaseKit class
class FirebaseKit {
async initialize(config) {
await firebaseKitSingleton.initialize(config);
}
get analytics() {
if (!this.analyticsService) {
this.analyticsService = {
logEvent: async (eventName, eventParams) => {
const service = await firebaseKitSingleton.getService('analytics');
return service.logEvent(eventName, eventParams);
},
setUserId: async (userId) => {
const service = await firebaseKitSingleton.getService('analytics');
return service.setUserId(userId);
},
setUserProperties: async (properties) => {
const service = await firebaseKitSingleton.getService('analytics');
return service.setUserProperties(properties);
},
setCurrentScreen: async (screenName, screenClassOverride) => {
const service = await firebaseKitSingleton.getService('analytics');
return service.setCurrentScreen(screenName, screenClassOverride);
},
setEnabled: async (enabled) => {
const service = await firebaseKitSingleton.getService('analytics');
return service.setEnabled(enabled);
},
isSupported: async () => {
const service = await firebaseKitSingleton.getService('analytics');
return service.isSupported();
},
};
}
return this.analyticsService;
}
get appCheck() {
if (!this.appCheckService) {
this.appCheckService = {
initialize: async (options) => {
const service = await firebaseKitSingleton.getService('appCheck');
return service.initialize(options);
},
getToken: async (forceRefresh) => {
const service = await firebaseKitSingleton.getService('appCheck');
return service.getToken(forceRefresh);
},
setTokenAutoRefreshEnabled: async (enabled) => {
const service = await firebaseKitSingleton.getService('appCheck');
return service.setTokenAutoRefreshEnabled(enabled);
},
};
}
return this.appCheckService;
}
get adMob() {
if (!this.adMobService) {
this.adMobService = {
initialize: async (options) => {
const service = await firebaseKitSingleton.getService('adMob');
return service.initialize(options);
},
showBanner: async (options) => {
const service = await firebaseKitSingleton.getService('adMob');
return service.showBanner(options);
},
hideBanner: async () => {
const service = await firebaseKitSingleton.getService('adMob');
return service.hideBanner();
},
resumeBanner: async () => {
const service = await firebaseKitSingleton.getService('adMob');
return service.resumeBanner();
},
removeBanner: async () => {
const service = await firebaseKitSingleton.getService('adMob');
return service.removeBanner();
},
prepareInterstitial: async (options) => {
const service = await firebaseKitSingleton.getService('adMob');
return service.prepareInterstitial(options);
},
showInterstitial: async () => {
const service = await firebaseKitSingleton.getService('adMob');
return service.showInterstitial();
},
prepareRewardVideoAd: async (options) => {
const service = await firebaseKitSingleton.getService('adMob');
return service.prepareRewardVideoAd(options);
},
showRewardVideoAd: async () => {
const service = await firebaseKitSingleton.getService('adMob');
return service.showRewardVideoAd();
},
setApplicationMuted: async (muted) => {
const service = await firebaseKitSingleton.getService('adMob');
return service.setApplicationMuted(muted);
},
setApplicationVolume: async (volume) => {
const service = await firebaseKitSingleton.getService('adMob');
return service.setApplicationVolume(volume);
},
};
}
return this.adMobService;
}
get crashlytics() {
if (!this.crashlyticsService) {
this.crashlyticsService = {
crash: async () => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.crash();
},
setUserId: async (userId) => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.setUserId(userId);
},
log: async (message) => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.log(message);
},
setEnabled: async (enabled) => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.setEnabled(enabled);
},
isEnabled: async () => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.isEnabled();
},
recordException: async (error) => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.recordException(error);
},
setCustomKey: async (key, value) => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.setCustomKey(key, value);
},
setCustomKeys: async (customKeys) => {
const service = await firebaseKitSingleton.getService('crashlytics');
return service.setCustomKeys(customKeys);
},
};
}
return this.crashlyticsService;
}
get performance() {
if (!this.performanceService) {
this.performanceService = {
startTrace: async (traceName) => {
const service = await firebaseKitSingleton.getService('performance');
return service.startTrace(traceName);
},
stopTrace: async (traceName) => {
const service = await firebaseKitSingleton.getService('performance');
return service.stopTrace(traceName);
},
incrementMetric: async (traceName, metricName, value) => {
const service = await firebaseKitSingleton.getService('performance');
return service.incrementMetric(traceName, metricName, value);
},
setEnabled: async (enabled) => {
const service = await firebaseKitSingleton.getService('performance');
return service.setEnabled(enabled);
},
isEnabled: async () => {
const service = await firebaseKitSingleton.getService('performance');
return service.isEnabled();
},
};
}
return this.performanceService;
}
get remoteConfig() {
if (!this.remoteConfigService) {
this.remoteConfigService = {
initialize: async (options) => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.initialize(options);
},
fetchAndActivate: async () => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.fetchAndActivate();
},
fetchConfig: async () => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.fetchConfig();
},
activate: async () => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.activate();
},
getValue: async (key) => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.getValue(key);
},
getString: async (key) => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.getString(key);
},
getNumber: async (key) => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.getNumber(key);
},
getBoolean: async (key) => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.getBoolean(key);
},
setLogLevel: async (logLevel) => {
const service = await firebaseKitSingleton.getService('remoteConfig');
return service.setLogLevel(logLevel);
},
};
}
return this.remoteConfigService;
}
}
// Export singleton instance
export const firebaseKit = new FirebaseKit();
//# sourceMappingURL=firebase-kit.js.map