As we all know, packaged apps are designed to run as completely separate apps, to give the user a completely independent experience from the Google Chrome browser. With inline installations, we direct users to our website and then prompt them to install our packaged app.
This doesn't require them to login to the browser and gives them a completely seamless experience on our website.
However, we recently added Google Cloud Messaging so that we can push data from our server to a specific user. However, in order for Google Cloud Messaging to work, the user is redirected to a Chrome tab prompting him or her to login to the Chrome browser.
This interrupts the flow by allowing Chrome to take over.
Currently, the user must login to Google in order to obtain the userID, which looks something like 123453212345435676, with the final channelId consisting of the appId and the userID:
"123453212345435676/gbgnjgcjjembakhlnclnagjmojcdmofe"
Ideally, we'd be able to use a userID to build the channelId, so that users that don't have Google Accounts aren't forced to create them. This would allow us to use the push service without interrupting the user's experience.
I've attached a screenshot that shows our app loaded in a frameless window, but then because we're using "pushMessaging", the browser launches itself and asks the user to login. This is confusing to users who think of our app as something different than Chrome.
James