My team develops Web service which uses Google Hangouts API.
We render Hangouts button on the page using gapi.hangout.render call.
<script src="https://apis.google.com/js/platform.js" async defer></script>
<div id="placeholder-div5"></div>
<script>
gapi.hangout.render('placeholder-div5', {
'topic': 'cats',
'render': 'createhangout',
'hangout_type': 'onair',
'initial_apps': [{'app_id' : '184219133185', 'start_data' : 'dQw4w9WgXcQ', 'app_type' : 'ROOM_APP' }],
'widget_size': 72
});
</script>
Among the parameters that we pass to the function there is initial_apps where you can specify your application to be launched on the start of Hangouts.
Some time ago Google released the new beta version of Hangouts and now our application (plugin) does not launch within new beta interface. So our service is broken because of it.
How can we deal with this problem?
A few things to check first:
Is the button launching as a Hangout or a Hangout OnAir? Your parameters seem to suggest that it should be OnAir, but the Beta interface isn't visible in OnAir at this point. Does the button say "Start HOA" in yellow or "Start a Hangout" in green?
Once launched, does it appear to be the classic interface (buttons along the top and the apps listed on the left) or the beta interface (buttons along the bottom and apps are not listed at all).
If it does appear to be the classic interface, are the apps listed on the left, even if the app isn't running?
Check the console for any error messages directly related to loading your app. (There will be a number of other errors from hangouts itself.)
I was able to duplicate the problem for a while in my tests, but it suddenly started working again, so something odd may be going on.
Related
We've been using the as yet un-deprecated "Start a Hangout on Air" button:
https://developers.google.com/+/hangouts/button
to start hangouts on air on our site http://agileventures.org for several years now. Full source code at http://github.com/AgileVentures/WebsiteOne
In the last 24 hours, clicking those buttons now redirects to instructions to manually start a youtube live event:
https://support.google.com/youtube/answer/7083786?visit_id=1-636118907663120157-3101666316&p=live_hoa&hl=en&rd=1
This is a problem as manually started events will not create the hangout app that lets our community know an event is starting and provides us with important telemetry on events.
There is unfortunately no documentation in the youtube live streaming API about how to create a button that will create a youtube live streaming event, or load a plugin into that event:
https://developers.google.com/youtube/v3/live/docs/
We need some code similar to that provided by the hangouts api, e.g.
<script src="https://apis.google.com/js/platform.js" async defer>
</script>
<div class="g-hangout" data-render="createhangout"
data-initial_apps="[{ app_id : '123456789012', start_data : 'dQw4w9WgXcQ', 'app_type' : 'ROOM_APP' }]">
</div>
but that will work with the new youtube streaming api. Any ideas?
The YouTube live documentation talks about being able to create a broadcast, but it seems to be only for custom "streaming" broadcasts and not hangouts:
https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/insert
The new events page allows us to select the "quick" type, which creates a hangout on air (https://www.youtube.com/my_live_events?action_create_live_event=1) so we can create HOAs manually, but not programmatically? We would very much appreciate clarity from Google on this.
It seems that support for Hangout on Air Buttons, creation of HOAs via API has been dropped no?
Note that Google is specifically requesting support questions for the Youtube LiveStream API are posted to StackOverflow:
https://developers.google.com/youtube/v3/live/support
The functionality all started working again after a 3 week break. We're not sure if Google changed anything. There were no changes on our end. Buttons for starting HOA's have been stable now for the last two months or so ...
Something seems to have changed recently (early Nov 2014) in the way the example buttons work to start a Hangout On Air (HOA). https://developers.google.com/+/hangouts/button
I have been using this example code from the link above as a starting point to make a "Create a Hangout On Air" button on my website.
<script src="https://apis.google.com/js/platform.js" async defer></script>
<div id="placeholder-div3"></div>
<script>
gapi.hangout.render('placeholder-div3', {
'render': 'createhangout',
'hangout_type': 'onair',
'initial_apps': [{'app_id' : '184219133185', 'start_data' : 'dQw4w9WgXcQ', 'app_type' : 'ROOM_APP' }],
'widget_size': 175
});
</script>
The initial_apps line is supposed to cause the HOA to automatically start the Youtube hangouts app (the app_id) with a particular video (the start_data). A couple weeks ago this was working. Now it is not. The initial_apps parameter seems to have no effect on the initial start of my HOA.
Another change I have noticed is that when I press the Create a Hangout button, I am now taken to a Google+ page where I enter a name for the hangout and guests, and then I have to push another button to actually start the HOA. This extra button push was not around previously.
I don't particularly care about the Youtube app starting, but I do care about my own app starting with my own start_data.
Has something changed recently? Why is this not working?
UPDATE: As of 16-Nov-2014, this bug seems to be fixed.
Yeah I am facing the same problem.
My app also doesn't get loaded properly. Most of the times I get can't load app because the app is not communicating with the server.
I figured out that the Hangouts On Air button works as expected only when you add an 'invites' attribute with at least two people in the list. Not zero, not one. Two or more.
I feel like this is indeed broken. There should be means of passing initial_apps data without requiring that invitees be submitted in the button.
I had this same problem and John L's solution worked for me. It seems Google fixed this bug and it's now working like before so you don't need to have at least two people in the invites attribute anymore.
I want to add share content functionality in my iOS app. I am developing an app in titanium for iPhone. I want to add a share button that when a user clicks will open a dialog box contains many different option like Facebook, twitter, email , and print.
Unless this has been included in the Appcelerator Framework, you are going to have to write a module
"Share Screen" iOS 6
There is a module for this that wraps the Social.framework on iOS. Ive used it in my own apps and its quite nice. Find it here.
And a small example of how to make it work.
var Social = require('com.0x82.social');
Social.showActivityItems({
activityItems : ["http://stackoverflow.com"]
});
Social.addEventListener('activityWindowClosed', function(e) {
if (e.completed) {
alert('Shared successfully');
}
});
We're exploring WebRTC but have seen conflicting information on what is possible and supported today.
With WebRTC, is it possible to recreate a screen sharing service similar to join.me or WebEx where:
You can share a portion of the screen
You can give control to the other party
No downloads are necessary
Is this possible today with any of the WebRTC browsers? How about Chrome on iOS?
The chrome.tabCapture API is available for Chrome apps and extensions.
This makes it possible to capture the visible area of the tab as a stream which can be used locally or shared via RTCPeerConnection's addStream().
For more information see the WebRTC Tab Content Capture proposal.
Screensharing was initially supported for 'normal' web pages using getUserMedia with the chromeMediaSource constraint – but this has been disallowed.
EDIT 1 April 2015: Edited now that screen sharing is only supported by Chrome in Chrome apps and extensions.
You guys probably know that screencapture (not tabCapture ) is avaliable in Chrome Canary (26+) , We just recently published a demo at; https://screensharing.azurewebsites.net
Note that you need to run it under https:// ,
video: {
mandatory: {
chromeMediaSource: 'screen'
}
You can also find an example here; https://html5-demos.appspot.com/static/getusermedia/screenshare.html
I know I am answering bit late, but hope it helps those who stumble upon the page if not the OP.
At this moment, both Firefox and Chrome support sharing entire screen or part of it( some application window which you can select) with the peers through WebRTC as a mediastream just like your camera/microphone feed, so no option to let other party take control of your desktop yet. Other that that, there another catch, your website has to be running on https mode and in both firefox and chrome the users are gonna have to install extensions.
You can give it a try in this Muaz Khan's Screen-sharing Demo, the page contains the required extensions too.
P. S: If you do not want to install extension to run the demo, in firefox ( no way to escape extensions in chrome), you just need to modify two flags,
go to about:config
set media.getusermedia.screensharing.enabled as true.
add *.webrtc-experiment.com to media.getusermedia.screensharing.allowed_domains flag.
refresh the demo page and click on share screen button.
To the best of my knowledge, it's not possible right now with any of the browsers, though the Google Chrome team has said that they're eventually intending to support this scenario (see the "Screensharing" bullet point on their roadmap); and I suspect that this means that eventually other browsers will follow, presumably with IE and Safari bringing up the tail. But all of that is probably out somewhere past February, which is when they're supposed to finalize the current WebRTC standard and ship production bits. (Hopefully Microsoft's last-minute spanner in the works doesn't screw that up.) It's possible that I've missed something recent, but I've been following the project pretty carefully, and I don't think screensharing has even made it into Chrome Canary yet, let alone dev/beta/prod. Opera is the only browser that has been keeping pace with Chrome on its WebRTC implementation (FireFox seems to be about six months behind), and I haven't seen anything from that team either about screensharing.
I've been told that there is one way to do it right now, which is to write your own webcamera driver, so that your local screen appeared to the WebRTC getUserMedia() API as just another video source. I don't know that anybody has done this - and of course, it would require installing the driver on the machine in question. By the time all is said and done, it would probably just be easier to use VNC or something along those lines.
navigator.mediaDevices.getDisplayMedia(constraint).then((stream)=>{
// todo...
})
now you can do that, but Safari is different from Chrome in audio.
it is Possible I have worked on this and built a Demo for Screen share. During this watcher can access your mouse and Keyboard. If he moves his mouse then Your mouse also moves and if he types from his Keyboard, it will be typed into your pc.
View this code this code is for Screen share...
Right now in this days you can share screen with this, you not need any extentions.
const getLocalScreenCaptureStream = async () => {
try {
const constraints = { video: { cursor: 'always' }, audio: false };
const screenCaptureStream = await navigator.mediaDevices.getDisplayMedia(constraints);
return screenCaptureStream;
} catch (error) {
console.error('failed to get local screen', error);
}
};
Is there any way by which we can have a hangout session within our webapp, say in an iframe ?
I was about to experiment with hangout api, but going by existing apps on hangout, it seems they can only be viewed and used from within Google+.
Is there a work around where I can make the user feel that hangout is a part of my app rather than my app being part of the hangout ?
There's no way to embed a hangout into your web application, but you can use the hangout button to launch a hangout app. This allows you to integrate features and data from your web application into a hangout.
The hangout button is made up of an image and a hangout launching link. It comes in a few sizes. Here's the code for the smallest size (75x19 px)
<a href="https://plus.google.com/hangouts/_?gid=APP_ID" style="text-decoration:none;">
<img src="https://ssl.gstatic.com/s2/oz/images/stars/hangout/1/gplus-hangout-15x79-normal.png"
alt="Start a Hangout"
style="border:0;width:79px;height:15px;"/>
</a>
In this snippet you must substitute APP_ID with your application's ID from the API console. When you are viewing your project you'll find the application ID at the end of the URL.
Currently, there's no way of embedding a Hangout app in your web application. But, there's an opened issue tracker where you can add your comments about the need of this feature and Google might release it in their future API releases.