OLD | NEW |
(Empty) | |
| 1 {{+bindTo:partials.standard_nacl_article}} |
| 2 |
| 3 <section id="running"> |
| 4 <span id="devcycle-running"></span><h1 id="running"><span id="devcycle-running">
</span>Running</h1> |
| 5 <div class="contents local topic" id="contents"> |
| 6 <ul class="small-gap"> |
| 7 <li><a class="reference internal" href="#introduction" id="id5">Introduction</a>
</li> |
| 8 <li><a class="reference internal" href="#portable-native-client-pnacl-applicatio
ns" id="id6">Portable Native Client (PNaCl) applications</a></li> |
| 9 <li><a class="reference internal" href="#native-client-applications-and-the-chro
me-web-store" id="id7">Native Client applications and the Chrome Web Store</a></
li> |
| 10 <li><p class="first"><a class="reference internal" href="#prerequisites" id="id8
">Prerequisites</a></p> |
| 11 <ul class="small-gap"> |
| 12 <li><a class="reference internal" href="#browser-and-pepper-versions" id="id9">B
rowser and Pepper versions</a></li> |
| 13 <li><a class="reference internal" href="#chrome-cache" id="id10">Chrome Cache</a
></li> |
| 14 </ul> |
| 15 </li> |
| 16 <li><p class="first"><a class="reference internal" href="#requirements" id="id11
">Requirements</a></p> |
| 17 <ul class="small-gap"> |
| 18 <li><a class="reference internal" href="#native-client-flag" id="id12">Native Cl
ient flag</a></li> |
| 19 <li><a class="reference internal" href="#web-server" id="id13">Web server</a></l
i> |
| 20 </ul> |
| 21 </li> |
| 22 <li><a class="reference internal" href="#technique-1-local-server" id="id14">Tec
hnique 1: Local server</a></li> |
| 23 <li><a class="reference internal" href="#technique-2-packaged-application-loaded
-as-an-unpacked-extension" id="id15">Technique 2: Packaged application loaded as
an unpacked extension</a></li> |
| 24 <li><a class="reference internal" href="#technique-3-hosted-application-loaded-a
s-an-unpacked-extension" id="id16">Technique 3: Hosted application loaded as an
unpacked extension</a></li> |
| 25 <li><a class="reference internal" href="#technique-4-chrome-web-store-applicatio
n-with-trusted-testers" id="id17">Technique 4: Chrome Web Store application with
trusted testers</a></li> |
| 26 </ul> |
| 27 </div> |
| 28 <section id="introduction"> |
| 29 <h2 id="introduction">Introduction</h2> |
| 30 <p>This document describes how to run Native Client applications during |
| 31 development.</p> |
| 32 <p>The workflow for PNaCl applications is straightfoward and will only be discus
sed |
| 33 briefly. For NaCl applications distributed through the web-store, there is a |
| 34 number of options and these will be discussed more in-depth.</p> |
| 35 </section><section id="portable-native-client-pnacl-applications"> |
| 36 <h2 id="portable-native-client-pnacl-applications">Portable Native Client (PNaCl
) applications</h2> |
| 37 <p>Running PNaCl applications from the open web is enabled in Chrome version 31
and |
| 38 above; therefore, no special provisions are required to run and test such |
| 39 applications locally. An application that uses a PNaCl module can be tested |
| 40 similarly to any other web application that only consists of HTML, CSS and |
| 41 JavaScript.</p> |
| 42 <p>To better simulate a production environment, it’s recommended to start
a local |
| 43 web server to serve the application’s files. The NaCl SDK comes with a sim
ple |
| 44 local server built in, and the process of using it to run PNaCl applications is |
| 45 described in <a class="reference internal" href="/native-client/devguide/tutoria
l/tutorial-part1.html#tutorial-step-2"><em>the tutorial</em></a>.</p> |
| 46 </section><section id="native-client-applications-and-the-chrome-web-store"> |
| 47 <h2 id="native-client-applications-and-the-chrome-web-store">Native Client appli
cations and the Chrome Web Store</h2> |
| 48 <p>Before reading about how to run Native Client applications, it’s import
ant to |
| 49 understand a little bit about how Native Client applications are distributed. |
| 50 As explained in <a class="reference internal" href="/native-client/devguide/dist
ributing.html"><em>Distributing Your Application</em></a>, Native |
| 51 Client applications must currently be distributed through the <strong>Chrome Web |
| 52 Store (CWS)</strong>. Applications in the CWS are one of three types:</p> |
| 53 <ul class="small-gap"> |
| 54 <li>A <strong>hosted application</strong> is an application that you host on a s
erver of your |
| 55 choice. To distribute an application as a hosted application, you upload |
| 56 application metadata to the CWS.</li> |
| 57 <li>A <strong>packaged application</strong> is an application that is hosted in
the CWS and |
| 58 downloaded to the user’s machine. To distribute an application as a packag
ed |
| 59 application, you upload the entire application, including all application |
| 60 assets and metadata, to the CWS.</li> |
| 61 <li>An <strong>extension</strong> is a packaged application that has a tiny UI c
omponent |
| 62 (extensions are typically used to extend the functionality of the Chrome |
| 63 browser). To distribute an application as an extension, you upload the entire |
| 64 application, including all application assets and metadata, to the CWS.</li> |
| 65 </ul> |
| 66 <p>It’s clearly not convenient to package and upload files to the Chrome W
eb Store |
| 67 every time you want to run a new build of your application, but there are four |
| 68 alternative techniques you can use to run the application during development. |
| 69 These techniques are listed in the following table and described in detail |
| 70 below. Each technique has certain requirements (NaCl flag, web server, and/or |
| 71 CWS metadata); these are explained in the <a class="reference internal" href="#r
equirements"><em>Requirements</em></a> |
| 72 section below.</p> |
| 73 <table border="1" class="docutils"> |
| 74 <colgroup> |
| 75 </colgroup> |
| 76 <thead valign="bottom"> |
| 77 <tr class="row-odd"><th class="head">#</th> |
| 78 <th class="head">Technique</th> |
| 79 <th class="head">Requires NaCl flag</th> |
| 80 <th class="head">Requires Web Server</th> |
| 81 <th class="head">Requires CWS Metadata</th> |
| 82 <th class="head">Description</th> |
| 83 </tr> |
| 84 </thead> |
| 85 <tbody valign="top"> |
| 86 <tr class="row-even"><td>1</td> |
| 87 <td>Local server</td> |
| 88 <td><img alt="CHK" src="/native-client/images/check-red.png" /></td> |
| 89 <td><img alt="CHK" src="/native-client/images/check-red.png" /></td> |
| 90 <td> </td> |
| 91 <td>Run a local server and simply point your browser to your application on |
| 92 the server.</td> |
| 93 </tr> |
| 94 <tr class="row-odd"><td>2</td> |
| 95 <td>Packaged application loaded as an unpacked extension</td> |
| 96 <td> </td> |
| 97 <td> </td> |
| 98 <td><img alt="CHK" src="/native-client/images/check-red.png" /></td> |
| 99 <td>Load your packaged application into Chrome as an unpacked extension and |
| 100 run it without a server. An unpacked extension is simply an application |
| 101 whose source and metadata files are located in a plain (unzipped) folder |
| 102 on your development machine. The CWS manifest file (explained below) must |
| 103 specify a <code>local_path</code> field.</td> |
| 104 </tr> |
| 105 <tr class="row-even"><td>3</td> |
| 106 <td>Hosted application loaded as an unpacked extension</td> |
| 107 <td> </td> |
| 108 <td><img alt="CHK" src="/native-client/images/check-red.png" /></td> |
| 109 <td><img alt="CHK" src="/native-client/images/check-red.png" /></td> |
| 110 <td>Load your hosted application into Chrome as an unpacked extension and run |
| 111 it from a server (which can be a local server). The CWS manifest file |
| 112 must specify a <code>web_url</code> field.</td> |
| 113 </tr> |
| 114 <tr class="row-odd"><td>4</td> |
| 115 <td>CWS application with untrusted testers</td> |
| 116 <td> </td> |
| 117 <td> </td> |
| 118 <td><img alt="CHK" src="/native-client/images/check-red.png" /></td> |
| 119 <td>This is the standard technique for distributing a packaged or hosted |
| 120 application in the CWS, but you can limit the application to a few |
| 121 trusted testers. This technique requires a server if your application is |
| 122 a hosted application.</td> |
| 123 </tr> |
| 124 </tbody> |
| 125 </table> |
| 126 <p>Which of the above techniques you use to run your application during developm
ent |
| 127 is largely a matter of personal preference (i.e., would you rather start a local |
| 128 server or create CWS metadata?). As a general rule, once you have an idea of how |
| 129 you plan to distribute your application, you should use the corresponding |
| 130 technique during development. Choosing a distribution option depends on a number |
| 131 of factors such as application size, application start-up time, hosting costs, |
| 132 offline functionality, etc. (see <a class="reference internal" href="/native-cli
ent/devguide/distributing.html"><em>Distributing Your Application</em></a> for d
etails), but you don’t need to make a decision about how |
| 133 to distribute your application at the outset.</p> |
| 134 <p>The next two sections of this document describe a couple of prerequisites for |
| 135 running applications during development, and explain the three requirements |
| 136 listed in the table above (NaCl flag, web server, and CWS metadata). The |
| 137 subsequent sections of the document provide instructions for how to use each of |
| 138 the four techniques.</p> |
| 139 </section><section id="prerequisites"> |
| 140 <h2 id="prerequisites">Prerequisites</h2> |
| 141 <section id="browser-and-pepper-versions"> |
| 142 <h3 id="browser-and-pepper-versions">Browser and Pepper versions</h3> |
| 143 <p>Before you run a new build of your application, make sure that you’re u
sing the |
| 144 correct version of Chrome. Each version of Chrome supports a corresponding |
| 145 version of the Pepper API. You (and your users) must use a version of Chrome |
| 146 that is equal to or higher than the version of the Pepper API that your |
| 147 application uses. For example, if you compiled your application using the |
| 148 <code>pepper_31</code> bundle, your application uses the Pepper 31 API, and you
must run |
| 149 the application in Chrome 31 or higher. To check which version of Chrome youR
17;re |
| 150 using, type <code>about:version</code> in the Chrome address bar.</p> |
| 151 </section><section id="chrome-cache"> |
| 152 <span id="cache"></span><h3 id="chrome-cache"><span id="cache"></span>Chrome Cac
he</h3> |
| 153 <p>Chrome caches resources aggressively. You should disable Chrome’s cache
whenever |
| 154 you are developing a Native Client application in order to make sure Chrome |
| 155 loads new versions of your application. Follow the instructions <a class="refere
nce internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutoria
l-step-3"><em>in the |
| 156 tutorial</em></a>.</p> |
| 157 </section></section><section id="requirements"> |
| 158 <span id="id1"></span><h2 id="requirements"><span id="id1"></span>Requirements</
h2> |
| 159 <section id="native-client-flag"> |
| 160 <span id="flag"></span><h3 id="native-client-flag"><span id="flag"></span>Native
Client flag</h3> |
| 161 <p>Native Client is automatically enabled for applications that are installed fr
om |
| 162 the Chrome Web Store. To enable Native Client for applications that are not |
| 163 installed from the Chrome Web Store, you must explicitly turn on the Native |
| 164 Client flag in Chrome as follows:</p> |
| 165 <ol class="arabic simple"> |
| 166 <li>Type <code>about:flags</code> in the Chrome address bar.</li> |
| 167 <li>Scroll down to “Native Client”.</li> |
| 168 <li>If the link below “Native Client” says “Disable”, th
en Native Client is |
| 169 already enabled and you don’t need to do anything else.</li> |
| 170 <li>If the link below “Native Client” says “Enable”:<ul
class="small-gap"> |
| 171 <li>Click the “Enable” link.</li> |
| 172 <li>Click the “Relaunch Now” button in the bottom of the screen. <st
rong>Native |
| 173 Client will not be enabled until you relaunch your browser</strong>. All browser |
| 174 windows will restart when you relaunch Chrome.</li> |
| 175 </ul> |
| 176 </li> |
| 177 </ol> |
| 178 <p>If you enable the Native Client flag and still can’t run applications f
rom |
| 179 outside the Chrome Web Store, you may need to enable the Native Client plugin:</
p> |
| 180 <ol class="arabic simple"> |
| 181 <li>Type <code>about:plugins</code> in the Chrome address bar.</li> |
| 182 <li>Scroll down to “Native Client”.</li> |
| 183 <li>If the link below “Native Client” says “Enable”, cli
ck the link to enable |
| 184 the Native Client plugin. You do not need to relaunch Chrome after enabling |
| 185 the Native Client plugin.</li> |
| 186 </ol> |
| 187 </section><section id="web-server"> |
| 188 <span id="id2"></span><h3 id="web-server"><span id="id2"></span>Web server</h3> |
| 189 <p>For security reasons, Native Client applications must come from a server (you |
| 190 can’t simply drag HTML files into your browser). The Native Client SDK com
es |
| 191 with a lightweight Python web server that you can run to serve your application |
| 192 locally. The server can be invoked from a Makefile. Here is how to run the |
| 193 server:</p> |
| 194 <pre> |
| 195 $ cd examples |
| 196 $ make serve |
| 197 </pre> |
| 198 <p>By default, the server listens for requests on port 5103. You can use the ser
ver |
| 199 to run most applications under the <code>examples</code> directory where you sta
rted the |
| 200 server. For example, to run the <code>flock</code> example in the SDK, start the
server |
| 201 and point your browser to <a class="reference external" href="http://localhost:5
103/demo/flock/">http://localhost:5103/demo/flock/</a>.</p> |
| 202 <p>Some of the applications need special flags to Chrome, and must be run with t
he |
| 203 <code>make run</code> command. See <a class="reference internal" href="/native-c
lient/sdk/examples.html#id1"><em>Run the SDK examples</em></a> for more details.
</p> |
| 204 <section id="chrome-web-store-metadata"> |
| 205 <span id="metadata"></span><h4 id="chrome-web-store-metadata"><span id="metadata
"></span>Chrome Web Store metadata</h4> |
| 206 <p>Applications published in the Chrome Web Store must be accompanied by CWS |
| 207 metadata; specifically, a Chrome Web Store manifest file named |
| 208 <code>manifest.json</code>, and at least one icon.</p> |
| 209 <p>Below is an example of a CWS manifest file for a <strong>hosted application</
strong>:</p> |
| 210 <pre class="prettyprint"> |
| 211 { |
| 212 "name": "My NaCl App", |
| 213 "description": "Simple game implemented using Native Client&quo
t;, |
| 214 "version": "0.1", |
| 215 "icons": { |
| 216 "128": "icon128.png" |
| 217 }, |
| 218 "app": { |
| 219 "urls": [ |
| 220 "http://mysubdomain.example.com/" |
| 221 ], |
| 222 "launch": { |
| 223 "web_url": "http://mysubdomain.example.com/my_app_main_page
.html" |
| 224 } |
| 225 } |
| 226 } |
| 227 </pre> |
| 228 <p>For a <strong>packaged application</strong>, you can omit the urls field, and
replace the |
| 229 <code>web_url</code> field with a <code>local_path</code> field, as shown below:
</p> |
| 230 <pre class="prettyprint"> |
| 231 { |
| 232 "name": "My NaCl App", |
| 233 "description": "Simple game implemented using Native Client&quo
t;, |
| 234 "version": "0.1", |
| 235 "icons": { |
| 236 "16": "icon16.png", |
| 237 "128": "icon128.png" |
| 238 }, |
| 239 "app": { |
| 240 "launch": { |
| 241 "local_path": "my_app_main_page.html" |
| 242 } |
| 243 } |
| 244 } |
| 245 </pre> |
| 246 <p>You must put the <code>manifest.json</code> file in the same directory as you
r |
| 247 application’s main HTML page.</p> |
| 248 <p>If you don’t have icons for your application, you can use the following
icons as |
| 249 placeholders:</p> |
| 250 <p><img alt="ICON16" src="/native-client/images/icon16.png" /></p> |
| 251 <p><img alt="ICON128" src="/native-client/images/icon128.png" /></p> |
| 252 <p>Put the icons in the same directory as the CWS manifest file. For more |
| 253 information about CWS manifest files and application icons, see:</p> |
| 254 <ul class="small-gap"> |
| 255 <li><a class="reference external" href="https://developers.google.com/chrome/web
-store/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a></
li> |
| 256 <li><a class="reference external" href="http://code.google.com/chrome/extensions
/manifest.html">Chrome Web Store Formats: Manifest Files</a></li> |
| 257 </ul> |
| 258 </section></section></section><section id="technique-1-local-server"> |
| 259 <h2 id="technique-1-local-server">Technique 1: Local server</h2> |
| 260 <p>To run your application from a local server:</p> |
| 261 <ul class="small-gap"> |
| 262 <li>Enable the <a class="reference internal" href="#flag"><em>Native Client flag
</em></a> in Chrome.</li> |
| 263 <li>Start a <a class="reference internal" href="#web-server"><em>local web serve
r</em></a>.</li> |
| 264 <li>Put your application under the examples directory in the SDK bundle you are |
| 265 using (e.g., in the directory <code>pepper_31/examples/my_app</code>).</li> |
| 266 <li>Access your application on the local server by typing the location of its |
| 267 HTML file in Chrome, e.g.: |
| 268 <code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li> |
| 269 </ul> |
| 270 <aside class="note"> |
| 271 <strong>Note:</strong> You don’t have to use a local web server—you
can use another |
| 272 server if you already have one running. You must still enable the Native |
| 273 Client flag in order to run your application from the server. |
| 274 </aside> |
| 275 </section><section id="technique-2-packaged-application-loaded-as-an-unpacked-ex
tension"> |
| 276 <h2 id="technique-2-packaged-application-loaded-as-an-unpacked-extension">Techni
que 2: Packaged application loaded as an unpacked extension</h2> |
| 277 <p>For development purposes, Chrome lets you load a packaged application as an |
| 278 unpacked extension. To load and run your packaged application as an unpacked |
| 279 extension:</p> |
| 280 <ol class="arabic simple"> |
| 281 <li>Create a Chrome Web Store manifest file and one or more icons for your |
| 282 application.<ul class="small-gap"> |
| 283 <li>Follow the instructions above under Chrome Web Store metadata to create |
| 284 these files.</li> |
| 285 <li>Note that the CWS manifest file should contain the <code>local_path</code> f
ield |
| 286 rather than the <code>web_url</code> field.</li> |
| 287 </ul> |
| 288 </li> |
| 289 <li>Put the CWS manifest file and the application icon(s) in the same directory |
| 290 as your application’s main HTML page.</li> |
| 291 <li>Load the application as an unpacked extension in Chrome:<ul class="small-gap
"> |
| 292 <li>Bring up the extensions management page in Chrome by clicking the menu |
| 293 icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choos
ing <strong>Tools > Extensions</strong>.</li> |
| 294 <li>Check the box for <strong>Developer mode</strong> and then click the <strong
>Load unpacked |
| 295 extension</strong> button: |
| 296 <img alt="extensions" src="/native-client/images/extensions-management.png" /></
li> |
| 297 <li>In the file dialog that appears, select your application directory. Unless |
| 298 you get an error dialog, you’ve now installed your app in Chrome.</li> |
| 299 </ul> |
| 300 </li> |
| 301 <li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bot
tom of the |
| 302 page to show your installed apps: |
| 303 <img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li> |
| 304 <li>The icon for your newly installed app should appear on the New Tab page. |
| 305 Click the icon to launch the app.</li> |
| 306 </ol> |
| 307 <p>For additional information about how to create CWS metadata and load your |
| 308 application into Chrome (including troubleshooting information), see the |
| 309 <a class="reference external" href="https://developers.google.com/chrome/web-sto
re/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p> |
| 310 <p>See also <a class="reference internal" href="/native-client/sdk/examples.html
#run-sdk-examples-as-packaged"><em>Run the SDK examples as packaged apps</em></a
>.</p> |
| 311 </section><section id="technique-3-hosted-application-loaded-as-an-unpacked-exte
nsion"> |
| 312 <h2 id="technique-3-hosted-application-loaded-as-an-unpacked-extension">Techniqu
e 3: Hosted application loaded as an unpacked extension</h2> |
| 313 <p>For development purposes, Chrome lets you load a hosted application as an |
| 314 unpacked extension. To load and run your hosted application as an unpacked |
| 315 extension:</p> |
| 316 <ol class="arabic simple"> |
| 317 <li>Start a web server to serve your application.<ul class="small-gap"> |
| 318 <li>You can use the <a class="reference internal" href="#web-server"><em>local w
eb server</em></a> included with the |
| 319 Native Client SDK if you want.</li> |
| 320 </ul> |
| 321 </li> |
| 322 <li>Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.) |
| 323 to the server.<ul class="small-gap"> |
| 324 <li>If you’re using the local server included with the Native Client SDK, |
| 325 simply put your application under the <code>examples</code> directory in the SDK |
| 326 bundle you are using (e.g., in the directory |
| 327 <code>pepper_31/examples/my_app</code>).</li> |
| 328 </ul> |
| 329 </li> |
| 330 <li>Create a Chrome Web Store manifest file and one or more icons for your |
| 331 application.<ul class="small-gap"> |
| 332 <li>Follow the instructions above under <a class="reference internal" href="#met
adata"><em>Chrome Web Store metadata</em></a> to create these files.</li> |
| 333 <li>In the CWS manifest file, the <code>web_url</code> field should specify the |
| 334 location of your application on your server. If you’re using the local |
| 335 server included with the SDK, the <code>web_url</code> field should look somethi
ng |
| 336 like <code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li> |
| 337 </ul> |
| 338 </li> |
| 339 <li>Put the CWS manifest file and the application icon(s) in the same directory |
| 340 as your application’s main HTML page.</li> |
| 341 <li>Load the application as an unpacked extension in Chrome:<ul class="small-gap
"> |
| 342 <li>Bring up the extensions management page in Chrome by clicking the menu |
| 343 icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choos
ing <strong>Tools > Extensions</strong>.</li> |
| 344 <li>Check the box for <strong>Developer mode</strong> and then click the <strong
>Load unpacked |
| 345 extension</strong> button: |
| 346 <img alt="extensions" src="/native-client/images/extensions-management.png" /></
li> |
| 347 <li>In the file dialog that appears, select your application directory. Unless |
| 348 you get an error dialog, you’ve now installed your app in Chrome.</li> |
| 349 </ul> |
| 350 </li> |
| 351 <li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bot
tom of the |
| 352 page to show your installed apps: |
| 353 <img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li> |
| 354 <li>The icon for your newly installed app should appear on the New Tab page. |
| 355 Click the icon to launch the app.</li> |
| 356 </ol> |
| 357 <p>For additional information about how to create CWS metadata and load your |
| 358 application into Chrome (including troubleshooting information), see the |
| 359 <a class="reference external" href="https://developers.google.com/chrome/web-sto
re/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p> |
| 360 </section><section id="technique-4-chrome-web-store-application-with-trusted-tes
ters"> |
| 361 <h2 id="technique-4-chrome-web-store-application-with-trusted-testers">Technique
4: Chrome Web Store application with trusted testers</h2> |
| 362 <p>When you’re ready to test your application more broadly, you can upload
the |
| 363 application to the Chrome Web Store and let some trusted testers run it. Here |
| 364 is how to do so:</p> |
| 365 <ol class="arabic simple"> |
| 366 <li>Create the Chrome Web Store metadata required to publish your application:<u
l class="small-gap"> |
| 367 <li>First, create a Chrome Web Store manifest file and one or more icons for |
| 368 your application, as described above under <a class="reference internal" href="#
metadata"><em>Chrome Web Store metadata</em></a>. Note that packaged application
s must have at least two icons |
| 369 (a 16x16 icon and a 128x128 icon).</li> |
| 370 <li>You also need to create the following additional assets before you can |
| 371 publish your application:<ul class="small-gap"> |
| 372 <li>a screenshot (size must be 640x400 or 1280x800)</li> |
| 373 <li>a promotional image called a “small tile” (size must be 440x280)
</li> |
| 374 </ul> |
| 375 </li> |
| 376 </ul> |
| 377 </li> |
| 378 <li>For a <strong>packaged application</strong>:<ul class="small-gap"> |
| 379 <li>Create a zip file with the CWS manifest file, the application icons, and |
| 380 all your application files (.html, .nmf, .nexe, .css, .js, image files, |
| 381 etc.)</li> |
| 382 </ul> |
| 383 </li> |
| 384 <li>For a <strong>hosted application</strong>:<ul class="small-gap"> |
| 385 <li>Create a zip file with the CWS manifest file and the application icon(s).</l
i> |
| 386 <li>Upload the application files (.html, .nmf, .nexe, .css, .js, image files, |
| 387 etc.) to the server on which the application is being hosted.</li> |
| 388 <li>Use <a class="reference external" href="http://www.google.com/webmasters/too
ls/">Google Webmaster Tools</a> to |
| 389 verify ownership of the web site on which the application runs.</li> |
| 390 </ul> |
| 391 </li> |
| 392 <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"> |
| 393 <li>The first time you log in, click the “Add new item” button to di
splay the |
| 394 Google Chrome Web Store Developer Agreement. Review and accept the |
| 395 agreement and then return to the <a class="reference external" href="https://chr
ome.google.com/webstore/developer/dashboard">Developer Dashboard</a>.</li> |
| 396 </ul> |
| 397 </li> |
| 398 <li>Click “Edit your tester accounts” at the bottom of the Developer
Dashboard.</li> |
| 399 <li>Enter a series of email addresses for your testers (separated by commas or |
| 400 whitespace), and click the “Save Changes” button.</li> |
| 401 <li>Click the “Add new item” button to add your application to the C
hrome Web |
| 402 Store.</li> |
| 403 <li>Click the “Choose file” button and select the zip file you creat
ed earlier.</li> |
| 404 <li>Click the “Upload” button; this uploads your zip file and opens
the “Edit |
| 405 item” page.</li> |
| 406 <li>Edit the following required fields on the “Edit item” page:<ul c
lass="small-gap"> |
| 407 <li>Upload an application icon.</li> |
| 408 <li>Upload a screenshot.</li> |
| 409 <li>Upload a small tile.</li> |
| 410 <li>Select a category for your application (accounting application, action |
| 411 game, etc.).</li> |
| 412 <li>Select a language for your application.</li> |
| 413 </ul> |
| 414 </li> |
| 415 <li>If you are an owner or manager of a Google Group, you can select that group |
| 416 in the “Trusted testers” field.<ul class="small-gap"> |
| 417 <li>You may want to create a Google Group specifically for your testers. When |
| 418 you add a group to the “Trusted testers” field, all group members wi
ll be |
| 419 able to test the application, in addition to the individuals you added to |
| 420 the “trusted tester accounts” field on the Developer Dashboard.</li> |
| 421 </ul> |
| 422 </li> |
| 423 <li>Click the “Publish to test accounts” button at the bottom of the
page and |
| 424 click “OK”.</li> |
| 425 <li>A page comes up that shows your application’s listing in the Chrome We
b |
| 426 Store. Copy the URL and mail it to your trusted testers.<ul class="small-gap"> |
| 427 <li>When you publish an application to test accounts, the application’s CW
S |
| 428 listing is visible only to you and to people who are logged into those |
| 429 accounts. Your application won’t appear in search results, so you need to |
| 430 give testers a direct link to your application’s CWS listing. Users won
217;t |
| 431 be able to find the application by searching in the CWS.</li> |
| 432 </ul> |
| 433 </li> |
| 434 </ol> |
| 435 <p>To publish an application to the world after publishing it to test accounts, |
| 436 you must first unpublish the application. For additional information see |
| 437 <a class="reference external" href="https://developers.google.com/chrome/web-sto
re/docs/publish">Publishing Your App</a>, and in |
| 438 particular <a class="reference external" href="https://developers.google.com/chr
ome/web-store/docs/publish#testaccounts">Publishing to test accounts</a>.</p> |
| 439 </section></section> |
| 440 |
| 441 {{/partials.standard_nacl_article}} |
OLD | NEW |