mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2026-07-16 00:00:04 +08:00
+4








3ba983aa7f
* feat(diagnostics): add missing constants and methods for latest plugin version (#4600) * feat(cordova-plugin-firebase-model): Add new plugin to download and process ML model hosted in firebase. (#4608) * feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token * feat(unvired-cordova-sdk): Add couple of properties to login parameters. * feat(cordova-plugin-firebase-model): Add new plugin for downloading and processing ML model hosted in Firebase. * fix(cordova-plugin-unvired-sdk): revert last set of changes. * fix(cordova-plugin-unvired-sdk): Add two new login properties. * fix(cordova-plugin-firebase-model): Delete the previously added plugin. * Revert "fix(cordova-plugin-firebase-model): Delete the previously added plugin." This reverts commit86f39dc7e8. * Revert "fix(cordova-plugin-unvired-sdk): Add two new login properties." This reverts commita79f31e12e. * feat(clevertap): support clevertap-cordova 2.7.0 (#4617) [skip ci] * feat(clevertap): add CleverTap plugin * style(clevertap): cleanup stray lint error * refactor * feat(clevertap): update for latest CleverTap Cordova plugin * chore: Update Repo from Ionic Native Repo * fix: Code Changes for parity SDK-155 * fix: Indentation fixes for SDK-155 * fix: Code Repo fix while updating fork branch * fix: Remove unnecessary adder .scripts Folder * fix: Remove unwanted added folder .circleci * fix: Remove unwanted added File .npmrc * fix: Revert .Github Folder Changes to as per Ionic-Native master * fix: Update changes as per ionic-native master * fix: Code Repo fix while updating fork branch fix: Remove unnecessary adder .scripts Folder fix: Remove unwanted added folder .circleci fix: Remove unwanted added File .npmrc fix: Revert .Github Folder Changes to as per Ionic-Native master fix: Update changes as per ionic-native master * fix(CleverTap): Fix for missing methods issue #3491 * refactor(profile): remove setProfile methods for fb and google * refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code * fix(product config): add key param to product config getters * feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods * feat(profile): add public methods to increment/decrement values set via User properties * feat(profile): add public methods to increment/decrement values set via User properties * feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications * feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids * refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken * Update index.ts to support cordova 2.7.0 * Update index.ts --------- Co-authored-by: Peter Wilkniss <peter@clevertap.com> Co-authored-by: Daniel Sogl <mytechde@outlook.com> Co-authored-by: Darshan Pania <darshan@clevertap.com> Co-authored-by: Surya <suryanarayan@clevertap.com> Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com> Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com> Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com> * feat(save-dialog): add plugin (#4618) * smtp-client * fix plugin ref * cloud settings * + save-dialog --------- Co-authored-by: Daniel Sogl <daniel@sogls.de> * fix(diagnostic): fix typo * fix(diagnostic): add LIMITED to permissionStatus --------- Co-authored-by: Dave Alden <dpa99c@gmail.com> Co-authored-by: Srinidhi <srinidhi.rao@unvired.com> Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com> Co-authored-by: Peter Wilkniss <peter@clevertap.com> Co-authored-by: Daniel Sogl <mytechde@outlook.com> Co-authored-by: Darshan Pania <darshan@clevertap.com> Co-authored-by: Surya <suryanarayan@clevertap.com> Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com> Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com> Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com> Co-authored-by: marysuon <marysuon@gmail.com> Co-authored-by: Daniel Sogl <daniel@sogls.de>
123 lines
3.3 KiB
TypeScript
123 lines
3.3 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import {
|
|
Plugin,
|
|
Cordova,
|
|
CordovaProperty,
|
|
CordovaInstance,
|
|
InstanceProperty,
|
|
IonicNativePlugin,
|
|
} from '@ionic-native/core';
|
|
import { Observable } from 'rxjs';
|
|
|
|
export enum FirebaseModelStatus {
|
|
downloading = 'downloading',
|
|
completed = 'completed',
|
|
}
|
|
|
|
export enum FirebaseModelInputType {
|
|
path = 'path',
|
|
base64string = 'base64string',
|
|
blob = 'blob',
|
|
}
|
|
|
|
export class FirebaseModelConfigResult {
|
|
/**
|
|
* Returns the current status of the model.
|
|
*/
|
|
status: FirebaseModelStatus;
|
|
/**
|
|
* Returns the current progress of the downloading model.
|
|
*/
|
|
progress: number;
|
|
}
|
|
|
|
export class FirebaseModelClassifyResult {
|
|
/**
|
|
* Return the identified image label name.
|
|
*/
|
|
label: string;
|
|
/**
|
|
* Returns the confidence score of the identified image.
|
|
*/
|
|
score: number;
|
|
}
|
|
|
|
export class FirebaseModelInput {
|
|
/**
|
|
* Set the one of the input types defined in FirebaseModelInputType enum.
|
|
*/
|
|
inputType: FirebaseModelInputType;
|
|
/**
|
|
* Set the input as string | Blob based on the `inputType`
|
|
*/
|
|
input: string | Blob;
|
|
}
|
|
|
|
/**
|
|
* @name Firebase Model
|
|
* @description This plugin downloads the TensorFlow model from firebase and classify the images.
|
|
*
|
|
* ```typescript
|
|
* import { FirebaseModel } from '@ionic-native/ionic-native-firebase-model';
|
|
*
|
|
*
|
|
* constructor(private firebaseModel: FirebaseModel) { }
|
|
*
|
|
* ...
|
|
*
|
|
*
|
|
* this.firebaseModel.configure('Sample_Model')
|
|
* .subscribe((res: FirebaseModelConfigResult) => console.log(res.status + " - " + res.progress))
|
|
* .catch((error: any) => console.error(error));
|
|
*
|
|
*
|
|
* try {
|
|
* var result:FirebaseModelClassifyResult = await this.firebaseModel.classify("/Documents/input_image.png")
|
|
* console.log(result.label + " - " + result.score)
|
|
*
|
|
* }
|
|
* catch (e) {
|
|
* console.log(e)
|
|
* }
|
|
*
|
|
*
|
|
* ```
|
|
*/
|
|
@Plugin({
|
|
pluginName: 'FirebaseModel',
|
|
plugin: 'cordova-plugin-firebase-model', // npm package name, example: cordova-plugin-camera
|
|
pluginRef: 'FirebaseModel', // the variable reference to call the plugin, example: navigator.geolocation
|
|
repo: '', // the github repository URL for the plugin
|
|
install: 'ionic cordova plugin add cordova-plugin-firebase-model', // OPTIONAL install command, in case the plugin requires variables
|
|
installVariables: [], // OPTIONAL the plugin requires variables
|
|
platforms: ['iOS'], // Array of platforms supported, example: ['Android', 'iOS']
|
|
})
|
|
@Injectable()
|
|
export class FirebaseModel extends IonicNativePlugin {
|
|
/**
|
|
* This function configure the Firebase TFLite model and downloads.
|
|
* @param {string} arg1 Name of the TFLite model which is uploaded in the Firebase console
|
|
* @returns {Observable<FirebaseModelConfigResult>} Returns a observable that gives the callback for downloading progress and status.
|
|
*
|
|
*/
|
|
@Cordova({
|
|
successIndex: 1,
|
|
errorIndex: 2,
|
|
observable: true,
|
|
})
|
|
configure(arg1: string): Observable<FirebaseModelConfigResult> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* This function identify the image using the Firebase TFLite model which is configured.
|
|
* @param {FirebaseModelInput} arg1 Base64 string of the input image or .
|
|
* @returns {Promise<FirebaseModelClassifyResult>} Returns a promise that resolves the classification result.
|
|
*
|
|
*/
|
|
@Cordova()
|
|
classify(arg1: FirebaseModelInput): Promise<FirebaseModelClassifyResult> {
|
|
return;
|
|
}
|
|
}
|