SlideShare a Scribd company logo
Polycom Cast App
P o l y c o m , I n c .
July6, 2015 POLYCOM CAST APP
1 Cast Application| Polycom,Inc.
Table of Contents
1. Introduction 2
2. Preliminary Checklist 2
3. Why Chromecast? 3
4. Instructions for Developers 7
5. Background procedure 10
July6, 2015 POLYCOM CAST APP
2 Cast Application| Polycom,Inc.
Introduction
Do you want to show your meeting content for a group of members? Share meeting experience
with your colleagues and friends? Do you want to cast the content even after you turned off
your mobile device? Do you want to cast your meeting content even after your mobile device
turned off?
Here is a solution for that; Polycom Cast Application. It provides the feature of casting
and uses chrome cast as casting device. Polycom Cast Application just needs username,
password and meeting ID, by entering these required credentials it will take you to the
webView of apiView and at the top of the application window you can see the cast button, you
can select the device to which you want to cast.
Preliminary Checklist
 Both the casting device (android mobile or tablet) and casting to device (HDMI enabled
TV or monitor) should be in same Wi-Fi connectivity.
 Check whether the casting icon at the top of the application window when you start it.
 Make sure that username, password and meeting ID are known.
July6, 2015 POLYCOM CAST APP
3 Cast Application| Polycom,Inc.
Why chrome cast?
This section describes why we have chosen chrome cast.
The main and profitable reason is, it is very cheaper than any other casting device.
Chrome cast can cast most of the applications like Netflix, YouTube. Connecting the dongle is
pretty simple and just needs an HDMI port for TV or monitor. TabCasting is another advantage
provided by chrome cast. We can cast any site by using the option TabCast from chrome
browser.
The following table lists Major Apps compared among Google Chrome cast, Roku, Apple TV
and Amazon Fire TV.
Google Chrome Cast Roku Apple TV Amazon Fire TV
Netflix Cast Yes Yes Yes
Amazon
Instant
Tab cast Yes Airplay Yes
You Tube Cast Yes Yes Yes
Flixster Cast Yes No Yes
Starz Play Cast No No No
Crackle Cast Yes Yes Yes
PBS Tab Cast Yes Yes Yes
BloombergTV Cast Yes Yes Yes
Pandora Cast Yes Airplay Yes
Spotify Tab Cast Yes Yes Yes
July6, 2015 POLYCOM CAST APP
4 Cast Application| Polycom,Inc.
Rhapsody Cast No Airplay No
Tuneln Tab Cast Yes Airplay Yes
Google Music Cast No No No
Google Play
Movies and TV
Cast Yes No No
Plex Cast Yes Yes Yes
Now we can consider some questions like: What will this application can do? Why anyone
need this? Where this can be useful? How to use?
What will this application can do?
Meetings from wspbeta1 server can be casted into big screens. Casting to big screens
makes you feel better towards clarity and will be much helpful in group discussions. For
example consider a scenario of a conference where you are the only person who can access to
the meeting but remaining people also needs to listen to that meeting, at that time this will
helps you a lot.
If you have a laptop then open meeting in chrome browser and just cast it. For casting
the content view from a laptop it should be installed with chrome browser or else you can cast
it from android app which just asks to enter some credentials.
July6, 2015 POLYCOM CAST APP
5 Cast Application| Polycom,Inc.
Why anyone need this?
In general case if you want to show anything on big screen you can use tab casting
option from Google Cast extension but with less resolution. This application will help you to
cast meeting ApiView with high resolution also works faster than tab casting. It is very easy to
share the meeting content to friends, colleagues with Polycom Cast App. It will be very helpful
for the people for those who aren’t with good eye sight.
Where this can be useful?
Think that you are in a journey and not able to take laptop with you and have to a
meeting. If your android device has installed with Polycom Cast App Hence this application
will open webView in android device and enables cast experience, this will helps allot for big
conferences. If your device has enabled with Wi-Fi as same as chrome cast you can get cast
icon if you are not then your device already featured with webView page, by this you can
participate in the meeting.
And also in a case that where you don’t have enough battery charging on your device
you can just cast it to the big screen and can see the content. If your mobile device may get
switched off or may crash still you can see the content on your big screen since it is directly
streaming from server.
July6, 2015 POLYCOM CAST APP
6 Cast Application| Polycom,Inc.
How to use?
Just install and open the Polycom Cast App you can see the UI as shown in the following figure:
Then enter username, password and meeting ID and click on LOGIN button. If authentication
gets success then you will be redirected to webView and cast icon at the right top of the
window as shown in the above figure. For casting just tap on the cast icon it will show the
active cast devices you can select a device from the dropdown. Then it will be casted onto the
big screen. Final result will be Happy Casting!!
July6, 2015 POLYCOM CAST APP
7 Cast Application| Polycom,Inc.
Instructions for Developers
Execution of Android Project:
Install Android Studio:
 Go to https://developer.android.com/sdk/index.html click on “Download Android
