Skip to content
This repository has been archived by the owner on Jan 27, 2021. It is now read-only.

rmachielse/ember-cli-mobile-chrome-apps

Repository files navigation

Ember CLI Mobile Chrome Apps

Build Status Ember Observer Score

Google has quit active development of cca. Therefor this plugin has been deprecated. Chrome apps can now be generated through ember-cli-deploy with the ember-cli-deploy-chrome-app package.

This Ember Addon provides commands to build your project as a chrome or cordova app, using Google's MobileChromeApps

Installation

Install the addon by running:

npm install ember-cli-mobile-chrome-apps

Usage

Run ember help for a detailed list of all commands and arguments.

Chrome

First generate the chrome app by running:

ember g chrome

This commands generates a folder apps in the root of your project. Both the chrome and cordova apps will appear in it. In apps/chrome you'll find background.js and a default manifest.json that you can change according to your needs. For more information about the manifest see this link.

You can add files and folders from your dist to the chrome app by copying or symlinking them in the apps/chrome directory. window.html and the assets folder have already been added as a default. This way you can manage which parts of your Ember CLI app will be added to your chrome app.

  • ember chrome:build This command builds the chrome app from the apps/chrome folder. It will generate a project_name.zip and a signed project_name.crx file in apps/chrome/dist. You can specify the location of the key in the config/mobile-chrome-apps.js file. The command will also build your ember cli project (you can skip this using --skip-build or change the build environment using --environment).

During development you don't have to build your project all the time, you can just go to chrome://extensions with chrome and click 'Load unpacked extension'. Then choose the apps/chrome folder and you'll see the app appear in chrome.

Cordova

If you have a working chrome app you can add cordova by running:

ember g cordova

This will generate a manifest.mobile.json file in apps/chrome that contains your app's packageId (for example com.example.ProjectName). You can update this to your desired packageId. It will also generate the apps/cordova folder that contains the cordova project.

  • ember cordova:checkenv Before being able to use cordova properly you should run this command to verify that you have set up your working environments for Android and iOS correctly.
  • ember cordova:build With this command you can build your cordova project and optionally --release it.
  • ember cordova:run The run command can be used to emulate the app or deploy it to a developer device. For example ember cordova:run --android --emulate will emulate your android app. ember cordova:run --ios --device will deploy the app to an iOS developer device.
  • ember cordova:upgrade This command can be used to upgrade your cordova project when a new version of google's cca is being released. You'll also be prompted to do so when you build the app and there is an update.

Known limitations

  • Both chrome and cordova apps seem not yet able to handle pushState. Make sure locationType is set to hash in your config/environment.js file.
  • Depending on your configuration, you might need to disable fingerprinting. If you have symlinked apps/chrome/window.html to dist/index.html, the asset urls in app/index.html will be compiled like normal. However, if you have a different window.html, it will not be compiled and thus will not be able to handle fingerprinted assets. In that case you have to disable it in ember-cli-build.js by setting fingerprint to { enabled: false }.

License

This project is released under the MIT License.

About

Build ember-cli projects as a chrome packaged app

Resources

License

Stars

Watchers

Forks

Packages

No packages published