
BUG=None R=laforge@chromium.org,binji@chromium.org,sbc@chromium.org,rockot@chromium.org Review-Url: https://codereview.chromium.org/2875303003 Cr-Commit-Position: refs/heads/master@{#475662}
459 lines
26 KiB
HTML
459 lines
26 KiB
HTML
{{+bindTo:partials.standard_nacl_article}}
|
|
|
|
<b><font color="#cc0000">
|
|
NOTE:
|
|
Deprecation of the technologies described here has been announced
|
|
for platforms other than ChromeOS.<br/>
|
|
Please visit our
|
|
<a href="/native-client/migration">migration guide</a>
|
|
for details.
|
|
</font></b>
|
|
<hr/><section id="running">
|
|
<h1 id="running">Running</h1>
|
|
<div class="contents local" id="contents" style="display: none">
|
|
<ul class="small-gap">
|
|
<li><a class="reference internal" href="#introduction" id="id6">Introduction</a></li>
|
|
<li><a class="reference internal" href="#portable-native-client-pnacl-applications" id="id7">Portable Native Client (PNaCl) applications</a></li>
|
|
<li><a class="reference internal" href="#native-client-applications-and-the-chrome-web-store" id="id8">Native Client applications and the Chrome Web Store</a></li>
|
|
<li><p class="first"><a class="reference internal" href="#prerequisites" id="id9">Prerequisites</a></p>
|
|
<ul class="small-gap">
|
|
<li><a class="reference internal" href="#browser-and-pepper-versions" id="id10">Browser and Pepper versions</a></li>
|
|
<li><a class="reference internal" href="#chrome-cache" id="id11">Chrome Cache</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><p class="first"><a class="reference internal" href="#requirements" id="id12">Requirements</a></p>
|
|
<ul class="small-gap">
|
|
<li><a class="reference internal" href="#native-client-flag" id="id13">Native Client flag</a></li>
|
|
<li><a class="reference internal" href="#web-server" id="id14">Web server</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#technique-1-local-server" id="id15">Technique 1: Local server</a></li>
|
|
<li><a class="reference internal" href="#technique-2-packaged-application-loaded-as-an-unpacked-extension" id="id16">Technique 2: Packaged application loaded as an unpacked extension</a></li>
|
|
<li><a class="reference internal" href="#technique-3-hosted-application-loaded-as-an-unpacked-extension" id="id17">Technique 3: Hosted application loaded as an unpacked extension</a></li>
|
|
<li><a class="reference internal" href="#technique-4-chrome-web-store-application-with-trusted-testers" id="id18">Technique 4: Chrome Web Store application with trusted testers</a></li>
|
|
</ul>
|
|
|
|
</div><h2 id="introduction">Introduction</h2>
|
|
<p>This document describes how to run Native Client applications during
|
|
development.</p>
|
|
<p>The workflow for PNaCl applications is straightfoward and will only be discussed
|
|
briefly. For NaCl applications distributed through the web-store, there is a
|
|
number of options and these will be discussed more in-depth.</p>
|
|
<h2 id="portable-native-client-pnacl-applications">Portable Native Client (PNaCl) applications</h2>
|
|
<p>Running PNaCl applications from the open web is enabled in Chrome version 31 and
|
|
above; therefore, no special provisions are required to run and test such
|
|
applications locally. An application that uses a PNaCl module can be tested
|
|
similarly to any other web application that only consists of HTML, CSS and
|
|
JavaScript.</p>
|
|
<p>To better simulate a production environment, it’s recommended to start a local
|
|
web server to serve the application’s files. The NaCl SDK comes with a simple
|
|
local server built in, and the process of using it to run PNaCl applications is
|
|
described in <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutorial-step-2"><em>the tutorial</em></a>.</p>
|
|
<h2 id="native-client-applications-and-the-chrome-web-store">Native Client applications and the Chrome Web Store</h2>
|
|
<p>Before reading about how to run Native Client applications, it’s important to
|
|
understand a little bit about how Native Client applications are distributed.
|
|
As explained in <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your Application</em></a>, Native
|
|
Client applications must currently be distributed through the <strong>Chrome Web
|
|
Store (CWS)</strong>. Applications in the CWS are one of three types:</p>
|
|
<ul class="small-gap">
|
|
<li>A <strong>hosted application</strong> is an application that you host on a server of your
|
|
choice. To distribute an application as a hosted application, you upload
|
|
application metadata to the CWS. Learn more on the <a class="reference external" href="/apps">Chrome App</a>
|
|
documentation page.</li>
|
|
<li>A <strong>packaged application</strong> is an application that is hosted in the CWS and
|
|
downloaded to the user’s machine. To distribute an application as a packaged
|
|
application, you upload the entire application, including all application
|
|
assets and metadata, to the CWS. Learn more on the <a class="reference external" href="/apps">Chrome App</a>
|
|
documentation page.</li>
|
|
<li>An <strong>extension</strong> is a packaged application that has a tiny UI component
|
|
(extensions are typically used to extend the functionality of the Chrome
|
|
browser). To distribute an application as an extension, you upload the entire
|
|
application, including all application assets and metadata, to the CWS. Learn
|
|
more on the <a class="reference external" href="/extensions">Chrome extensions</a> documentation page.</li>
|
|
</ul>
|
|
<p>The web store documentation contains a handy guide to <a class="reference external" href="https://developer.chrome.com/webstore/choosing">help you choose which to
|
|
use</a>.</p>
|
|
<p>It’s clearly not convenient to package and upload files to the Chrome Web Store
|
|
every time you want to run a new build of your application, but there are four
|
|
alternative techniques you can use to run the application during development.
|
|
These techniques are listed in the following table and described in detail
|
|
below. Each technique has certain requirements (NaCl flag, web server, and/or
|
|
CWS metadata); these are explained in the <a class="reference internal" href="#requirements"><em>Requirements</em></a>
|
|
section below.</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head" colspan="2">Technique</th>
|
|
<th class="head">Requires
|
|
Web
|
|
Server</th>
|
|
<th class="head">Requires
|
|
CWS
|
|
Metadata</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td colspan="2"><p class="first"><strong>1. Local server</strong></p>
|
|
<blockquote class="last">
|
|
<div><blockquote>
|
|
<div><p>Run a local server and simply point your browser to
|
|
your application on the server.</p>
|
|
<aside class="note">
|
|
This technique requires the NaCl flag.
|
|
</aside>
|
|
</div></blockquote>
|
|
</div></blockquote>
|
|
</td>
|
|
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr class="row-odd"><td colspan="2"><p class="first"><strong>2. Packaged application loaded as an unpacked
|
|
extension</strong></p>
|
|
<blockquote class="last">
|
|
<div><blockquote>
|
|
<div>Load your packaged application into Chrome as an
|
|
unpacked extension and run it without a server. An
|
|
unpacked extension is an application whose source and
|
|
metadata files are located in an unzipped folder on
|
|
your development machine. The CWS manifest file
|
|
(explained below) must specify a local_path field.</div></blockquote>
|
|
</div></blockquote>
|
|
</td>
|
|
<td> </td>
|
|
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
|
|
</tr>
|
|
<tr class="row-even"><td colspan="2"><p class="first"><strong>3. Hosted application loaded as an unpacked
|
|
extension</strong></p>
|
|
<blockquote class="last">
|
|
<div><blockquote>
|
|
<div>Load your hosted application into Chrome as an
|
|
unpacked extension and run it from a server (which can
|
|
be a local server). The CWS manifest file must specify
|
|
a web_url field.</div></blockquote>
|
|
</div></blockquote>
|
|
</td>
|
|
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
|
|
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
|
|
</tr>
|
|
<tr class="row-odd"><td colspan="2"><p class="first"><strong>4. CWS application with untrusted testers</strong></p>
|
|
<blockquote class="last">
|
|
<div><blockquote>
|
|
<div>The standard technique for distributing a packaged or
|
|
hosted application in the CWS. You can limit the
|
|
application to trusted testers. This technique
|
|
requires a server if your application is a hosted
|
|
application.</div></blockquote>
|
|
</div></blockquote>
|
|
</td>
|
|
<td> </td>
|
|
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Which of the above techniques you use to run your application during development
|
|
is largely a matter of personal preference (i.e., would you rather start a local
|
|
server or create CWS metadata?). As a general rule, once you have an idea of how
|
|
you plan to distribute your application, you should use the corresponding
|
|
technique during development. Choosing a distribution option depends on a number
|
|
of factors such as application size, application start-up time, hosting costs,
|
|
offline functionality, etc. (see <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your Application</em></a> for details), but you don’t need to make a decision about how
|
|
to distribute your application at the outset.</p>
|
|
<p>The next two sections of this document describe a couple of prerequisites for
|
|
running applications during development, and explain the three requirements
|
|
listed in the table above (NaCl flag, web server, and CWS metadata). The
|
|
subsequent sections of the document provide instructions for how to use each of
|
|
the four techniques.</p>
|
|
<h2 id="prerequisites">Prerequisites</h2>
|
|
<h3 id="browser-and-pepper-versions">Browser and Pepper versions</h3>
|
|
<p>Before you run a new build of your application, make sure that you’re using the
|
|
correct version of Chrome. Each version of Chrome supports a corresponding
|
|
version of the Pepper API. You (and your users) must use a version of Chrome
|
|
that is equal to or higher than the version of the Pepper API that your
|
|
application uses. For example, if you compiled your application using the
|
|
<code>pepper_37</code> bundle, your application uses the Pepper 37 API, and you must run
|
|
the application in Chrome 37 or higher. To check which version of Chrome you’re
|
|
using, type <code>about:version</code> in the Chrome address bar.</p>
|
|
<h3 id="chrome-cache"><span id="cache"></span>Chrome Cache</h3>
|
|
<p>Chrome caches resources aggressively. You should disable Chrome’s cache whenever
|
|
you are developing a Native Client application in order to make sure Chrome
|
|
loads new versions of your application. Follow the instructions <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutorial-step-3"><em>in the
|
|
tutorial</em></a>.</p>
|
|
<h2 id="requirements"><span id="id2"></span>Requirements</h2>
|
|
<h3 id="native-client-flag"><span id="flag"></span>Native Client flag</h3>
|
|
<p>Native Client is automatically enabled for applications that are installed from
|
|
the Chrome Web Store. To enable Native Client for applications that are not
|
|
installed from the Chrome Web Store, you must explicitly turn on the Native
|
|
Client flag in Chrome as follows:</p>
|
|
<ol class="arabic simple">
|
|
<li>Type <code>about:flags</code> in the Chrome address bar.</li>
|
|
<li>Scroll down to “Native Client”.</li>
|
|
<li>If the link below “Native Client” says “Disable”, then Native Client is
|
|
already enabled and you don’t need to do anything else.</li>
|
|
<li>If the link below “Native Client” says “Enable”:<ul class="small-gap">
|
|
<li>Click the “Enable” link.</li>
|
|
<li>Click the “Relaunch Now” button in the bottom of the screen. <strong>Native
|
|
Client will not be enabled until you relaunch your browser</strong>. All browser
|
|
windows will restart when you relaunch Chrome.</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<p>If you enable the Native Client flag and still can’t run applications from
|
|
outside the Chrome Web Store, you may need to enable the Native Client plugin:</p>
|
|
<ol class="arabic simple">
|
|
<li>Type <code>about:plugins</code> in the Chrome address bar.</li>
|
|
<li>Scroll down to “Native Client”.</li>
|
|
<li>If the link below “Native Client” says “Enable”, click the link to enable
|
|
the Native Client plugin. You do not need to relaunch Chrome after enabling
|
|
the Native Client plugin.</li>
|
|
</ol>
|
|
<h3 id="web-server"><span id="id3"></span>Web server</h3>
|
|
<p>For security reasons, Native Client applications must come from a server (you
|
|
can’t simply drag HTML files into your browser). The Native Client SDK comes
|
|
with a lightweight Python web server that you can run to serve your application
|
|
locally. The server can be invoked from a Makefile. Here is how to run the
|
|
server:</p>
|
|
<pre>
|
|
$ cd examples
|
|
$ make serve
|
|
</pre>
|
|
<p>By default, the server listens for requests on port 5103. You can use the server
|
|
to run most applications under the <code>examples</code> directory where you started the
|
|
server. For example, to run the <code>flock</code> example in the SDK, start the server
|
|
and point your browser to <code>http://localhost:5103/demo/flock/</code>.</p>
|
|
<p>Some of the applications need special flags to Chrome, and must be run with the
|
|
<code>make run</code> command. See <a class="reference internal" href="/native-client/sdk/examples.html#running-the-sdk-examples"><em>Run the SDK examples</em></a> for more details.</p>
|
|
<h4 id="chrome-web-store-metadata"><span id="metadata"></span>Chrome Web Store metadata</h4>
|
|
<p>Applications published in the Chrome Web Store must be accompanied by CWS
|
|
metadata; specifically, a Chrome Web Store manifest file named
|
|
<code>manifest.json</code>, and at least one icon.</p>
|
|
<p>Below is an example of a CWS manifest file for a <strong>hosted application</strong>:</p>
|
|
<pre class="prettyprint">
|
|
{
|
|
"name": "My NaCl App",
|
|
"description": "Simple game implemented using Native Client",
|
|
"version": "0.1",
|
|
"icons": {
|
|
"128": "icon128.png"
|
|
},
|
|
"app": {
|
|
"urls": [
|
|
"http://mysubdomain.example.com/"
|
|
],
|
|
"launch": {
|
|
"web_url": "http://mysubdomain.example.com/my_app_main_page.html"
|
|
}
|
|
}
|
|
}
|
|
</pre>
|
|
<p>For a <strong>packaged application</strong>, you can omit the urls field, and replace the
|
|
<code>web_url</code> field with a <code>local_path</code> field, as shown below:</p>
|
|
<pre class="prettyprint">
|
|
{
|
|
"name": "My NaCl App",
|
|
"description": "Simple game implemented using Native Client",
|
|
"version": "0.1",
|
|
"icons": {
|
|
"16": "icon16.png",
|
|
"128": "icon128.png"
|
|
},
|
|
"app": {
|
|
"launch": {
|
|
"local_path": "my_app_main_page.html"
|
|
}
|
|
}
|
|
}
|
|
</pre>
|
|
<p>You must put the <code>manifest.json</code> file in the same directory as your
|
|
application’s main HTML page.</p>
|
|
<p>If you don’t have icons for your application, you can use the following icons as
|
|
placeholders:</p>
|
|
<p><img alt="ICON16" src="/native-client/images/icon16.png" /></p>
|
|
<p><img alt="ICON128" src="/native-client/images/icon128.png" /></p>
|
|
<p>Put the icons in the same directory as the CWS manifest file. For more
|
|
information about CWS manifest files and application icons, see:</p>
|
|
<ul class="small-gap">
|
|
<li><a class="reference external" href="/webstore/get_started_simple">Chrome Web Store Tutorial: Getting Started</a></li>
|
|
<li><a class="reference external" href="/extensions/manifest">Chrome Web Store Formats: Manifest Files</a></li>
|
|
</ul>
|
|
<h2 id="technique-1-local-server">Technique 1: Local server</h2>
|
|
<p>To run your application from a local server:</p>
|
|
<ul class="small-gap">
|
|
<li>Enable the <a class="reference internal" href="#flag"><em>Native Client flag</em></a> in Chrome.</li>
|
|
<li>Start a <a class="reference internal" href="#web-server"><em>local web server</em></a>.</li>
|
|
<li>Put your application under the examples directory in the SDK bundle you are
|
|
using (for example, in the directory <code>pepper_35/examples/my_app</code>).</li>
|
|
<li>Access your application on the local server by typing the location of its
|
|
HTML file in Chrome, for example:
|
|
<code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li>
|
|
</ul>
|
|
<aside class="note">
|
|
<strong>Note:</strong> You don’t have to use a local web server—you can use another
|
|
server if you already have one running. You must still enable the Native
|
|
Client flag in order to run your application from the server.
|
|
</aside>
|
|
<h2 id="technique-2-packaged-application-loaded-as-an-unpacked-extension">Technique 2: Packaged application loaded as an unpacked extension</h2>
|
|
<p>For development purposes, Chrome lets you load a packaged application as an
|
|
unpacked extension. To load and run your packaged application as an unpacked
|
|
extension:</p>
|
|
<ol class="arabic simple">
|
|
<li>Create a Chrome Web Store manifest file and one or more icons for your
|
|
application.<ul class="small-gap">
|
|
<li>Follow the instructions above under Chrome Web Store metadata to create
|
|
these files.</li>
|
|
<li>Note that the CWS manifest file should contain the <code>local_path</code> field
|
|
rather than the <code>web_url</code> field.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Put the CWS manifest file and the application icon(s) in the same directory
|
|
as your application’s main HTML page.</li>
|
|
<li>Load the application as an unpacked extension in Chrome:<ul class="small-gap">
|
|
<li>Bring up the extensions management page in Chrome by clicking the menu
|
|
icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choosing <strong>Tools > Extensions</strong>.</li>
|
|
<li>Check the box for <strong>Developer mode</strong> and then click the <strong>Load unpacked
|
|
extension</strong> button:
|
|
<img alt="extensions" src="/native-client/images/extensions-management.png" /></li>
|
|
<li>In the file dialog that appears, select your application directory. Unless
|
|
you get an error dialog, you’ve now installed your app in Chrome.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bottom of the
|
|
page to show your installed apps:
|
|
<img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li>
|
|
<li>The icon for your newly installed app should appear on the New Tab page.
|
|
Click the icon to launch the app.</li>
|
|
</ol>
|
|
<p>For additional information about how to create CWS metadata and load your
|
|
application into Chrome (including troubleshooting information), see the
|
|
<a class="reference external" href="/webstore/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p>
|
|
<p>See also <a class="reference internal" href="/native-client/sdk/examples.html#run-sdk-examples-as-packaged"><em>Run the SDK examples as Chrome apps</em></a>.</p>
|
|
<h2 id="technique-3-hosted-application-loaded-as-an-unpacked-extension">Technique 3: Hosted application loaded as an unpacked extension</h2>
|
|
<p>For development purposes, Chrome lets you load a hosted application as an
|
|
unpacked extension. To load and run your hosted application as an unpacked
|
|
extension:</p>
|
|
<ol class="arabic simple">
|
|
<li>Start a web server to serve your application.<ul class="small-gap">
|
|
<li>You can use the <a class="reference internal" href="#web-server"><em>local web server</em></a> included with the
|
|
Native Client SDK if you want.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.)
|
|
to the server.<ul class="small-gap">
|
|
<li>If you’re using the local server included with the Native Client SDK,
|
|
simply put your application under the <code>examples</code> directory in the SDK
|
|
bundle you are using (e.g., in the directory
|
|
<code>pepper_37/examples/my_app</code>).</li>
|
|
</ul>
|
|
</li>
|
|
<li>Create a Chrome Web Store manifest file and one or more icons for your
|
|
application.<ul class="small-gap">
|
|
<li>Follow the instructions above under <a class="reference internal" href="#metadata"><em>Chrome Web Store metadata</em></a> to create these files.</li>
|
|
<li>In the CWS manifest file, the <code>web_url</code> field should specify the
|
|
location of your application on your server. If you’re using the local
|
|
server included with the SDK, the <code>web_url</code> field should look something
|
|
like <code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Put the CWS manifest file and the application icon(s) in the same directory
|
|
as your application’s main HTML page.</li>
|
|
<li>Load the application as an unpacked extension in Chrome:<ul class="small-gap">
|
|
<li>Bring up the extensions management page in Chrome by clicking the menu
|
|
icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choosing <strong>Tools > Extensions</strong>.</li>
|
|
<li>Check the box for <strong>Developer mode</strong> and then click the <strong>Load unpacked
|
|
extension</strong> button:
|
|
<img alt="extensions" src="/native-client/images/extensions-management.png" /></li>
|
|
<li>In the file dialog that appears, select your application directory. Unless
|
|
you get an error dialog, you’ve now installed your app in Chrome.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bottom of the
|
|
page to show your installed apps:
|
|
<img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li>
|
|
<li>The icon for your newly installed app should appear on the New Tab page.
|
|
Click the icon to launch the app.</li>
|
|
</ol>
|
|
<p>For additional information about how to create CWS metadata and load your
|
|
application into Chrome (including troubleshooting information), see the
|
|
<a class="reference external" href="/webstore/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p>
|
|
<h2 id="technique-4-chrome-web-store-application-with-trusted-testers">Technique 4: Chrome Web Store application with trusted testers</h2>
|
|
<p>When you’re ready to test your application more broadly, you can upload the
|
|
application to the Chrome Web Store and let some trusted testers run it. Here
|
|
is how to do so:</p>
|
|
<ol class="arabic simple">
|
|
<li>Create the Chrome Web Store metadata required to publish your application:<ul class="small-gap">
|
|
<li>First, create a Chrome Web Store manifest file and one or more icons for
|
|
your application, as described above under <a class="reference internal" href="#metadata"><em>Chrome Web Store metadata</em></a>. Note that packaged applications must have at least two icons
|
|
(a 16x16 icon and a 128x128 icon).</li>
|
|
<li>You also need to create the following additional assets before you can
|
|
publish your application:<ul class="small-gap">
|
|
<li>a screenshot (size must be 640x400 or 1280x800)</li>
|
|
<li>a promotional image called a “small tile” (size must be 440x280)</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>For a <strong>packaged application</strong>:<ul class="small-gap">
|
|
<li>Create a zip file with the CWS manifest file, the application icons, and
|
|
all your application files (.html, .nmf, .nexe, .css, .js, image files,
|
|
etc.)</li>
|
|
</ul>
|
|
</li>
|
|
<li>For a <strong>hosted application</strong>:<ul class="small-gap">
|
|
<li>Create a zip file with the CWS manifest file and the application icon(s).</li>
|
|
<li>Upload the application files (.html, .nmf, .nexe, .css, .js, image files,
|
|
etc.) to the server on which the application is being hosted.</li>
|
|
<li>Use <a class="reference external" href="http://www.google.com/webmasters/tools/">Google Webmaster Tools</a> to
|
|
verify ownership of the website on which the application runs.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Log in to the <a class="reference external" href="https://chrome.google.com/webstore/developer/dashboard">Chrome Web Store Developer Dashboard</a>.<ul class="small-gap">
|
|
<li>The first time you log in, click the “Add new item” button to display the
|
|
Google Chrome Web Store Developer Agreement. Review and accept the
|
|
agreement and then return to the <a class="reference external" href="https://chrome.google.com/webstore/developer/dashboard">Developer Dashboard</a>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Click “Edit your tester accounts” at the bottom of the Developer Dashboard.</li>
|
|
<li>Enter a series of email addresses for your testers (separated by commas or
|
|
whitespace), and click the “Save Changes” button.</li>
|
|
<li>Click the “Add new item” button to add your application to the Chrome Web
|
|
Store.</li>
|
|
<li>Click the “Choose file” button and select the zip file you created earlier.</li>
|
|
<li>Click the “Upload” button; this uploads your zip file and opens the “Edit
|
|
item” page.</li>
|
|
<li>Edit the following required fields on the “Edit item” page:<ul class="small-gap">
|
|
<li>Upload an application icon.</li>
|
|
<li>Upload a screenshot.</li>
|
|
<li>Upload a small tile.</li>
|
|
<li>Select a category for your application (accounting application, action
|
|
game, etc.).</li>
|
|
<li>Select a language for your application.</li>
|
|
</ul>
|
|
</li>
|
|
<li>If you are an owner or manager of a Google Group, you can select that group
|
|
in the “Trusted testers” field.<ul class="small-gap">
|
|
<li>You may want to create a Google Group specifically for your testers. When
|
|
you add a group to the “Trusted testers” field, all group members will be
|
|
able to test the application, in addition to the individuals you added to
|
|
the “trusted tester accounts” field on the Developer Dashboard.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Click the “Publish to test accounts” button at the bottom of the page and
|
|
click “OK”.</li>
|
|
<li>A page comes up that shows your application’s listing in the Chrome Web
|
|
Store. Copy the URL and mail it to your trusted testers.<ul class="small-gap">
|
|
<li>When you publish an application to test accounts, the application’s CWS
|
|
listing is visible only to you and to people who are logged into those
|
|
accounts. Your application won’t appear in search results, so you need to
|
|
give testers a direct link to your application’s CWS listing. Users won’t
|
|
be able to find the application by searching in the CWS.</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<p>To publish an application to the world after publishing it to test accounts,
|
|
you must first unpublish the application. For additional information see
|
|
<a class="reference external" href="/webstore/docs/publish">Publishing Your App</a>, and in particular <a class="reference external" href="/webstore/publish#testaccounts">Publishing
|
|
to test accounts</a>.</p>
|
|
</section>
|
|
|
|
{{/partials.standard_nacl_article}}
|