Giter Club home page Giter Club logo

cordova-plugin-firestore's People

Contributors

dependabot[bot] avatar jggc avatar reallysmallsoftware avatar wf9a5m75 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cordova-plugin-firestore's Issues

How do I read only actual data from the server rather than local cache?

I am using cordova plugin for firestore to listen to a collection. I keep getting the same old documents even after the data is changed on the server. I understand that I could use metadata to distinguish the source of the data. Unfortunately, I did not find a single code example so far.

I have tried everything available within the google documentation.
I will appreciate if you could provide a simple example.

Expected Behavior

Actual Behavior

Steps to Reproduce the Problem

Specifications

  • Plugin version:
  • Framework:
  • Framework version:
  • Operating system:

Build fail

Error on build, any idea how to resolve?

cmd: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

BUILD FAILED in 5s

My config.xml is:

<plugin name="cordova-plugin-firestore" spec="1.3.2">
    <variable name="ANDROID_FIREBASE_CORE_VERSION" value="16.0.8" />
    <variable name="ANDROID_FIREBASE_FIRESTORE_VERSION" value="18.1.0" />
</plugin>

How do I get any info about document reference stored in the object?

I'm not sure if that's an issue or just lacking of documentation about this case.
Sorry for not keeping the question in the pattern, but i'm really lacking any time and need to deliver my software in really short terms.

So, i'm using a lot of DocumentReferences in my Firestore and by now I have been using AngularFire library for the database. But now it's not really useful for me, so now I need to understand how do I get any info (at least an id) about DocumentReferences stored in the objects of my collection docs.
At the moment I can see my reference as com.google.firebase.firestore.DocumentReference@ab15db84 which doesn't help me at all. I don't see any description on how do I use this. Also i was using DocumentReferences for my queries to get docs based on it.
Please reply me as soon as possible! Thanks in advance!

Firebase cloud storage

All the firebase plugins created by you are really superb.
It would be really helpfull if you could create a plugin for firebase cloud storage also. Then we would have all the methods of firebase file i/o via cordova plugins. There dosen't seem to be cordova plugin for cloud storage at the moment. Even an android-only implementation would be great.

Firestore collection object isn't working right

Expected Behavior

Adding a record should work.

var options = {
  "datePrefix": '__DATE:',
  "fieldValueDelete": "__DELETE",
  "fieldValueServerTimestamp" : "__SERVERTIMESTAMP",
  "persist": true,
  "config" : {}
};
Firestore.initialise(options).then(function(db) { window.db = db; })
window.db.collection('test').add({ "test": "value" }).then(console.log).catch(console.error);

Actual Behavior

Throws error:

Attempt to invoke virtual method 'com.google.firebase.firestore.CollectionReference com.google.firebase.firestore.FirebaseFirestore.collection(java.lang.String)' on a null object reference

Steps to Reproduce the Problem

Using in chromium debug window attached to cordova webview instance on a phone. I've installed the plugins without issue.

Specifications

  • Plugin version: 1.3.2
  • Framework: cordova / framework7
  • Framework version:
  • Operating system: Antergos linux/ android

bug: example error with empty config key

Expected Behavior

image

Actual Behavior and Steps to Reproduce the Problem

P.s. with adding config key
image

Error from browser console (android device)

Uncaught (in promise) Attempt to invoke virtual method 'com.google.firebase.firestore.CollectionReference com.google.firebase.firestore.FirebaseFirestore.collection(java.lang.String)' on a null object reference

Error from android studio

E/FirestorePlugin: Error processing collection get in thread
    java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.firestore.CollectionReference com.google.firebase.firestore.FirebaseFirestore.collection(java.lang.String)' on a null object reference
        at uk.co.reallysmall.cordova.plugin.firestore.CollectionGetHandler.handle(CollectionGetHandler.java:38)
        at uk.co.reallysmall.cordova.plugin.firestore.FirestorePlugin.execute(FirestorePlugin.java:73)
        at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
        at org.apache.cordova.PluginManager.exec(PluginManager.java:132)
        at com.getcapacitor.MessageHandler.callCordovaPluginMethod(MessageHandler.java:107)
        at com.getcapacitor.MessageHandler.postMessage(MessageHandler.java:51)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:363)
        at android.os.Looper.loop(Looper.java:173)
        at android.os.HandlerThread.run(HandlerThread.java:67)

