0

We have a custom Cast receiver. We have decided to re-write it, and have a new set of custom messages that aren't supported by our old clients. We were wondering what the best way to manage deprecation of the old receiver.

Say the old receiver is pointing to App ID "ABCDEF" and old iOS/Android clients are pointing to this old receiver App ID.

Ideally we would create a new App ID "GHIJKL" and have all new iOS/Android clients pointing to this, leaving the old receiver "ABCDEF" in place so old clients continue to function.

However, it seems a lot of information is tied to our App ID (e.g. we are listed on chromecast.com/apps and on the Cast App featured apps), along with all our receiver stats so we are worried about creating a new App ID.

Is there another recommended way to upgrade our receiver using the same App ID while still maintaining backwards-compatibility with old clients (e.g. allowing them to talk to the old receiver code)? We don't see any custom params that can be passed from the client to receiver to let it know which version to pull dynamically.

Ish
  • 1,855
  • 5
  • 24
  • 32

1 Answers1

0

Without knowing anything about the nature of changes you have made, it is difficult to say what you can do. Here is an attempt at that: update your new receiver (explained below) and depoly that under the same appId. If in the new receiver, the old custom messages/namespaces are are also supported then the old clients should be able to talk to the new receiver. If they are not supported, one approach would be to add the old custom namesapces/messages to the new receiver as well (in addition to the new ones) and then when you receive a message on those old namespaces, just migrate in your new receiver to the new messages/callbacks or whatever makes sense. In other words, try to make the older clients happy (but limited to the old functionalities they had) and then the new clients will call the new namesapces/messages.

Ali Naddaf
  • 16,951
  • 2
  • 21
  • 28
  • Thanks. We are rewriting libraries that's used by the receiver and the data needed now is different. I will have to change the libraries to support data passed by the old client and it won't be clean. We are wondering what's the downside of creating a new app id and have a clean slate. Will it impact our position in the featured app or other side effect? – user1165560 Aug 26 '16 at 00:41
  • It seems you can pass query parameters to chromecast receiver: http://stackoverflow.com/questions/20472141/chromecast-receiver-app-query-parameters But I didn't find how it's done in Android or ios. If we can pass different parameters, maybe we can redirect to different webpage? – user1165560 Aug 26 '16 at 17:55
  • @Ali the solution of passing parameters to the receiver sounds promising. Can you confirm whether this functionality is available on iOS/Android? – Ish Aug 26 '16 at 21:08
  • No, as far as I recall, that was changed a long while ago (that post is from 2013) and there is no parameter now that can be passed to the receiver as part of the url. – Ali Naddaf Aug 26 '16 at 22:58