Studio for Windows”.
 Run the installer, it will asks for permission to run just click on Ok.
 Then installer wizard will be opened click next to continue, follow the
instructions and finish the installation process.
1. After installation, start Android Studio by clicking on shortcut that has been created on
the desktop or else go for path where the tool had been installed, in bin folder click on
the application file, there starts the Android Studio.
2. Select Import Project option from the window displayed.
3. Select the “NewProject” from the unzipped content and then click Ok (you can select
any other android project instead of “NewProject”).
4. After importing the project you can see only the app folder at right of window.
5. To run the project click on RUN option at tool bar, and select “Run app” option from the
popup.
6. After building the gradle successfully it will asks to choose an emulator (it will show
default emulator, better to choose that) click Ok.
7. It will launch the emulator and runs application.
July6, 2015 POLYCOM CAST APP
8 Cast Application| Polycom,Inc.
Generating APK file:
1. Open android application in Android Studio, on toolbar click BUILD.
2. Select Generate Signed Apk option from the popup.
3. If keystore is already existed choose existing option else choose to create new.
4. After entering keystore details click ‘Next’.
5. Select the path for apk file to be generated in and then click Ok.
6. Apk file will be generated successfully if the keystore is correct.
7. The generated apk file can be installed to any android device.
Installing APK file into Android device:
1. Connect android device with the PC and copy the apk file into your device and just tap
on it to run after installation.
OR
2. Copy apk file into the store and just tap on it to run.
If u don’t have android studio you can use command line to generate apk file. For generating
apk file for android project you can follow the steps specified below:
1. Open command line and navigate to root of the project.
2. Just type “gradlew.bat assembleDebug” (it will build debug file at appbuildoutputsapk with
name apk-debug).
3. Wait for some time, until you get a message “Build Successfull”
July6, 2015 POLYCOM CAST APP
9 Cast Application| Polycom,Inc.
4. After that you can type “gradlew.bat assembleRelease” (it will build debug file at
appbuildoutputsapk with name apk-release-unsigned). It will creates unsigned apk.
5. When you build using the release build type, the .apk file is unsigned, so you must manually
sign it with your own private key, using Keytool and Jarsigner settings in the module’s
build.gradle file.
6. To build signed apk follow these steps:
 Open a command-line and navigate to the root of your module directory.
 Edit the build.gradle file at app to build your project in release mode:
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
 On command-line again run “gradlew.bat assembleRelease”command
July6, 2015 POLYCOM CAST APP
10 Cast Application| Polycom,Inc.
7. This will generate “apk-release.apk” at “appbuildoutputsapk”. This .apk file has been signed
with the private key specified in build.gradle file. It’s readyfor installation and distribution.
NOTE:
“myreleasekey.keystore” should be existed in root folder otherwise we should specify
the absolute path for the keystore (keystore.jks).
Background procedure:
The solution for tackling the problem of casting when your mobile device turned off is to get a
connection between server and the chromecast, for which one needs to get connected with one
of the available chromecast devices.
Two protocols are implemented on Chromecast to support discovery of chromecast device:
 The first is an implementation of the DIAL (DIscovery and Launch) protocol over
SSDP. This is the primary system used for the old v1 of Google Cast SDK.
 The second protocol implemented is an mDNS (multicast Domain Name System)
