Bless To all
I am developing an application in which i am implementing instant Messaging,Voip audio call and video call through using opentok/tokbox.I read all documentation it was though easy but not very much.But i am confusing at a point.Lets suppose if i have three user in my android application say A,B,C.
if user A wants to message with user B then how user B will know that he have to receive message from that session that is assigned to user A?how user A will send message that will go directly to user B.
Hope you all understand the question.Would like to hear any suggestion from you.and if anyone worked other plateform for these 3 features(instant messaging,voip audio,video) for free or trial.Please let me know also.
Thanks in advance
Your server will need to coordinate users and sessions using logic that you implement yourself. This will vary greatly depending on the server side language you use and the type of application you're creating.
Based on your example, your server side implementation needs to pair user A and user B together and give both users the same session ID so when they initialise and connect to that session, they can see each other.
If you've already read all the guides found at https://tokbox.com/developer/guides/ then make sure you also take a look at the sample applications https://tokbox.com/developer/samples/ They don't match your use case exactly but demonstrate how to create a 'room' that both users can visit to retrieve the same session ID.
The way opentok Sessions are structured is more like a conference call than a direct phone call which is what makes it confusing. But it's still possible to get the behaviour of a phone call. There are a couple of different ways you can do this.
You can create a session for every user. Then if user A wants to message user B, they connect to User B's session and send a signal. This requires you to keep track of which sessionId applies to each user.
Everyone is connected to the same giant session. When user A wants to message user B they send a signal to user B's connectionId. You can use the connection data property to put eg. usernames in the connections to help you keep track.
You can use a 3rd party service for messaging and just use OpenTok for the audio/video part.
Hope that helps.
Related
I want to implement video audio and text chat in native Android using Icelink. I implement demo provided by Icelink but it makes a conference call. I want to make one to one call using request and answer signalling method. Till now I did with connect server and bind user with it. i use Websync for server-side implementation.
Now the problem is what can I do for getting all the users.?? Suppose I will get all users from server side then how can I send a request from one user to other user and connect with upon second user's response??
Follow this diagram : Signaling Diagram
if anyone implemented or worked with Icelink and Websync please help me...Thanks
This answer comes quite late but I hope it's still useful for you.
The example provided with IceLink does indeed work as a conference call because all the users join the same WebSync channel and the example is setup to create a connection to a user that joins the channel.
For a simple and quick solution, you could have only two people join a single channel, then it's only a two person conference.
For something more advanced, note that IceLink is signalling agnostic. You can provide your own signalling mechanism as long as you can pass the offer and answer messages between two clients.
What I did was I put the users in the same WebSync channel and A Publishes in that channel with Ring message (as an example) and the other one, inside onReceive, gets that message and I show prompt to the user and if they accept it, I communicate the Session number to user A again and then they are put in the same conference (which is one-to-one in this case)
I am new to this development process please help me out. I am developing an application in which i have a list of words under a user profile.
Let us suppose i have two devices A and B, both want to share their words-list with each other.
If A is sender then B act as receiver and vice versa.
So how can they communicate (Share Data) with one another using wifi direct without internet connectivity.
I have reached upto level that array of words created now i donot know how to proceed further client and server in same app. stuck in problem
Any Example will be appreciated.
You may want to use solutions such as Parse ( it is closing now, but you can still setup you own server). You make queries as with ordinary database, but can save/fetch data on any device (android/iOs). It also has good sample project and comprehensive documentation (https://www.parse.com/docs/android/guide).
I want to implement a feature in an app where users can add friends and check and compare each other stats from the java objects created, which involves a few subclasses.
I was wondering if anyone know what the best way to approach this would be?
The only thing that pops out is using Firebase. Where the user would click a button to upload the data to Firebase with a UUID link, and then give the UUID to the other user, where he/she would have to manually type the UUID in a textfield, and it gets the data from Firebase.
Would method be viable and is there any other better options?
Thanks
I would probably create a file (you can invent any ending) with all info you need displayed in json. That file can be shared via Whatsapp or what ever and imported in your app?
But I don't know what "stats" that are that the users can compare but I think they will change from time to time? So I would guess an online service would be better because otherwise to update, they have to share again and again?
I would like to have a friend list feature in my App. The idea is to select any contact from your contact list and then that contact would be sent an SMS from the App(via Server), requesting him to click on the link to accept the friend request, if he is already on the App. If he is not on the App, the SMS would send him a download link. How can I achieve this? Any help would be highly appreciated.
EDIT:
So far, when I select the contact, it gets added in my friend list, with an "!" mark that the request has not been approved at the other end. The other guy gets an SMS as well from the App(via Server) to accept the request by clicking on the link. Now when the other guy, clicks on the link(just a demo link as of now), how do I make him accept the request? Any suggestions would be highly appreciated.
You have nearly completed the job at hand.
Here is what you can do to finish it.You will need to maintain a mapping of which number sent which other number a link on the server. I have not understood how a single link for all requests is going to suffice what you need to do(else you will need a way to generate unique links and handle what happens when each is clicked on!). I dont think that is possible. The user onclick on the link could be redirected to new activity which will pull friend-requests from the server from the mapping availabe. The user could accept or reject the requests here. You see a single link will fail to provide functionality of multiple requests the user gets. Once the second user has one this, you can notify the first user of the same(maybe via GCM or by polling from the device(not efficient!)). I hope my interpretation of the task at hand was right.
I develop the app which is provide some information to general user. it is not only showing info but also curating and recommending further detail info depending on users history;what the users clicked, searched and acted on the app. (like a google targeting AD).
For this, I have to accumulate user's activites on apps. (which button was clicked, when did they turn on the app and so on...)
For this, I have two ideas.
1. let the app to leave their log text file in local device then append lines in it whenever user act, and upload it when they turn off the app on server DB.[like a batch]
-OR-
2. let the app, update db everytime when user acts something on app by http-post.[like a realtime]
Which way is common tactics(or popular ways) on real field? or can you suggest another way?
thanks for reading.