chromecast, integrate a sender app to a receiver app - chromecast

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.

Related

Chromecast receiver "unavailable" on localhost

I have followed the steps here:
https://developers.google.com/cast/docs/developers
and am using this sample sender code:
https://github.com/googlecast/CastHelloVideo-chrome
to get started creating a chromecast receiver app. I have my app id and when I change the sample to use my app id it returns "unavailable" in the receiverListener event. When I use the default media receiver app id it works just fine.
Is there something I am missing?

Using Swift 2 won't allow iOS 8 devices to Register for Push Notifications

I am configuring push notifications on for iOS using Xcode 7 and Parse. The notifications are working perfectly on a device running iOS 9.
But when running the application on a device with iOS 8, I am running into problems. I am unable to get the Alert View where the user can select to "Allow Notifications from App X".
But, the device token registration call is being called successfully when the user opts in to push notifications and the device is successfully registering an Installation object with a valid device token. Notifications are also being sent to the device.
If I go into Settings->Notifications->My App and turn the Notifications On or Off, it doesnt make a difference the notifications are still being sent through.
This is the code I am using to register for notifications:
let settings = UIUserNotificationSettings(forTypes: UIUserNotificationType([.Alert, .Badge, .Sound]), categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
Found the solution here on stackoverflow... Registration for notifications are sent only once on devices running versions older than iOS 9.
As answered by another user here...
"The first time a push-enabled app registers for push notifications, iOS asks the user if they wish to receive notifications for that app. Once the user has responded to this alert it is not presented again unless the device is restored or the app has been uninstalled for at least a day."
OR
"If you want to simulate a first-time run of your app, you can leave the app uninstalled for a day. You can achieve the latter without actually waiting a day by setting the system clock forward a day or more, turning the device off completely, then turning the device back on."
Reference Links:
Push Notification ON or OFF Checking in iOS
https://developer.apple.com/library/ios/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG42

How to get app message from companion app if Pebble app is in background?

"I am explaining whole scenarios here in order to avoid multiple discussion threads, as I am looking for quick help, so providing here all the details."
I have created a application which communicates with the android companion app, which has some of events scheduled and needs to send to pebble app, so that even if the timeline is muted for our app we can provide important information to pebble app user.
I am able to get the data from companion app and process it successfully only if the pebble app is open but my one more requirement is :
To get data in pebble app sent by companion app, even if my pebble app is in background.
ie. If the companion app sends me some message but the pebble app is in background so I should be able to read that message and wake up the Pebble app to show the desired information.
I am using "App Message" for communication between Companion app and Pebble app.
I gone through the Pebble Documentation which states :
"Background workers do not have access to the UI APIs, they also cannot use theAppMessage API or load resources. Most other APIs are available includingAccelerometerService, CompassService, DataLogging and Storage."
One more Query is :
As we can get notification in our Pebble if its came to Phone, so is there any way to open some desired app or related app to that message in Pebble watch.
Please guide me if there is anyway to get this done.
Thanks in advance.
Your Android application can launch the watchapp before sending the message to her. That should solve your problem.
As indicated in the documentation, the background worker on the watch cannot receive app messages.

Chromecast styled receiver app ID

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.

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