• Stars
    star
    211
  • Rank 186,867 (Top 4 %)
  • Language
    Java
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An example of WebRTC natively on Android using PubNub for signaling.

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.