server. This is the primary way of discovering a Chromecast that supports the
v2API. For achieving the objective of Polycom RPWS native APP for chromecast,
latest version of Chromecast discovery protocols mDNS is used.
July6, 2015 POLYCOM CAST APP
11 Cast Application| Polycom,Inc.
Steps involved :
1. Check whether Chromecast is available.
2. Request a session with the APPID of the receiver.
3. Lock the horns with Receiver by
i) Session Listener (if already Exists) or
ii) Receiver Listener (to Create a new one)
4. Initialize the receiver by
a) Receiver Listener (chosen if no session exists)
i) Generates “Session” object and checks the property of availability.
ii) Availability of at least one Chromecast device on the network will lead to a
valid session.
iii) Executes the onReady Function to execute the task specified.
b) Session Listener (chosen if a valid session exists)
i) With the existing session ID checks whether the session is Alive
If false – Remove the session and make session objects as null.
ii) Else (id true) get the messages from the receiver on the bus using namespace
iii) Execute the onReady unction to execute the task specified.
July6, 2015 POLYCOM CAST APP
12 Cast Application| Polycom,Inc.
Actions by Sender :
1. Sender gets the Username and Password from the login Page.
2. When user clicks on login with valid meeting ID, the Sender itself “POST” request the
server to get the Token ID and username.
The Parameters in the POST request are Origin (URL), Credentials (Usrname and
Password), headers, return data type (JSON) and Content Type.
3. On successful POST Request, there exists JSON as return type containing the valid Token
ID and Username.
4. Fills up the URL with the token ID and Username and meeting ID. For instance the URL
should be
https://rpwsbeta1.cloudax.is/?embedded=true&autostart=true&pluginenabled=false&stage=tru
e&token=095B2821CEA206B9-D3B59618-A24F64B8-E44D1BAE-
BE2A0E1BEC8065FC0EDD83D3&username=”username”&meeting=”meeting id”#/apiview
5. Thus formed URL is sent to the receiver.
July6, 2015 POLYCOM CAST APP
13 Cast Application| Polycom,Inc.
Actions by Receiver :
1. Starts the Receiver Manager.
2. Waits at the onReady Function (Untill some sender gets connected).
3. When sender gets connected, Receiver create a castMessageBud to handle messages
over the agreed upon namespace.
4. OnMessage arrival from sender, (i.e., URL), the receiver opens a browser with URL
received and acknowledges the sender upon its success/failure.
Upon the successful communication between sender and receiver there gets established
a virtual connection between the Cast Device and the server on the particular token ID
and meeting ID as sent by the sender. Receiver directly relies on the URL specified, as
directed by the sender app built-in to invoke the receiver independent of the sender
behavior (except Disconnection). On requesting a DELETE by the sender will disconnect
the session by invoking receiver. Another way to disconnect a session is that another
user in the same network destroys the current session and casts his session.

More Related Content

What's hot

How to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDEHow to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDE
Lars Vogel
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
Saúl Buentello
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen Wearables
Ryo Jin
 
PhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsPhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native Components
TechAhead
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Svetlin Nakov
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studio
Parinita03
 
Ayw app inventor
Ayw app inventorAyw app inventor
Ayw app inventorpbeerak
 
Appy builder beginner tutorial
Appy builder beginner tutorialAppy builder beginner tutorial
Appy builder beginner tutorial
HabibulHakam
 
Using The EGit Eclipse Plugin With Git Hub
Using The EGit Eclipse Plugin With Git HubUsing The EGit Eclipse Plugin With Git Hub
Using The EGit Eclipse Plugin With Git Hub
Loiane Groner
 
How to create android applications
How to create android applicationsHow to create android applications
How to create android applications
TOPS Technologies
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Techday7
 
4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily Grind4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily Grind
Perfecto by Perforce
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Applitools
 
Titanium Appcelerator - Beginners
Titanium Appcelerator - BeginnersTitanium Appcelerator - Beginners
Titanium Appcelerator - Beginners
Ambarish Hazarnis
 
Getting Enter in Android development
Getting Enter in Android developmentGetting Enter in Android development
Getting Enter in Android development
Ghufran Hashmi
 
The unconventional devices for the Android video streaming
The unconventional devices for the Android video streamingThe unconventional devices for the Android video streaming
The unconventional devices for the Android video streaming
Matteo Bonifazi
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
Andrew McElroy
 
