Greetings to fellow developers,
I am working on a project where I have to display a functional video call between two users. For reference, I have been following this video https://www.youtube.com/watch?v=v9ngriCV0J0
which has given a step-by-step explanation for establishing a video call between two users.
However, the only issue is that the video is having a Firebase backend. Hence, whenever a caller creates a call model with sender and recipient Ids, the recipient immediately receives the same data and a call is established. Whereas, I am using Node/Express backend (manual API calls for updating fetching data) which makes it extremely difficult to receive the required call data from the receiver's end as soon as the caller sends it to the backend. Also, it will be inefficient to listen for fetching the call data the whole time.
I will be very grateful to all of you if you can help me find a working approach so that the receiver can fetch the required call data as soon as the caller creates it in the backend for establishing a video call from separate devices.
Here's my code
https://pastebin.com/AurJnG27
/***pubspec.yaml dependencies***/
dependencies:
flutter:
sdk: flutter
http: ^0.12.0+2
provider: ^4.3.3
socket_io_client: ^0.9.9
permission_handler: ^3.0.0
agora_rtc_engine: ^1.0.8
/***pubspec.yaml dependencies***/
Please let me know if any further information is required from my side. Any feedback for code improvisation (if you feel like it) is also very appreciated.
You're getting that error because of an incorrect or expired token that you might be using. Firstly, I will suggest shifting to the latest version of the Agora SDK and then build your application.
Now, if you're just testing out the platform then from your Agora dashboard you can go ahead and generate a new App ID and select the testing mode which will disable token. So in your joinChannel() method you can pass null for the token value.
But if your application is live or is in production then go ahead and select the secured mode from your Agora dashboard. Then you will have to generate a token server from a deployed server, you can read more about it here.
Now, coming to the Firebase part. You can actually make this process much simpler by using the Agora RTM SDK. Which allows you to send messages, through this you can send peer message about the call details and hence refer it while making a call. You can have a look at this blog which shows how you can use the RTM SDK to do the same: https://www.agora.io/en/blog/building-your-own-audio-streaming-application-using-the-agora-flutter-sdk/
If you're interested you can have a look at this sample code given here which will help you setup a proper video calling application.
I will also recommend you to join the Agora Slack Channel where you can get help from other Agora developers.
Related
I am learning twilio android push notification, twlio have already provided a 'notifications-quickstart-android' app on github, I cloned it and made the changes as mentioned on the official docs of twilio,
But after creating the binding on android app,
(Also after pressing on register binding, the closes or ithink crashed i think)
documentation says to make a GET/POST request on this URL through Postman/curl and then a notification will appear on app:
https://sturdy-concrete-1657.twil.io/send-notification?identity=user1&body=Hello
I replaced the user1 with user9999 because I created the binding with this user,
Then I made the request through ThunderClient (a VS Code Extension like a postman),
But in the response I got
Not Found
why ?
We need to implement functionality that Admin should be able to mute anyone in channel, for this we have used your function
muteRemoteAudioStream(uid, toMute)
We also want to show everyone that this user has been muted... But for now we are not getting any callback in method
onRemoteAudioStateChanged(uid, state, reason, elapsed)
I' m using agora voice sdk version : 3.3.0 (implementation 'io.agora.rtc:voice-sdk:3.3.0')
Kindly help us on this.
Thanks in advance
Please define and create the IRtcEngineEventHandler when initializing the RtcEngine instance. This will make sure that onRemoteAudioStateChanged be called when the remote audio state change (e.g. remote user mute).
Agora currently does not provide similar API for remotely mute any users. But you can achieve this by using Agora RTM (Real Time Messaging) SDK. You can send a signal from the "Admin" user to the remote users. When the remote users receive the message, they can call muteLocalAudioStream method to mute themselves.
Here is the guide for RTM SDK: https://docs.agora.io/en/Real-time-Messaging/messaging_android?platform=Android
I am starting to implementating a RazorPayment Gateway in one of my cordova application. and I am using this
https://github.com/razorpay/razorpay-cordova plugin. According to Razor Docs.
Step1: Payment is created when a user (the customer) fills up and submits the payment information and it is sent to the Razorpay API. : Successfully Implementaed
Step2:Authorized payment Details: Not Done
How can it possible using ajax. kindly tell me. event I completed my first step.
Can anyone share with me any knowledge how can I successfully completed this implementation.
After successful step 1:
you will get a [token] from razorpay.
Send the [token] to your server via ajax and save it in database.
The step 2: is done via the server using their SDK in php, java, etc. using the [token]stored in database.
usually step 2 is done with background jobs by the server.
Hope this helps
I need to verify the spam score of mobile numbers using Truecaller API .I found documentation here . In the API URL , I need to send a APPKEY , But how to get that ? there is no registration page for Truecaller API .
https://api.truecaller.com/v1.0/search.json?userKey=APPKEY&phone=NUMBER
Any help will be appreciated...
You should Read this Document for Name Search API
it Says that....
The one thing to keep in mind is that all requests to our API require
authentication. For that, you will need to use a User Key (userKey)
along with your requests. These access details basically associate,
your server, script or program with a specific application. All
requests to the API must be made over SSL (https:// not http://).
It means you have registered Truecaller developer account then Do Login and get your Access Key(USER KEY) and pass it everytime you request to access API..
But I Think Truecaller API is not accessible for public users...
Read This Article for More Details : http://www.3scale.net/2013/05/truecaller-api-search-among-over-600-million-phone-numbers-worldwide/
Why don't you try this?
callerpy
Here is the explanation from the developer:
Truecaller Name Retriever.
Since my request for the API was rejected, I commenced using python parsing libraries.
Callerpy emulates the process one would encounter if using a web-browser.
I tried it, and it works like a charm from the command line.
What is a Log Collector an how does it works? Please help me out in understanding this.
Collects output of logcat and sends it to a developer using email or messaging. Can be used as a standalone application or invoked through the intent API by another application.
check this also for an example http://code.google.com/p/android-log-collector/downloads/detail?name=android-log-collector-1.1.0.apk
It's a component that would store some logging informations, generally in order to send them to a remote location (by email, http request, ...).
For an example you can take a look at the following project : android-log-collector.
On android, "log" generally corresponds to the LogCat.