An example of WebRTC natively on Android using PubNub for signaling.
Java
Switch branches/tags
Nothing to show
Clone or download
pubnubcraig remove references to PubNub WebRTC SDK
because we don't have a WebRTC SDK
Latest commit 9756044 May 16, 2017

README.md

AndroidRTC

An example of native WebRTC on Android using PubNub's Android SDK signaling.

Big News: PubNub Android SDK for Signaling!

cover_img

This means that you can now create video chatting applications natively on Android in a breeze. Best of all, it is fully compatible with the PubNub Javascript SDK! That's right, you are minutes away from creating your very own cross platform video-chatting application.

Get it now!

NOTE: The following demo uses the PubNub Android SDK for signaling to transfer the metadata and establish the peer-to-peer connection. Once the connection is established, the video and voice runs on public Google STUN/TURN servers.

Keep in mind, PubNub can provide the signaling for WebRTC, and requires you to combine it with a hosted WebRTC solution. For more detail on what PubNub does, and what PubNub doesn’t do with WebRTC, check out this article: https://support.pubnub.com/support/solutions/articles/14000043715-does-pubnub-provide-webrtc-and-video-chat-

The AndroidRTC Example App

This app shows how to accomplish signling on a standby channel to coordinate users, then hop into a video chat and use the PubNub JavaScript SDK for signaling. You can even make a call to the AndroidRTC App from the web interface.

Users in this app layout must be subscribed to username-stdby, a standby channel. The Android side checks if a user is online by checking presence on the standby channel.

In this app, a call can be placed by sending a JSON packet to the user's standby channel:

{"call_user":"UserName","call_time":currentTimeMillis}

Upon accepting the call, the answerer creates the SDP Offer, and video chat begins.

Incoming Calls

AndroidRTC provides a good example of how to handle incoming calls.

User Messages

This app also shows how to send custom user messages. These messages could be chat, game scores, and much more.