9 Step Guide to Create Ripple View Effect in Android
9 Step Guide to Create Ripple View Effect in Android9 Step Guide to Create Ripple View Effect in Android
9 Step Guide to Create Ripple View Effect in Android
Nine Hertz
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
alunny
 

What's hot (20)

How to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDEHow to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDE
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen Wearables
 
PhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsPhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native Components
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studio
 
Ayw app inventor
Ayw app inventorAyw app inventor
Ayw app inventor
 
Appy builder beginner tutorial
Appy builder beginner tutorialAppy builder beginner tutorial
Appy builder beginner tutorial
 
Using The EGit Eclipse Plugin With Git Hub
Using The EGit Eclipse Plugin With Git HubUsing The EGit Eclipse Plugin With Git Hub
Using The EGit Eclipse Plugin With Git Hub
 
How to create android applications
How to create android applicationsHow to create android applications
How to create android applications
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
CI & CD- mobile application
CI & CD- mobile applicationCI & CD- mobile application
CI & CD- mobile application
 
4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily Grind4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily Grind
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
Titanium Appcelerator - Beginners
Titanium Appcelerator - BeginnersTitanium Appcelerator - Beginners
Titanium Appcelerator - Beginners
 
Getting Enter in Android development
Getting Enter in Android developmentGetting Enter in Android development
Getting Enter in Android development
 
The unconventional devices for the Android video streaming
The unconventional devices for the Android video streamingThe unconventional devices for the Android video streaming
The unconventional devices for the Android video streaming
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
 
9 Step Guide to Create Ripple View Effect in Android
9 Step Guide to Create Ripple View Effect in Android9 Step Guide to Create Ripple View Effect in Android
9 Step Guide to Create Ripple View Effect in Android
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
 

Similar to Summary Of Polycom Cast App

Bird.pdf
 Bird.pdf Bird.pdf
Bird.pdf
RebaMaheen
 
How to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step GuideHow to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step Guide
Ace Web Academy -Career Development Center
 
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdfPERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
arfa442827
 
Final NEWS.pdf
Final NEWS.pdfFinal NEWS.pdf
Final NEWS.pdf
RebaMaheen
 
Final NewsApp.pdf
Final NewsApp.pdfFinal NewsApp.pdf
Final NewsApp.pdf
RebaMaheen
 
Developing Mobile Application using Phonegap
Developing Mobile Application using PhonegapDeveloping Mobile Application using Phonegap
Developing Mobile Application using Phonegap
Fahim Abdullah
 
Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)
MAHFUZ RAIHAN
 
How to develop a Flutter app.pdf
How to develop a Flutter app.pdfHow to develop a Flutter app.pdf
How to develop a Flutter app.pdf
Smith Daniel
 
Appium_set_up
Appium_set_upAppium_set_up
Appium_set_up
Mithilesh Singh
 
GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.
Åsa Pehrsson
 
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
InnovationM
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
Mithilesh Singh
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
Ace Web Academy -Career Development Center
 
Ct bot tutorial
Ct bot tutorialCt bot tutorial
Ct bot tutorial
Avinash Bengeri
 
How to Create Your First Android App Step by Step.pdf
How to Create Your First Android App Step by Step.pdfHow to Create Your First Android App Step by Step.pdf
How to Create Your First Android App Step by Step.pdf
BOSC Tech Labs
 
Webinar on Google Android SDK
Webinar on Google Android SDKWebinar on Google Android SDK
Webinar on Google Android SDK
Schogini Systems Pvt Ltd
 
Android deep dive
Android deep diveAndroid deep dive
Android deep dive
AnuSahniNCI
 
Day2GDSC.pptx
Day2GDSC.pptxDay2GDSC.pptx
Day2GDSC.pptx
GDSCICOER
 

Similar to Summary Of Polycom Cast App (20)

Bird.pdf
 Bird.pdf Bird.pdf
Bird.pdf
 
How to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step GuideHow to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step Guide
 
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdfPERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
 
Final NEWS.pdf
Final NEWS.pdfFinal NEWS.pdf
Final NEWS.pdf
 