Specifications

  • Plugin version: 4.1.1
  • Framework: --
  • Framework version: --
  • Operating system: maxOs Big Sure beta 11.0

Error on build

Build not working for me, any idea how to resolve?

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
java.lang.RuntimeException: java.lang.RuntimeException: >com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

I am using,
Ionic with cordova 8
plugins
cordova-plugin-firebase-authentication
cordova-plugin-googleplus
cordova-plugin-admobpro

Use own package name instead of direct class

Current Behavior

This plugin currently makes Firestore under the window property directly.

    <js-module src="www/firestore.js" name="Firestore">
      <clobbers target="Firestore"/>
    </js-module>

There is a possibility to conflict with other plugins.

Expected Behavior

One suggestion is to create own package name.
For example, my plugin creates plugin.google.maps in order to prevent conflicting with others.

You know what even Google makes own package name firebase.firestore.Firestore.

Would you like to create your plugin move to plugin.firebase.firestore.Firestore?
( If you use plugin.firesbase.firestore, developers can understand to just add plugin. )

Firebase/Core Problems

Expected Behavior

Work and compile in ios like in android.

Actual Behavior

  • Adding the plugin: ionic cordova plugin add cordova-plugin-firestore --save --variable ANDROID_FIREBASE_CORE_VERSION=+ --variable ANDROID_FIREBASE_FIRESTORE_VERSION=17.1.0
  • Compile: ionic cordova build ios
  • Then open .xcworkspace in xcode and run in real device, I get the following error:
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_FIRAppEnvironmentUtil", referenced from:
      objc-class-ref in FirebaseCoreDiagnostics(FIRDiagnostics_5fae2e67e4a7b4383df55126bc52c2ef.o)
      objc-class-ref in FirebaseRemoteConfig(RCNConfigSettings_4abc67fd6e9bdbafa6d0943a83af1eeb.o)
      objc-class-ref in FirebaseRemoteConfig(RCNDevice_2fa242eb4aad3e3bff10c6bde66c21bf.o)
  "_kFIRNetworkHTTPStatusCodeNotModified", referenced from:
      -[FIRAMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
  "_kFIRNetworkHTTPStatusCodeNotFound", referenced from:
      -[FIRAMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
  "_kFIRNetworkHTTPStatusOK", referenced from:
      -[FIRAMeasurement networkUploadCompletionHandlerWithResponse:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
      -[FIRAMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
  "_OBJC_CLASS_$_FIRReachabilityChecker", referenced from:
      objc-class-ref in FirebaseMessaging(FIRMessaging_19f9b855665683fa3c0a0daa7f2a8036.o)
  "_kFIRNetworkHTTPStatusNoContent", referenced from:
      -[FIRAMeasurement networkUploadCompletionHandlerWithResponse:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
      -[FIRAMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
  "_kFIRNetworkHTTPStatusCodeUnavailable", referenced from:
      -[FIRAMeasurement networkUploadCompletionHandlerWithResponse:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
      -[FIRAMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
  "_kFIRNetworkHTTPStatusCodeCannotAcceptTraffic", referenced from:
      -[FIRAMeasurement networkUploadCompletionHandlerWithResponse:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
      -[FIRAMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
  "_OBJC_CLASS_$_FIRNetwork", referenced from:
      objc-class-ref in FirebaseAnalytics(FIRAAppDelegateProxy_35aba4039eba42413a46fea3097ce088.o)
      objc-class-ref in FirebaseAnalytics(FIRAMeasurement_78431add5886f7a64f080bb6c3f99898.o)
      objc-class-ref in FirebaseAnalytics(FIRAnalytics_20f381a67e6d70f1b973db7e9586fcd2.o)
      objc-class-ref in FirebaseCoreDiagnostics(FIRClearcutLogger_234b44acbebc395d644c77a3c7bb29ea.o)
  "_OBJC_CLASS_$_FIRMutableDictionary", referenced from:
      objc-class-ref in FirebaseAnalytics(FIRAAppDelegateProxy_35aba4039eba42413a46fea3097ce088.o)
      objc-class-ref in FirebaseAnalytics(FIRARemoteConfig_837edd22ee2d481454f086c83e2ac372.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
  • To fix this error, I add two pods:
    • FirebaseMessaging
    • FirebaseRemoteConfig

Resulting in:

platform :ios, '10.0'
use_frameworks!
target 'XXX' do
        pod 'FBAudienceNetwork', '4.28.1'
        pod 'GoogleMobileAdsMediationFacebook', '4.28.1.1'
        pod 'Firebase/Firestore'
        pod 'GoogleMaps', '~> 2.7.0'
        pod 'SwiftyRSA', '~>  1.5.0'
        pod 'CryptoSwift', '~> 0.13.0'
        pod 'FirebaseMessaging'
        pod 'FirebaseRemoteConfig'
end
  • Then: pod install

  • After that, the app compile, but I get an error in Runtime:

2019-01-15 12:03:09.150246-0300 XXX[1263:341484] 5.15.0 - [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) to your application initialization. Read more: https://goo.gl/ctyzm8.
2019-01-15 12:03:09.163778-0300 XXX[1263:341265] -[FIRApp setGetTokenImplementation:]: unrecognized selector sent to instance 0x2837d54d0
2019-01-15 12:03:09.167860-0300 XXX[1263:341265] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FIRApp setGetTokenImplementation:]: unrecognized selector sent to instance 0x2837d54d0'

Steps to Reproduce the Problem

$ ionic start testApp blank
$ cd testApp/
$ ionic cordova plugin add cordova-plugin-firestore --save --variable ANDROID_FIREBASE_CORE_VERSION=+ --variable ANDROID_FIREBASE_FIRESTORE_VERSION=17.1.0
$ ionic cordova build ios

Open platforms/ios/MyApp.xcworkspace in xcode and run

Specifications

  • Plugin version: 1.3.2
  • Framework: Ionic
Ionic:

   ionic (Ionic CLI)  : 4.3.1 (/usr/local/lib/node_modules/ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.1.9

Cordova:

   cordova (Cordova CLI) : 8.1.2 ([email protected])
   Cordova Platforms     : android 7.1.4, ios 4.5.5
   Cordova Plugins       : cordova-plugin-ionic-webview 1.2.1, (and 26 other plugins)

System:

   ios-deploy : 1.9.4
   NodeJS     : v11.1.0 (/usr/local/Cellar/node/11.1.0/bin/node)
   npm        : 6.4.1
   OS         : macOS
   Xcode      : Xcode 10.1 Build version 10B61

xcodebuild failed: duplicate output file warning (iOS)

Expected Behavior

cordova build should be able to successfully build.

Actual Behavior

# Many more duplicate output file warnings above not shown here #

Build system information
warning: duplicate output file '/Users/wm/git/jordi.firebasex-test/hello/platforms/ios/build/device/src/core/tsi/transport_security_interface.h' on task: PBXCp /Users/wm/git/jordi.firebasex-test/hello/platforms/ios/Pods/gRPC-Core/src/core/tsi/transport_security_interface.h /Users/wm/git/jordi.firebasex-test/hello/platforms/ios/build/device/src/core/tsi/transport_security_interface.h (in target 'gRPC-Core')

Build system information
warning: duplicate output file '' on task: PBXCp /Users/wm/git/jordi.firebasex-test/hello/platforms/ios/Pods/gRPC-Core/src/core/tsi/transport_security_interface.h /Users/wm/git/jordi.firebasex-test/hello/platforms/ios/build/device/src/core/tsi/transport_security_interface.h (in target 'gRPC-Core')

** ARCHIVE FAILED **

xcodebuild: Command failed with exit code 65

Steps to Reproduce the Problem

  1. Create hello world app cordova create hello com.example.hello HelloWorld
  2. Add this plugin cordova plugin add cordova-plugin-firestore
  3. Add iOS cordova platform add ios
  4. Build cordova build

Specifications

  • Plugin version: 3.0.0
  • Framework: ios
  • Framework version: 5.0.1
  • Operating system: macOS 10.14.5

[Bug][Android] Dates are being incorrectly unwrapped

Expected Behavior

Correct date value is parsed

Actual Behavior

The left most number is lost, causing incorrect Date value

Steps to Reproduce the Problem

async add(json: {}) {
   const db = await Firestore.initialise({})
   db.get().collection("path").add(json)
}

add({
   date: new Date(0)
})

running the above code will generate an exception

Error processing collection add in thread
    java.lang.NumberFormatException: For input string: ""
        at java.lang.Long.parseLong(Long.java:606)
        at java.lang.Long.parseLong(Long.java:636)
        at uk.co.reallysmall.cordova.plugin.firestore.JSONDateWrapper.unwrapDate(JSONDateWrapper.java:34)
        at uk.co.reallysmall.cordova.plugin.firestore.JSONHelper.fromJSON(JSONHelper.java:83)
        at uk.co.reallysmall.cordova.plugin.firestore.JSONHelper.toSettableMapInternal(JSONHelper.java:119)
        at uk.co.reallysmall.cordova.plugin.firestore.JSONHelper.toSettableJSONInternal(JSONHelper.java:113)
        at uk.co.reallysmall.cordova.plugin.firestore.JSONHelper.fromJSON(JSONHelper.java:98)
        at uk.co.reallysmall.cordova.plugin.firestore.CollectionAddHandler.handle(CollectionAddHandler.java:35)
        at uk.co.reallysmall.cordova.plugin.firestore.FirestorePlugin.execute(FirestorePlugin.java:73)
         ...
         ...

The reason is because the value is encoded as __DATE:0
JSONDateWrapper.unwrapDate() will strip 8 characters (prefixLength + 1), which return empty string.

The correct behaviour should be to strip 7 chars.

Specifications

  • Plugin version: master branch
  • Framework:
  • Framework version:
  • Operating system: Android

Problems with DocumentReference.onSnapshot

Expected Behavior

Function returns document and returns the document again when there is a change.

Actual Behavior

Function doesn't run at all and gives the following error:
Uncaught (in promise) Value null at 3 of type org.json.JSONObject$1 cannot be converted to JSONObject

Specifications

  • Plugin version: 4.1.1
  • Framework: Cordova Android (9.1.0)
  • Operating system: Windows 11 (64 bit)

My code

document.addEventListener("deviceready", onDeviceReady, false); var firebaseOptions = { datePrefix: "__DATE:", fieldValueDelete: "__DELETE", fieldValueServerTimestamp: "__SERVERTIMESTAMP", persist: true, }; function onDeviceReady() { Firestore.initialise(firebaseOptions).then(function (db) { const userRef = db.doc("/users/user_1"); userRef.onSnapshot( async () => { var doc = await userRef.get(); console.log(doc.data()); }, (err) => { console.log(err); }, (err) => { throw err; } ); }); }
-> https://hastebin.com/uyidoguzef.js

Because I'm not an Java expert I won't be able to fix this on my own. If you need more of my code/config, please let me know.

Jeroen2006

Troubles with Basic Example

Expected Behavior

I expect any of the console messages from the basic example

Actual Behavior

I get error
Uncaught (in promise) TypeError: db.collection is not a function
at lp.js: xxxx
at

Steps to Reproduce the Problem

Used this code.
Plugin version is 1.3.2

function onceLoaded() {
console.log('aaa');

    var options = {
            "datePrefix": '__DATE:',
            "fieldValueDelete": "__DELETE",
            "fieldValueServerTimestamp": "__SERVERTIMESTAMP",
            "persist": true,
            "timestampsInSnapshots": true,  // <-- set true
            "config": {}
        };

    console.log("cordova.platformId: "+cordova.platformId);
    
    if (cordova.platformId === "browser") {
        options.config = {
            apiKey: "my_apy_key",
            authDomain: "localhost",
            projectId: "my_project_id"
        };
    }

    Firestore.initialise(options).then(function(db) {
    // Add a second document with a generated ID.
        db.collection("users").add({
            first: "Alan",
            middle: "Mathison",
            last: "Turing",
            born: 1912
        })
        .then(function(docRef) {
            console.log("Document written with ID: ", docRef.id);
        })
        .catch(function(error) {
            console.error("Error adding document: ", error);
        });
    });   

}
var app = {
// Application Constructor
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},

// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
    this.receivedEvent('deviceready');
    
    onceLoaded();
},

// Update DOM on a Received Event
receivedEvent: function(id) {
    var parentElement = document.getElementById(id);
    var listeningElement = parentElement.querySelector('.listening');
    var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');

    console.log('Received Event: ' + id);
}

};

app.initialize();

Specifications

  • Plugin version: 3.1.2
  • Framework: Cordova
  • Framework version: 7.1.0
  • Operating system: Linux Ubuntu

The cordova-support-google-services changed <resource-file> configuration

In the README it explains that the google-services.json file should be declared by using:

<platform name="android">
    <resource-file src="google-services.json" target="google-services.json" />
</platform>

This caused the build to fail, as the file was not found by the related Gradle task.
The actual configuration should be

<platform name="android">
    <resource-file src="google-services.json" target="app/google-services.json" />
</platform>

This was taken from the cordova-support-google-services page (https://www.npmjs.com/package/cordova-support-google-services) and made the build work with no problems.

Specifications

Tested on Windows 7, the following plugins:
cordova-support-google-services^1.3.1
cordova-plugin-firebaseui-auth^1.0.2
cordova-plugin-firestore^1.3.2

DocumentRef.collection should return regular collection to allow recursion

Expected Behavior

db.collection('rootCollection') // Regular CollectionReference
  .doc('parentDocument') // Regular DocumentReference
  .collection('subCollection') // Regular CollectionReference with /rootCollection/parentDocument/subCollection/ path
  .doc('childDocument') // Regular DocumentReference with /rootCollection/parentDocument/subCollection/subDocument path 

Actual Behavior

db.collection('root') // Regular CollectionReference
  .doc('parent') // Regular DocumentReference
  .collection('sub') // Incomplete SubCollection implementation
  .doc('child') // Incomplete SubCollectionDocument implementation

Specifications

My specific need is to be able to do an onSnapshot on subcollections which is not currently possible since DocumentReference.collection returns a SubCollection which ends upd returning DocumentOfSubCollectionReference which does not implement onSnapshot, collection and others.

The problem is architectural : Firestore works with data structure recursion to allow subcollections to have the same functionality as root collections, and this plugin does not follow that pattern.

I tested by passing a subcollection path to a CollectionReference and it works fine so I guess it would be pretty easy to refactor this plugin to follow the same pattern as the official firestore sdks :

I am ready to implement that pattern as I need it to work in my application ASAP to work around the various issues we have currently with firebase-js-sdk in cordova.

So the question is : Why has it not been implemented this way yet? Is there something I am missing?

Problem with Google Play Service dependencies

HI,

I'm having a terrible problem trying to build an Android app using this plugin in conjunction with cordova-plugin-firebase-authentication. I'm hoping that someone can help!

To keep it simple I just do the following test from the CLI:

cordova create test com.test.app test
cd test
cordova platform add android
cordova plugin add cordova-plugin-firebase-authentication
cordova plugin add cordova-plugin-firestore
cordova build

And the output goes like this:

Android Studio project detected
ANDROID_HOME=S:\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8
studio
:wrapper

BUILD SUCCESSFUL

Total time: 21.782 secs
Subproject Path: CordovaLib
Subproject Path: app
publishNonDefault is deprecated and has no effect anymore. All variants are now published.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
at build_2qji639w163yahu2psl09gsre.run(C:\DocRoot\apps\test\platforms\android\app\build.gradle:145)
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
:CordovaLib:preBuild UP-TO-DATE
:CordovaLib:preDebugBuild UP-TO-DATE
:CordovaLib:compileDebugAidl
:CordovaLib:compileDebugRenderscript
:CordovaLib:checkDebugManifest
:CordovaLib:generateDebugBuildConfig
:CordovaLib:prepareLintJar
:CordovaLib:generateDebugResValues
:CordovaLib:generateDebugResources
:CordovaLib:packageDebugResources
:CordovaLib:platformAttrExtractor
:CordovaLib:processDebugManifest
:CordovaLib:javaPreCompileDebug
:CordovaLib:processDebugJavaRes NO-SOURCE
:app:preBuild UP-TO-DATE
:app:preDebugBuild FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    The library com.google.android.gms:play-services-basement is being requested by various other libraries at [[15.0.1,15.0.1]], but resolves to 16.1.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
    ....

I've seen similar issues with other plugins where version dependencies clash, I just want to know has anyone got a solution that will enable these two firebase plugins to live in harmony?

My NPM version is 5.6.0, Cordova 8.1.2 ([email protected]), and I have the latest SDK Manager updates (excluding previews)

Many thanks for any advice.
Darren

Specifications

  • Plugin version:
    cordova-plugin-firebase-authentication 1.0.1 "cordova-plugin-firebase-authentication"
    cordova-plugin-firestore 1.3.0 "Cordova Firestore Plugin"
    cordova-plugin-whitelist 1.3.3 "Whitelist"
    cordova-support-android-plugin 1.0.1 "cordova-support-android-plugin"
    cordova-support-google-services 1.2.1 "cordova-support-google-services"
  • Framework:
  • Framework version:
  • Operating system: Win7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.