I currently have a side project React Native app running everything through Firebase. I want to add a social feed. I've been able to use getstream in client mode by turning off the debugger, but after a day without the debugger I've realized that's unacceptable. So my options are:
Put the getstream related code in Firebase Functions:
get: This really could be on any server
follow/unfollow - Trigger from database update
addActivity - Trigger from database update
Write my own social feed code using Firebase. I hate reinventing the wheel and I think getstream would make potential future features like notification/aggregated feeds easier.
I was able to use Firebase Functions to generate the secret feed tokens. If only I could use the Chrome Debugger with getstream. It seems like I'm not in a very unique position and this should be supported.
Related
I see this question has already been asked but not all that recently so I am bringing it up again.
How do you hide your firebaseConfig file, or any secret key, in an expo application? (For production, not dev).
As far as I can tell, there is no way to properly hide the firebase config file with API keys etc in a react-native expo app.
Being that I have already built my entire app around interacting with firestore, I am a bit perplexed as to how to proceed forward.
If I eject, is there a way to properly hide my API key in a non-expo react-native-app? Or will I still face the same problem? Everything is working smoothly and I would prefer not to eject.
I have some experience using node.js/express.js as a backend (only ever in a development setting). Should I build myself a server and then serve the config info from there?
If I want to deploy a 'demo' app, is there a way to hide the keys while still using expo?
Any insight into this would be so helpful.
As far as I am aware there is no 'dotenv' package compatible with expo.
Also I have zero experience in deploying mobile apps, and very little in deploying web apps. I have not yet had to deal with securing keys in deployment.
Any help would be so appreciated.
It's not possible to effectively hide your Firebase config information. The best you can do is make it more difficult for someone to find them. Since all the JavaScript code is running on a computer or device that you don't control, you can't ensure that any of it is hidden from view.
In fact, you don't need to hide any of that. I suggest reading this: Is it safe to expose Firebase apiKey to the public?
If you're using Realtime Database, Firestore, or Cloud Storage, you should be using security rules to protect data so that only authorized users can access it.
I've been using Firebase for a long time and it's great, however I need more power for certain things.
At the moment, I have a function in Cloud Functions for Firebase to do some video processing and I need more power. I have heard Google's App Engine is better for this kind of solution and I've been experimenting with App Engine with my Google Cloud project.
I went to deploy my first Node.JS app function to App Engine and it seemed as if it was going to overwrite my existing functions I have. I have lots of functions, and code in Firebase for my app and my website to talk to one another, so I'd like to keep and leave my Firebase stuff alone.
I'm just wondering, how I'd use App Engine (and maybe some other higher end Google Cloud products) alongside Firebase without interfering or changing one another, but using the same project?
App Engine is an entirely different product than Cloud Functions. Anything you deploy to App Engine will not affect what you've already deployed to Cloud Functions, and the same applies in reverse. You can use both products in tandem with no conflicts.
Here, you can find more details related to the serverless environments options that you have. It would be helpful to read about each of them and choose whatever fits your needs better.
I´m creating an app with nativescript and i need push notifications, so i read about onesignal and it looks promissing, so i have created an account with them, follow the instructions for ios, then they sent you here where you are suppose to configure the nativescript SDK for your mobile app. Well, i´m not using typescript, so my first question is:
Where is the javascript version to configure the nativescript SDK,
does anyone knows?
My second question is related with the data that my app receives, which is throught a database, i have a webapp and everytime a user INSERTS in the database, a listview in the nativescript app is "fed"...but when this happens, i need the script from onesginal to send the push does anyone ever used it?
Thanks for your time
Regards
TypeScript makes it easy to maintain large scale JavaScript applications, NativeScript or Angular itself is written in TypeScript for same reason. So personally I would recommend getting started with TypeScript for better.
If you want to convert TypeScript into JavaScript, simply remove all typings from your code, replace import statements with require. At least this should work in NativeScript environment as it supports most of ES6 syntaxes. If you prefer ES5, simply use any online compiler to get JS version of same code, TypeScript Playground for instance.
Also NativeScript docs got examples for extending app delegate in JavaScript if you need further guidance on this.
I don't think the plugin provides any interface to handle notification data at the moment. If you are familiar with the native apis, you may directly access them from JavaScript to access the data sent from server. If possible, I would recommend migrating to Firebase which supports end to end integration with proper examples.
Currently angularfire2 allows you draw from cached data by importing AngularFirestoreModule.enablePersistence()in app.module file.
I'm wondering if it's possible (and how) to do this dynamically after the app has been initialized.
The reason i'm trying to do this, is currently enablePersistence only works on one tab in a browser, but works great for mobile. I would love to just disable it for the web and have it enabled for mobile.
Currently i'm using Ionic for development just in case that helpful.
From the reference documentation for enablePersistence():
Must be called before any other methods (other than settings()).
So you can enable persistence, as long as you haven't made any other Firestore calls.
I'm planning on integrating some sort of realtime editing functionality in my tutoring app using Meteor. I've been using ShareJS till now, but I'd like to be able for users to edit spreadsheets and powerpoints as well as well as have more editing features. I've been thinking about how we could possibly integrate Google Drive's Docs,SpreadSheets, and Presentations interfaces into my API. Is this possible/legal using iFrames or is there any other format for doing so?
See their OAuth APIs for drive.files.list..
It doesn't seem as integrated with the Meteor Auth as I'd like, but I'm getting somewhere with it.
After setting things up with gapi.client.setApiKey, then gapi.auth.authorize and gapi.client.load
gapi.client.drive.files.list({}).execute( function(r){ console.log(r); } );