Chromecast styled receiver app ID - chromecast

I am unable to cast with my styled receiver from chrome browser.
I have an unpublished styled receiver chromecast app. The "preview" button works fine. My testing device is registered with status "ready for testing". The send serial number checkbox is checked from my android app (OS X app never finds chromecast, so I cannot verify with another app).
Setting the app ID to be my application ID (which seems to be an 8 digit number in the SDK developer console) throws a session error when I try to connect. Changing this back to the default app ID has success. I registered a second identical application and tried with that ID as well.
What could have gone wrong? I am unable to connect to the debugging console, but I read on SO that you need a custom receiver (not styled receiver) to connect.
I am able to connect to the custom receiver as defined in this sample receiver as well.
Is there no testing for styled receivers?
Note that there is one oddity about my setup, and that is that the chromecast is connecting to a wifi network that has been shared by my macbook, not a normal router.

You don't need a custom receiver to be able to debug, using your own Styled receiver is adequate (you basically need to have your own App Id). I would suggest you double check your serial number; take a photo and enlarge that to make sure it was read correctly.

Solution was use a router instead of sharing internet access via Wi-Fi from my macbook. Re-checked the send serial number box, restarted device and everything worked.

Related

chromecast, integrate a sender app to a receiver app

I am having trouble with google cast receiver app CastHelloVideoPlayer, which can be found from github/googlecast.
I followed the Setup Instructions specified on the github.com/googlecast/CastHelloVideoPlayer webpage,
......
Uploaded the receiver.html of CastHelloVideoPlayer to my github account,
https://github.com/PhilSSOO/myCastHelloVideoPlayer
Registered an application on the Developers Console. I got an app ID 3BFFF41A. I chose NOT to publish my app.
Registered the serial # of my chromecast device in the developer console.
I tried but failed to send my chromecast serial number to Google. My setup process didn't bring me to "send your serial number " step.
Rebooted chromecast ...... But I didn't see any indication that my chromecast picked up any changes.
Entered the app ID 3BFFF41A into my sender application, which is app_done of Cast iOS codelab tutorial,
https://codelabs.developers.google.com/codelabs/cast-videos-ios/#0
(The app_done works fine --- able to cast videos to my TV via a chromecast device --- so I assume this sender app is communicating well with my chromecast)
(continuing the above 7) To be exact, I added 3BFFF41A to appDelegate.m file
......
GCKCastOptions *options =
[[GCKCastOptions alloc] initWithReceiverApplicationID:3BFFF41A];
......
But I got an error,
invalid digit 'B' in decimal constant
I doubt this is not the way to integrate a sender app to a receiver app. My search on the internet didn't get me through.
Please Help.
Phil
initWithReceiverApplicationID expects the app ID to be a string.

Cannot send messages from Microsoft Bot Framework

Version 3.5.20
The emulator at first is supposed to return a response with the number of characters of a user input string. However even after using the default endpoint url which is http://localhost:3978/api/messages, whenever inputting a string, the message is not sent. What appears in the log is show in one of the images below.
When accessing the app settings, the emulator port is modifiable. The emulator port was 9002 by default and even changing it to 9000 (which I remember seeing in some other posts) did not fix the issue.
Log
Emulator listening on http://[::]:9002
failed to start ngrok: spawn D:\Downloads\Setup\ngrok-stable-windows-amd64\ngrok.
Click here to configure ngrok.
Checking for new verson...
Application is up to date.
From the contents of your log, it would seem that no attempt was made to connect to a bot. When you enter your bot's endpoint http://localhost:3978/api/messages, a panel should appear with a CONNECT button. Did you click on this button?
Ok I just figured it out.
After you create the 'Bot Application' project in Visual Studio, you need to run the project and then the browser will display a message. The url of this webpage would be localhost:3979 by default. This four digit number must also be in the endpoint URL of the 'Bot Framework Emulator'.
Just click on the 'Enter your endpoint URL' field on top and you will be able to edit it. Mine was set to '3978' by default and after changing it to '3979' the issue was solved.

Xamarin iOS - How to make sure messaging app is up to date?

I have set background fetch to the app. But, It is not called all the time (it depends on how often the app is used by the user)
This is what want to do: When someone send a message to me, I need to make sure that my phone receives the message. Right now, I am using APNS (which works well is the phone is online and working). But, let's say the phone is off or internet not working, the user will never know that a new message has been received, unless he opens the app.
Is there anyway to make sure that, as soon as the user CAN be informed that a new message has been sent, a notification will be displayed on his phone? Right now, if the phone is off and a message sent, if I turn it on, nothing will happen.

Chromecast sender that knows when session started from Cast Extension

The SDK docs for building a Chromecast Sender on Chrome mention this:
There is also a third way of getting a Cast session. A user with the
Cast extension installed in their Chrome browser can mirror any Chrome
tab to a Cast device. If the user lands on your site, for which you
have implemented a Cast app, tab mirroring will automatically trigger
a new Cast session instead of putting the browser in mirroring mode.
And this works just fine; however, I'd like to better understand how my sender code can know when a session has been started this way. Normally, when we set up our own trigger to start a session (i.e. the cast icon), we pass as an argument the callback that will execute when the session connection is ready, If someone visits my app and launches the Cast session directly from the extension, then, how can my app be notified? Is there an event that's raised? Does it execute its own callback (and if so, how can we hook into that callback)?
A similar question was asked here at SO a while ago, and Leon Nicholls answered indicating that it was possible, but not how to do it. Any insights woyld be very useful.

MediaRouteHelper.buildMediaRouteSelector doesn't show me my chromecast when I send the app name parameter

I have a weird situation, My app was working fine and I was able to select my chromecast device and see my receiver application without problem, so my chromecast is whitelisted.
Now my app doesn't work, the chromecast icon is disabled and I can't select my device.
Basically this line was working fine
mMediaRouteSelector = MediaRouteHelper.buildMediaRouteSelector(MediaRouteHelper.CATEGORY_CAST, getResources().getString(R.string.app_name), null);
but now it doesn't. Why? any ideas?
But this line works fine:
MediaRouteHelper.buildMediaRouteSelector( MediaRouteHelper.CATEGORY_CAST)
Of course I can't see the receiver app (html).
I am thinking maybe my chromecast is not whitelisted, just like the beginning when I started with the development.
Any ideas?
Is there a way to check if my chromecast is whitelisted or not?
Thanks in advanced.
Can you access your Chromecast device through your Chrome browser via:
http://[IP address of your Chromecast device]:9222?
If yes, then the device has been successfully whitelisted.
Make sure the "Send this Chromecast's serial number when checking for updates" option is checked in the Chromecast setup. This option gets cleared if you do a factory data reset.

Resources