Final NewsApp.pdf
Final NewsApp.pdfFinal NewsApp.pdf
Final NewsApp.pdf
 
Developing Mobile Application using Phonegap
Developing Mobile Application using PhonegapDeveloping Mobile Application using Phonegap
Developing Mobile Application using Phonegap
 
Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)
 
How to develop a Flutter app.pdf
How to develop a Flutter app.pdfHow to develop a Flutter app.pdf
How to develop a Flutter app.pdf
 
Appium_set_up
Appium_set_upAppium_set_up
Appium_set_up
 
GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.
 
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
Firebase crashlytics integration in iOS swift (dSYM File Required Problem Res...
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
 
Homestead demo
Homestead demoHomestead demo
Homestead demo
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
 
CI & CD- mobile application
CI & CD- mobile applicationCI & CD- mobile application
CI & CD- mobile application
 
Ct bot tutorial
Ct bot tutorialCt bot tutorial
Ct bot tutorial
 
How to Create Your First Android App Step by Step.pdf
How to Create Your First Android App Step by Step.pdfHow to Create Your First Android App Step by Step.pdf
How to Create Your First Android App Step by Step.pdf
 
Webinar on Google Android SDK
Webinar on Google Android SDKWebinar on Google Android SDK
Webinar on Google Android SDK
 
Android deep dive
Android deep diveAndroid deep dive
Android deep dive
 
Day2GDSC.pptx
Day2GDSC.pptxDay2GDSC.pptx
Day2GDSC.pptx
 

Summary Of Polycom Cast App

  • 1. Polycom Cast App P o l y c o m , I n c .
  • 2. July6, 2015 POLYCOM CAST APP 1 Cast Application| Polycom,Inc. Table of Contents 1. Introduction 2 2. Preliminary Checklist 2 3. Why Chromecast? 3 4. Instructions for Developers 7 5. Background procedure 10
  • 3. July6, 2015 POLYCOM CAST APP 2 Cast Application| Polycom,Inc. Introduction Do you want to show your meeting content for a group of members? Share meeting experience with your colleagues and friends? Do you want to cast the content even after you turned off your mobile device? Do you want to cast your meeting content even after your mobile device turned off? Here is a solution for that; Polycom Cast Application. It provides the feature of casting and uses chrome cast as casting device. Polycom Cast Application just needs username, password and meeting ID, by entering these required credentials it will take you to the webView of apiView and at the top of the application window you can see the cast button, you can select the device to which you want to cast. Preliminary Checklist  Both the casting device (android mobile or tablet) and casting to device (HDMI enabled TV or monitor) should be in same Wi-Fi connectivity.  Check whether the casting icon at the top of the application window when you start it.  Make sure that username, password and meeting ID are known.
  • 4. July6, 2015 POLYCOM CAST APP 3 Cast Application| Polycom,Inc. Why chrome cast? This section describes why we have chosen chrome cast. The main and profitable reason is, it is very cheaper than any other casting device. Chrome cast can cast most of the applications like Netflix, YouTube. Connecting the dongle is pretty simple and just needs an HDMI port for TV or monitor. TabCasting is another advantage provided by chrome cast. We can cast any site by using the option TabCast from chrome browser. The following table lists Major Apps compared among Google Chrome cast, Roku, Apple TV and Amazon Fire TV. Google Chrome Cast Roku Apple TV Amazon Fire TV Netflix Cast Yes Yes Yes Amazon Instant Tab cast Yes Airplay Yes You Tube Cast Yes Yes Yes Flixster Cast Yes No Yes Starz Play Cast No No No Crackle Cast Yes Yes Yes PBS Tab Cast Yes Yes Yes BloombergTV Cast Yes Yes Yes Pandora Cast Yes Airplay Yes Spotify Tab Cast Yes Yes Yes
  • 5. July6, 2015 POLYCOM CAST APP 4 Cast Application| Polycom,Inc. Rhapsody Cast No Airplay No Tuneln Tab Cast Yes Airplay Yes Google Music Cast No No No Google Play Movies and TV Cast Yes No No Plex Cast Yes Yes Yes Now we can consider some questions like: What will this application can do? Why anyone need this? Where this can be useful? How to use? What will this application can do? Meetings from wspbeta1 server can be casted into big screens. Casting to big screens makes you feel better towards clarity and will be much helpful in group discussions. For example consider a scenario of a conference where you are the only person who can access to the meeting but remaining people also needs to listen to that meeting, at that time this will helps you a lot. If you have a laptop then open meeting in chrome browser and just cast it. For casting the content view from a laptop it should be installed with chrome browser or else you can cast it from android app which just asks to enter some credentials.
  • 6. July6, 2015 POLYCOM CAST APP 5 Cast Application| Polycom,Inc. Why anyone need this? In general case if you want to show anything on big screen you can use tab casting option from Google Cast extension but with less resolution. This application will help you to cast meeting ApiView with high resolution also works faster than tab casting. It is very easy to share the meeting content to friends, colleagues with Polycom Cast App. It will be very helpful for the people for those who aren’t with good eye sight. Where this can be useful? Think that you are in a journey and not able to take laptop with you and have to a meeting. If your android device has installed with Polycom Cast App Hence this application will open webView in android device and enables cast experience, this will helps allot for big conferences. If your device has enabled with Wi-Fi as same as chrome cast you can get cast icon if you are not then your device already featured with webView page, by this you can participate in the meeting. And also in a case that where you don’t have enough battery charging on your device you can just cast it to the big screen and can see the content. If your mobile device may get switched off or may crash still you can see the content on your big screen since it is directly streaming from server.
  • 7. July6, 2015 POLYCOM CAST APP 6 Cast Application| Polycom,Inc. How to use? Just install and open the Polycom Cast App you can see the UI as shown in the following figure: Then enter username, password and meeting ID and click on LOGIN button. If authentication gets success then you will be redirected to webView and cast icon at the right top of the window as shown in the above figure. For casting just tap on the cast icon it will show the active cast devices you can select a device from the dropdown. Then it will be casted onto the big screen. Final result will be Happy Casting!!
  • 8. July6, 2015 POLYCOM CAST APP 7 Cast Application| Polycom,Inc. Instructions for Developers Execution of Android Project: Install Android Studio:  Go to https://developer.android.com/sdk/index.html click on “Download Android Studio for Windows”.  Run the installer, it will asks for permission to run just click on Ok.  Then installer wizard will be opened click next to continue, follow the instructions and finish the installation process. 1. After installation, start Android Studio by clicking on shortcut that has been created on the desktop or else go for path where the tool had been installed, in bin folder click on the application file, there starts the Android Studio. 2. Select Import Project option from the window displayed. 3. Select the “NewProject” from the unzipped content and then click Ok (you can select any other android project instead of “NewProject”). 4. After importing the project you can see only the app folder at right of window. 5. To run the project click on RUN option at tool bar, and select “Run app” option from the popup. 6. After building the gradle successfully it will asks to choose an emulator (it will show default emulator, better to choose that) click Ok. 7. It will launch the emulator and runs application.
  • 9. July6, 2015 POLYCOM CAST APP 8 Cast Application| Polycom,Inc. Generating APK file: 1. Open android application in Android Studio, on toolbar click BUILD. 2. Select Generate Signed Apk option from the popup. 3. If keystore is already existed choose existing option else choose to create new. 4. After entering keystore details click ‘Next’. 5. Select the path for apk file to be generated in and then click Ok. 6. Apk file will be generated successfully if the keystore is correct. 7. The generated apk file can be installed to any android device. Installing APK file into Android device: 1. Connect android device with the PC and copy the apk file into your device and just tap on it to run after installation. OR 2. Copy apk file into the store and just tap on it to run. If u don’t have android studio you can use command line to generate apk file. For generating apk file for android project you can follow the steps specified below: 1. Open command line and navigate to root of the project. 2. Just type “gradlew.bat assembleDebug” (it will build debug file at appbuildoutputsapk with name apk-debug). 3. Wait for some time, until you get a message “Build Successfull”
  • 10. July6, 2015 POLYCOM CAST APP 9 Cast Application| Polycom,Inc. 4. After that you can type “gradlew.bat assembleRelease” (it will build debug file at appbuildoutputsapk with name apk-release-unsigned). It will creates unsigned apk. 5. When you build using the release build type, the .apk file is unsigned, so you must manually sign it with your own private key, using Keytool and Jarsigner settings in the module’s build.gradle file. 6. To build signed apk follow these steps:  Open a command-line and navigate to the root of your module directory.  Edit the build.gradle file at app to build your project in release mode: ... android { ... defaultConfig { ... } signingConfigs { release { storeFile file("myreleasekey.keystore") storePassword "password" keyAlias "MyReleaseKey" keyPassword "password" } } buildTypes { release { ... signingConfig signingConfigs.release } } } ...  On command-line again run “gradlew.bat assembleRelease”command
  • 11. July6, 2015 POLYCOM CAST APP 10 Cast Application| Polycom,Inc. 7. This will generate “apk-release.apk” at “appbuildoutputsapk”. This .apk file has been signed with the private key specified in build.gradle file. It’s readyfor installation and distribution. NOTE: “myreleasekey.keystore” should be existed in root folder otherwise we should specify the absolute path for the keystore (keystore.jks). Background procedure: The solution for tackling the problem of casting when your mobile device turned off is to get a connection between server and the chromecast, for which one needs to get connected with one of the available chromecast devices. Two protocols are implemented on Chromecast to support discovery of chromecast device:  The first is an implementation of the DIAL (DIscovery and Launch) protocol over SSDP. This is the primary system used for the old v1 of Google Cast SDK.  The second protocol implemented is an mDNS (multicast Domain Name System) server. This is the primary way of discovering a Chromecast that supports the v2API. For achieving the objective of Polycom RPWS native APP for chromecast, latest version of Chromecast discovery protocols mDNS is used.
  • 12. July6, 2015 POLYCOM CAST APP 11 Cast Application| Polycom,Inc. Steps involved : 1. Check whether Chromecast is available. 2. Request a session with the APPID of the receiver. 3. Lock the horns with Receiver by i) Session Listener (if already Exists) or ii) Receiver Listener (to Create a new one) 4. Initialize the receiver by a) Receiver Listener (chosen if no session exists) i) Generates “Session” object and checks the property of availability. ii) Availability of at least one Chromecast device on the network will lead to a valid session. iii) Executes the onReady Function to execute the task specified. b) Session Listener (chosen if a valid session exists) i) With the existing session ID checks whether the session is Alive If false – Remove the session and make session objects as null. ii) Else (id true) get the messages from the receiver on the bus using namespace iii) Execute the onReady unction to execute the task specified.
  • 13. July6, 2015 POLYCOM CAST APP 12 Cast Application| Polycom,Inc. Actions by Sender : 1. Sender gets the Username and Password from the login Page. 2. When user clicks on login with valid meeting ID, the Sender itself “POST” request the server to get the Token ID and username. The Parameters in the POST request are Origin (URL), Credentials (Usrname and Password), headers, return data type (JSON) and Content Type. 3. On successful POST Request, there exists JSON as return type containing the valid Token ID and Username. 4. Fills up the URL with the token ID and Username and meeting ID. For instance the URL should be https://rpwsbeta1.cloudax.is/?embedded=true&autostart=true&pluginenabled=false&stage=tru e&token=095B2821CEA206B9-D3B59618-A24F64B8-E44D1BAE- BE2A0E1BEC8065FC0EDD83D3&username=”username”&meeting=”meeting id”#/apiview 5. Thus formed URL is sent to the receiver.
  • 14. July6, 2015 POLYCOM CAST APP 13 Cast Application| Polycom,Inc. Actions by Receiver : 1. Starts the Receiver Manager. 2. Waits at the onReady Function (Untill some sender gets connected). 3. When sender gets connected, Receiver create a castMessageBud to handle messages over the agreed upon namespace. 4. OnMessage arrival from sender, (i.e., URL), the receiver opens a browser with URL received and acknowledges the sender upon its success/failure. Upon the successful communication between sender and receiver there gets established a virtual connection between the Cast Device and the server on the particular token ID and meeting ID as sent by the sender. Receiver directly relies on the URL specified, as directed by the sender app built-in to invoke the receiver independent of the sender behavior (except Disconnection). On requesting a DELETE by the sender will disconnect the session by invoking receiver. Another way to disconnect a session is that another user in the same network destroys the current session and casts his session.