React Native App with Firebase to Control Alexa Devices? - firebase

I'm wanting to build a smart light that I can control using a React Native Application connected to firebase database. I found many tutorials that use esp8266 modules to control the device (a light in my case).
But I already own smart bulbs that are connected to my Alexa Ecosystem.
Is there any way I can give Alexa the commands to control my bulb directly via my React Native Mobile App (instead of the Alexa App). If so, please guide me a little. Any resources will be a huge help.
So far I only have experience with building React Native Apps. No experience in IOT devices yet.

If you want to use Alexa to react on a vocal command, you have to build a custom Alexa skill.
You need an amazon account on developer.amazon.com
You need to create a skill in the developer console (https://developer.amazon.com/alexa/console/ask) where you also configure the language model (on which sentences the skill will react and invoke an intent)
You need a backend, which is triggered by the Amazon Alexa Cloud for those intents. There are multiple ways to implement such a backend - but I am not aware if you could run react native app in a container / on a server. I worst case you need to implement the controlling logic of your app on a backend again (https://developer.amazon.com/en-US/alexa/alexa-skills-kit & https://developer.amazon.com/en-US/docs/alexa/ask-overviews/what-is-the-alexa-skills-kit.html & https://developer.amazon.com/en-US/docs/alexa/build/build-your-skill-overview.html)
You can run such a skill in developer mode just for your alexa account and does not need to publish it. If you like to do that, to enable other users you need to think about account management (linking) and maybe then a smart home skill (https://developer.amazon.com/en-US/alexa/alexa-skills-kit/get-deeper/smart-home-skills & https://developer.amazon.com/en-US/docs/alexa/smarthome/understand-the-smart-home-skill-api.html) is more interesting for you - it is a little bit more complicated in coding, but the language model is handled by Amazon.

Related

Is Firebase App Check available for Unity, Godot, or other game engines?

I am about to start making a game for iOS/Android which involves connection to Firebase backend.
Since the game contains a bit controversy theme, I'm scared of DDoS kind of attacks.
To make protection, I know Google provides Firebase App Check service and they say it's available for iOS/Android/Flutter/Web according to their webpage.
https://firebase.google.com/docs/app-check
My question is, is the service available for Unity, Godot, or other game engines?
Since App Check SDK is available for Flutter, does this mean we need SDK for Unity, Godot etc. if we use those engines?
Or can we just use Firebase iOS/Android SDK together with any game engine?
I checked whether they provide SDK (with App Check) for any game engine and only found that Firebase Unity SDK seems to be trying to implement App Check feature (but not done yet).
https://github.com/firebase/firebase-unity-sdk/issues/511
It would appear Firebase is available in the Play Core Native SDK, so it would be possible to use GDNative to access the API.

Can you use Firebase on a non-yet built mobile app?

I am planning to use Firebase for the backend of a mobile app project, and I was wondering : am I obligated to build an app to be able to use Firebase (e.g for tests) ? Or is there a way to use Firebase during my programmation phase ?
Firebase offers about a dozen of services. Including databases and test tools.
You can use any subset of those services
You can use Firebase any way you want using the provided APIs and SDKs. This might or might not involve a mobile app. As long as you stay within the limits of the free tier, or are willing to pay for the services you consume on the Blaze payment plan, nobody will care if you have an app or not.

Is it possible to test Meteor application on multiple mobile phones?

I am developing audio calling application in Meteor and I would like to test if I can call other logged in users, it doesn't matter if it is IOS or Android.
Is it feasible to do so? If not, are there any way I can go about to test the calling functionality?
I’d build production apps and distribute to friends with something like Testfairy. I could be one of your testers if it helps you.
You are clearly using webrtc technology so are your stun/turn servers configured correctly? I've read somewhere that a production build was required to access the device camera via the cordova plugin. That could very well be your problem.

What are the main differences between Firebase vs Firebase 2.0?

Google just released Firebase 2.0.
It seems they are completely separate platforms.
Firebase: https://www.firebase.com/
Firebase 2.0: https://firebase.google.com/
APIs are also different.
Firebase: https://www.firebase.com/docs/web/api/
Firebase 2.0: https://firebase.google.com/docs/reference/js/#firebase
Could someone explain the differences in the core concepts on both mobile and web?
I've been building an app using old Firebase.
Should I change my codes to use Firebase 2.0?
The new version of Firebase is the same platform - it just adds a whole range of new features, so the big change to the core concepts is an expansion of what you can do.
The Realtime Database offers the same functionality as before, but with a refreshed API and a new console. You can keep using the same approach and data model as before, and the API changes are largely cosmetic (renaming to be consistent with the newer features).
Authentication is pretty similar, but it has been expanded to include new features like account linking and customizable emails. You should be able to upgrade your application to the new SDKs and console pretty easily: take a look at our migration guides for Android, iOS and the web.
You can import your project at any time. Your applications and the existing SDKs will continue to work. You can then update your code when you are ready to use some of the new Firebase features in your application.
The new concepts are really around the new features:
Analytics is a new mobile-first analytics product that gives free and unlimited event reporting, and allows building audiences which can be used in many other services.
Storage allows you to store and serve user-generated content, such as photos or videos.
Remote Config allows you to change the behavior and appearance of your app without publishing an app update.
Cloud Messaging is a cross-platform messaging solution that lets you reliably deliver messages and notifications at no cost. Notifications gives you a tool in the Firebase Console to send re-engagement messages easily.
Crash Reporting lets you collect crash data from your Android and iOS apps, to find and fix problems more quickly.
Dynamic Links are smart URLs that dynamically change behavior to provide the best experience across different platforms. They allow you to use deep links that survive app installs on Android and iOS.
Several existing Google products have been integrated into Firebase as well
Invites replaced AppInvites, giving easy way to sending personalized email and SMS invitations. App Indexing gets your app into Google search.
Firebase now also integrates with AdWords to let you target ad campaigns with Analytics audiences, and AdMob to automatically track in-app ad effectiveness.
Its a lot of new features, but you don't have to try them all at once! Once you upgrade, its straightforward to pick and choose.

How to combine Google Services with JavaFX multiplayer game?

Hi, I am writing a multiplayer turn-based game in JavaFX 8.
For now I have game which is working on desktop and users connect by LAN network. I wrote a class for the client and another class for the server.
I am new in developing games by JavaFX and I know that I can compute my game with Google Services and there are ready-made tools for creating such multiplayer games.
This is link to Google Services: https://developers.google.com/games/services/
I would like to use Google Services because I want prepare game to porting with JavaFXPorts mobile plugin for Desktop, Android and iOS.
Do I have to write client and server class again?
How should I add Google Services to each of systems?
Maybe anyone have any example of using Google Services in similar applications.
Thanks in advance for all the answers and suggestions. :)
Using JavaFXPorts, you can deploy your Java application to desktop and mobile devices, so if your client is a JavaFX application you won't need to write it again.
Surely you will need to take care about the different layouts required for different resolutions.
Since on mobile you will be running Java 7, make sure you don't use streams on your code. Lambdas can be used though.
Regarding the use Google Play Services, they work with JavaFXPorts. Have a look at this question.
But before going into Google Play Services, I will suggest you create some samples first, to get a grasp of the process.
Have a look at the free Gluon plugin to get you started with JavaFXPorts. Follow the samples and have a look at the list of prerequisites to be able to deploy your apps.

Resources