Chrome Hosted apps no longer allowed? - google-chrome

I have (had) a hosted app in the Chrome Web Store, built using the following Developer documentation:
https://developers.google.com/chrome/apps/docs/developers_guide
After being in the Chrome Web Store for years, I recently received an email saying my app does not comply:
Your item did not comply with the following section of our policy:
Do not post an app where the primary functionality is to install or
launch another app, theme, or extension. For example, if your app’s
primary function is to launch a desktop app that the user has already
installed, that is not allowed. Another example is a packaged app that
just launches a website.
My question is: Did the rules change? A Hosted App IS an app that launches a website. Does anyone know what to change in a Hosted App to make it compliant again?

A Hosted App, a Chrome App (successor to Packaged App), and a Chrome Extension are three separate things, distinguished by how their manifest.json file is set up. What this email appears to be saying is that you're not allowed to have a Chrome App (which they call a packaged app) whose only purpose is to launch another app or a web site. They are saying nothing about Hosted Apps, which continue to be allowed, as far as I know. (I have one in the Chrome Web Store myself.)
Is your app truly a Hosted App? Or, is it a (legacy) packaged app or a Chrome App?

Related

chrome.enterprise.deviceAttributes availability for force-installed PWAs in chrome enterprise

I'm trying to determine if I can access any browser api for chrome OS that will allow me to identify the device that its running on when the application has been force-installed in kiosk mode as a PWA.
We're running into exactly the same issue right now. The correct path seems to be to create a PWA and to connect it to a (pre-installed) extension that has access to the enterprise.deviceAttributes:
See https://developers.chrome.com/apps/migration:
"If there is a capability that your Chrome App has that the regular web platform can't provide, it might be available as an extension API. In this case, you use a progressive web app together with an externally connectable extension your web app can send messages to."
enterprise.deviceAttributes are only accessible if the calling App/Site is pre-installed to the device and not loaded dynamically, so it cannot run in the PWA by design.
But with this tutorial, it seems possible:
https://developer.chrome.com/extensions/messaging#external-webpage
We're looking into that right now and will post our progess here.

Developing a Chrome Kiosk App on a non-managed Chromebox

tl;dr I want to use an API that only works for Chrome Kiosk Apps. How can I run my app locally as a kiosk app such that I can access these APIs?
Hey All,
I am trying to develop an application that uses the chrome.audio API. Though the docs do not say so, upon loading an unpacked app on my Chromebox I get a warning saying "'audio' is only allowed to run in kiosk apps sessions, but this is a regular user session."
So I began trying to get the app launched in kiosk mode. I have modified the manifest.json file to claim kiosk mode: "kiosk_enabled":true. I navigate to chrome://extensions and click "Manage Kiosk Applications" but when I put in the app ID provided when loading my unpacked extension, I always get a message saying "Invalid App ID".
It has been suggested to me that the only way to load a kiosk app is either through the admin console (not applicable to me since my device is unmanaged) or by publishing the app to the Chrome Web Store, which is crazy overkill since I have not even developed my app yet, I just want to see if this API can provide functionality I need.
In summary, my question is this:
How can I run my app locally as a kiosk app such that I can access these APIs?

Enabling a Kiosk App on a Chromebook

I am currently developing a kiosk application and have been trying to use the "Manage kiosk applications..." option in the Chrome://extensions page when developer mode is on.
Whenever I choose an application in the manage kiosk applications popup it just saying invalid application. I've tried local IDs, Chrome Web Store IDs and still nothing works.
In the manifest I've allowed kiosk mode and have another version with kiosk only enabled but that still doesn't work.
This is not a hosted app, all the assets are local and the Chromebook is not managed.
I've tried other solutions such as logging out and pressing ctrl+alt+k at login. I've wiped the chromebook and restarted fresh.
Any help would be appreciated.
If you're not hosting the app in the Chrome Web Store, Managing Kiosk Applications should be done by entering the app ID and the URL of the third-party web server in the Specify a Custom App dialog and click Add.
You may check Create a Chrome Kiosk App to know more details on how to create, publish and add the app as kiosk app.
Kiosk apps can only be installed from the "Manage kiosk applications..." menu if they are published in the Chrome Web Store as either "Public" or "Unlisted". If the app is published as "Private" it will fail to load.

Standalone chrome applications

Currently I am exploring the possibilities and features of Google Chrome apps. As I see to run chrome apps we need to distribute them through chrome App Store. Could we develop a application as a chrome app, which will not need to release to general public or for a limited audience?
Is there anyway that we could package it to native OS executable like .exe in windows or .app in MacOS. So for users who doesn't have chrome installed will also can without any issue. Or at least could we distribute without submitting it to the App Store.
Also I am wondering whether we can run another application through chrome apps? For example I am planing to develop a java application and start with the chrome app.
You can distribute a Chrome App without using the Chrome Web Store, but you'll have to explain to users how to install it, and it's a little tricky: They have to open the Extensions window in Chrome and then drag the installation file to that window. Upon dropping it, there will be a dialog asking them if they want it installed. (They can't just double-click on a file or do anything else that's easy like that.)
Chrome Apps can't directly launch native apps, but they can communicate in various ways with native apps (or any apps) once those other apps are running.
(Some parts of your question are ungrammatical, so I can't be completely sure what you're asking, but the above is what I think you're asking.)
Chrome Extensions are only installable from the Web Store, but Applications can be privately hosted with some provisos: https://developer.chrome.com/extensions/hosting

Google Chrome hosted app vs packaged app

I am confused about Chrome hosted app vs packaged app.
Hosted app
- is where we hosted our web in server side
- Required internet
Packaged app
- hosted the website in client site
- Just like a native app
- No internet require.
I am interesting in Packaged app but can I make the packaged app just like drive.google.com or gmail?
When they are offline then using packaged app and when they are online and start syn the pending offline files to server. Or packaged app is just everything in offline?
This might help you out.
https://developer.chrome.com/webstore/choosing
Anyway you will have to host Packaged App if you want it cross platform i.e. web, mobile etc.
If you want any functionality offline and online you want to go with the Packaged App. One way you can think about it is Packaged App download all the files required to run to the local machine. With Hosted Apps, all those files live on a web sever somewhere.
Packaged Apps are just like like regular web apps, but they have extra capabilities that allow them to run offline.
Also, Packaged Apps are not required to support offline.