OLD | NEW |
1 .. _devcycle-running: | 1 .. _devcycle-running: |
2 | 2 |
3 ####### | 3 ####### |
4 Running | 4 Running |
5 ####### | 5 ####### |
6 | 6 |
7 .. contents:: Table Of Contents | 7 .. contents:: |
8 :local: | 8 :local: |
9 :backlinks: none | 9 :backlinks: none |
10 :depth: 2 | 10 :depth: 2 |
11 | 11 |
12 Introduction | 12 Introduction |
13 ============ | 13 ============ |
14 | 14 |
15 This document describes how to run Native Client applications during | 15 This document describes how to run Native Client applications during |
16 development. | 16 development. |
17 | 17 |
| 18 The workflow for PNaCl applications is straightfoward and will only be discussed |
| 19 briefly. For NaCl applications distributed through the web-store, there is a |
| 20 number of options and these will be discussed more in-depth. |
| 21 |
| 22 Portable Native Client (PNaCl) applications |
| 23 =========================================== |
| 24 |
| 25 Running PNaCl applications from the open web is enabled in Chrome version 31 and |
| 26 above; therefore, no special provisions are required to run and test such |
| 27 applications locally. An application that uses a PNaCl module can be tested |
| 28 similarly to any other web application that only consists of HTML, CSS and |
| 29 JavaScript. |
| 30 |
| 31 To better simulate a production environment, it's recommended to start a local |
| 32 web server to serve the application's files. The NaCl SDK comes with a simple |
| 33 local server built in, and the process of using it to run PNaCl applications is |
| 34 described in :ref:`the tutorial <tutorial_step_2>`. |
| 35 |
| 36 Native Client applications and the Chrome Web Store |
| 37 =================================================== |
| 38 |
18 Before reading about how to run Native Client applications, it's important to | 39 Before reading about how to run Native Client applications, it's important to |
19 understand a little bit about how Native Client applications are distributed. | 40 understand a little bit about how Native Client applications are distributed. |
20 As explained in :doc:`Distributing Your Application <../distributing>`, Native | 41 As explained in :doc:`Distributing Your Application <../distributing>`, Native |
21 Client applications must currently be distributed through the **Chrome Web | 42 Client applications must currently be distributed through the **Chrome Web |
22 Store (CWS)**. Applications in the CWS are one of three types: | 43 Store (CWS)**. Applications in the CWS are one of three types: |
23 | 44 |
24 * A **hosted application** is an application that you host on a server of your | 45 * A **hosted application** is an application that you host on a server of your |
25 choice. To distribute an application as a hosted application, you upload | 46 choice. To distribute an application as a hosted application, you upload |
26 application metadata to the CWS. | 47 application metadata to the CWS. |
27 | 48 |
28 * A **packaged application** is an application that is hosted in the CWS and | 49 * A **packaged application** is an application that is hosted in the CWS and |
29 downloaded to the user's machine. To distribute an application as a packaged | 50 downloaded to the user's machine. To distribute an application as a packaged |
30 application, you upload the entire application, including all application | 51 application, you upload the entire application, including all application |
31 assets and metadata, to the CWS. | 52 assets and metadata, to the CWS. |
32 | 53 |
33 * An **extension** is a packaged application that has a tiny UI component | 54 * An **extension** is a packaged application that has a tiny UI component |
34 (extensions are typically used to extend the functionality of the Chrome | 55 (extensions are typically used to extend the functionality of the Chrome |
35 browser). To distribute an application as an extension, you upload the entire | 56 browser). To distribute an application as an extension, you upload the entire |
36 application, including all application assets and metadata, to the CWS. | 57 application, including all application assets and metadata, to the CWS. |
37 | 58 |
38 It's clearly not convenient to package and upload files to the Chrome Web Store | 59 It's clearly not convenient to package and upload files to the Chrome Web Store |
39 every time you want to run a new build of your application, but there are four | 60 every time you want to run a new build of your application, but there are four |
40 alternative techniques you can use to run the application during development. | 61 alternative techniques you can use to run the application during development. |
41 These techniques are listed in the following table and described in detail | 62 These techniques are listed in the following table and described in detail |
42 below. Each technique has certain requirements (NaCl flag, web server, and/or | 63 below. Each technique has certain requirements (NaCl flag, web server, and/or |
43 CWS metadata); these are explained in the :ref:`Requirements <requirements>` | 64 CWS metadata); these are explained in the :ref:`Requirements <requirements>` |
44 section below. | 65 section below. |
45 | 66 |
46 +-----------+----------------------+---------------------+----------------------
-+-------------+ | 67 .. list-table:: |
47 | Technique | Requires NaCl flag | Requires web server | Requires CWS metadata
| Description | | 68 :header-rows: 1 |
48 +===========+======================+=====================+======================
=+=============+ | |
49 | 1 | local server | |
| | | |
50 +-----------+----------------------+---------------------+----------------------
-+-------------+ | |
51 | 2 | packaged application | |
| | | |
52 | | loaded as an | |
| | | |
53 | | unpacked extension | |
| | | |
54 +-----------+----------------------+---------------------+----------------------
-+-------------+ | |
55 | 3 | hosted application | |
| | | |
56 | | loaded as an unpacked| |
| | | |
57 | | extension | |
| | | |
58 +-----------+----------------------+---------------------+----------------------
-+-------------+ | |
59 | 4 | Chrome Web Store | |
| | | |
60 | | application with | |
| | | |
61 | | trusted testers | |
| | | |
62 +-----------+----------------------+---------------------+----------------------
-+-------------+ | |
63 | 69 |
64 Which of the above techniques you use to run your application during | 70 * - # |
65 development is largely a matter of personal preference (i.e., would you rather | 71 - Technique |
66 start a local server or create CWS metadata?). As a general rule, once you have | 72 - Requires NaCl flag |
67 an idea of how you plan to distribute your application, you should use the | 73 - Requires Web Server |
68 corresponding technique during development (technique # 2 for packaged | 74 - Requires CWS Metadata |
69 applications and extensions; technique # 3 for hosted applications). Choosing a | 75 - Description |
70 distribution option depends on a number of factors such as application size, | 76 * - 1 |
71 application start-up time, hosting costs, offline functionality, etc. (see | 77 - Local server |
72 :doc:`Distributing Your Application <../distributing>` for details), but you | 78 - |CHK| |
73 don't need to make a decision about how to distribute your application at the | 79 - |CHK| |
74 outset. | 80 - |
| 81 - Run a local server and simply point your browser to your application on |
| 82 the server. |
| 83 * - 2 |
| 84 - Packaged application loaded as an unpacked extension |
| 85 - |
| 86 - |
| 87 - |CHK| |
| 88 - Load your packaged application into Chrome as an unpacked extension and |
| 89 run it without a server. An unpacked extension is simply an application |
| 90 whose source and metadata files are located in a plain (unzipped) folder |
| 91 on your development machine. The CWS manifest file (explained below) must |
| 92 specify a ``local_path`` field. |
| 93 * - 3 |
| 94 - Hosted application loaded as an unpacked extension |
| 95 - |
| 96 - |CHK| |
| 97 - |CHK| |
| 98 - Load your hosted application into Chrome as an unpacked extension and run |
| 99 it from a server (which can be a local server). The CWS manifest file |
| 100 must specify a ``web_url`` field. |
| 101 * - 4 |
| 102 - CWS application with untrusted testers |
| 103 - |
| 104 - |
| 105 - |CHK| |
| 106 - This is the standard technique for distributing a packaged or hosted |
| 107 application in the CWS, but you can limit the application to a few |
| 108 trusted testers. This technique requires a server if your application is |
| 109 a hosted application. |
| 110 |
| 111 .. |CHK| image:: /images/check-red.png |
| 112 |
| 113 Which of the above techniques you use to run your application during development |
| 114 is largely a matter of personal preference (i.e., would you rather start a local |
| 115 server or create CWS metadata?). As a general rule, once you have an idea of how |
| 116 you plan to distribute your application, you should use the corresponding |
| 117 technique during development. Choosing a distribution option depends on a number |
| 118 of factors such as application size, application start-up time, hosting costs, |
| 119 offline functionality, etc. (see :doc:`Distributing Your Application |
| 120 <../distributing>` for details), but you don't need to make a decision about how |
| 121 to distribute your application at the outset. |
75 | 122 |
76 The next two sections of this document describe a couple of prerequisites for | 123 The next two sections of this document describe a couple of prerequisites for |
77 running applications during development (using the correct version of Chrome | 124 running applications during development, and explain the three requirements |
78 and turning off the Chrome cache), and explain the three requirements listed in | 125 listed in the table above (NaCl flag, web server, and CWS metadata). The |
79 the table above (NaCl flag, web server, and CWS metadata). The subsequent | 126 subsequent sections of the document provide instructions for how to use each of |
80 sections of the document provide instructions for how to use each of the four | 127 the four techniques. |
81 techniques. | |
82 | 128 |
83 Prerequisites | 129 Prerequisites |
84 ============= | 130 ============= |
85 | 131 |
86 Browser and Pepper versions | 132 Browser and Pepper versions |
87 --------------------------- | 133 --------------------------- |
88 | 134 |
89 Before you run a new build of your application, make sure that you're using the | 135 Before you run a new build of your application, make sure that you're using the |
90 correct version of Chrome. Each version of Chrome supports a corresponding | 136 correct version of Chrome. Each version of Chrome supports a corresponding |
91 version of the Pepper API. You (and your users) must use a version of Chrome | 137 version of the Pepper API. You (and your users) must use a version of Chrome |
92 that is equal to or higher than the version of the Pepper API that your | 138 that is equal to or higher than the version of the Pepper API that your |
93 application uses. For example, if you compiled your application using the | 139 application uses. For example, if you compiled your application using the |
94 ``pepper_28`` bundle, your application uses the Pepper 28 API, and you must run | 140 ``pepper_31`` bundle, your application uses the Pepper 31 API, and you must run |
95 the application in Chrome 28 or higher. To check which version of Chrome you're | 141 the application in Chrome 31 or higher. To check which version of Chrome you're |
96 using, type ``about:chrome`` or ``about:version`` in the Chrome address bar | 142 using, type ``about:version`` in the Chrome address bar. |
97 (the latter address shows additional information such as the Chrome command | |
98 line and profile path). | |
99 | |
100 If your application requires a minimum version of Chrome, you are encouraged to | |
101 include code in the application to check that the user's browser is compatible | |
102 with the application. For sample code that checks the user's browser version, | |
103 refer to the ``load_progress`` example in the Native Client SDK. | |
104 | 143 |
105 Chrome Cache | 144 Chrome Cache |
106 ------------ | 145 ------------ |
107 | 146 |
108 Chrome caches resources aggressively. You should disable Chrome's cache | 147 Chrome caches resources aggressively. You should disable Chrome's cache whenever |
109 whenever you are developing a Native Client application in order to make sure | 148 you are developing a Native Client application in order to make sure Chrome |
110 Chrome loads new versions of your application. To disable the cache: | 149 loads new versions of your application. Follow the instructions :ref:`in the |
111 | 150 tutorial <tutorial_step_3>`. |
112 #. Open Chrome's developer tools by clicking the menu icon |menu-icon| and | |
113 choosing **Tools > Developer tools**. | |
114 #. Click the gear icon in the bottom right corner of the Chrome window. | |
115 #. Under the "General" settings, check the box next to "Disable cache". | |
116 | 151 |
117 .. _requirements: | 152 .. _requirements: |
118 | 153 |
119 Requirements | 154 Requirements |
120 ============ | 155 ============ |
121 | 156 |
122 .. _flag: | 157 .. _flag: |
123 | 158 |
124 Native Client flag | 159 Native Client flag |
125 ------------------ | 160 ------------------ |
126 | 161 |
127 Native Client is automatically enabled for applications that are installed from | 162 Native Client is automatically enabled for applications that are installed from |
128 the Chrome Web Store. To enable Native Client for applications that are not | 163 the Chrome Web Store. To enable Native Client for applications that are not |
129 installed from the Chrome Web Store, you must explicitly turn on the Native | 164 installed from the Chrome Web Store, you must explicitly turn on the Native |
130 Client flag in Chrome as follows: | 165 Client flag in Chrome as follows: |
131 | 166 |
132 #. Type ``about:flags`` in the Chrome address bar. | 167 #. Type ``about:flags`` in the Chrome address bar. |
133 #. Scroll down to "Native Client". | 168 #. Scroll down to "Native Client". |
134 #. If the link below "Native Client" says "Disable", then Native Client is | 169 #. If the link below "Native Client" says "Disable", then Native Client is |
135 already enabled and you don't need to do anything else. | 170 already enabled and you don't need to do anything else. |
136 #. If the link below "Native Client" says "Enable": | 171 #. If the link below "Native Client" says "Enable": |
137 | 172 |
138 * Click the "Enable" link. | 173 * Click the "Enable" link. |
139 * Scroll down to the bottom of the page and click the "Relaunch Now" button. | 174 * Click the "Relaunch Now" button in the bottom of the screen. **Native |
140 **Native Client will not be enabled until you relaunch your browser**. All | 175 Client will not be enabled until you relaunch your browser**. All browser |
141 browser windows will restart when you relaunch Chrome. | 176 windows will restart when you relaunch Chrome. |
142 | 177 |
143 If you enable the Native Client flag and still can't run applications from | 178 If you enable the Native Client flag and still can't run applications from |
144 outside the Chrome Web Store, you may need to enable the Native Client plugin: | 179 outside the Chrome Web Store, you may need to enable the Native Client plugin: |
145 | 180 |
146 #. Type ``about:plugins`` in the Chrome address bar. | 181 #. Type ``about:plugins`` in the Chrome address bar. |
147 #. Scroll down to "Native Client". | 182 #. Scroll down to "Native Client". |
148 #. If the link below "Native Client" says "Enable", click the link to enable | 183 #. If the link below "Native Client" says "Enable", click the link to enable |
149 the Native Client plugin. You do not need to relaunch Chrome after enabling | 184 the Native Client plugin. You do not need to relaunch Chrome after enabling |
150 the Native Client plugin. | 185 the Native Client plugin. |
151 | 186 |
152 | |
153 .. _web_server: | 187 .. _web_server: |
154 | 188 |
155 Web server | 189 Web server |
156 ---------- | 190 ---------- |
157 | 191 |
158 For security reasons, Native Client applications must come from a server (you | 192 For security reasons, Native Client applications must come from a server (you |
159 can't simply drag HTML files into your browser). The Native Client SDK comes | 193 can't simply drag HTML files into your browser). The Native Client SDK comes |
160 with a lightweight Python web server that you can run to serve your application | 194 with a lightweight Python web server that you can run to serve your application |
161 locally. The server is included in the ``examples`` directory in the SDK | 195 locally. The server can be invoked from a Makefile. Here is how to run the |
162 bundles (e.g., ``pepper_28/examples``). Here is how to run the server: | 196 server: |
163 | 197 |
164 * Windows:: | 198 .. naclcode:: |
| 199 :prettyprint: 0 |
165 | 200 |
166 cd examples | 201 $ cd examples |
167 httpd.cmd | 202 $ make serve |
168 | 203 |
169 * Mac, Linux:: | 204 By default, the server listens for requests on port 5103. You can use the server |
| 205 to run most applications under the ``examples`` directory where you started the |
| 206 server. For example, to run the ``flock`` example in the SDK, start the server |
| 207 and point your browser to http://localhost:5103/demo/flock/. |
170 | 208 |
171 cd examples | 209 Some of the applications need special flags to Chrome, and must be run with the |
172 python httpd.py | 210 ``make run`` command. See :ref:`run_sdk_examples` for more details. |
173 | |
174 By default, the server listens for requests on port 5103. To use a different | |
175 port, simply specify a different port number, e.g.: ``python httpd.py 5104``. | |
176 | |
177 You can use the server to run any application under the ``examples`` directory | |
178 where you started the server. For example, to run the | |
179 ``hello_world_interactive`` example in the SDK, start the server as described | |
180 above and point your browser to | |
181 http://localhost:5103/hello_world_interactive/hello_world.html. | |
182 | 211 |
183 .. _metadata: | 212 .. _metadata: |
184 | 213 |
185 Chrome Web Store metadata | 214 Chrome Web Store metadata |
186 ~~~~~~~~~~~~~~~~~~~~~~~~~ | 215 ~~~~~~~~~~~~~~~~~~~~~~~~~ |
187 | 216 |
188 Applications published in the Chrome Web Store must be accompanied by CWS | 217 Applications published in the Chrome Web Store must be accompanied by CWS |
189 metadata—specifically, a Chrome Web Store manifest file named | 218 metadata; specifically, a Chrome Web Store manifest file named |
190 ``manifest.json``, and at least one icon. | 219 ``manifest.json``, and at least one icon. |
191 | 220 |
192 Below is an example of a CWS manifest file for a **hosted application**:: | 221 Below is an example of a CWS manifest file for a **hosted application**: |
| 222 |
| 223 .. naclcode:: |
193 | 224 |
194 { | 225 { |
195 "name": "My NaCl App", | 226 "name": "My NaCl App", |
196 "description": "Simple game implemented using Native Client", | 227 "description": "Simple game implemented using Native Client", |
197 "version": "0.1", | 228 "version": "0.1", |
198 "icons": { | 229 "icons": { |
199 "128": "nacl_icon_128.jpg" | 230 "128": "icon128.png" |
200 }, | 231 }, |
201 "app": { | 232 "app": { |
202 "urls": [ | 233 "urls": [ |
203 "http://mysubdomain.example.com/" | 234 "http://mysubdomain.example.com/" |
204 ], | 235 ], |
205 "launch": { | 236 "launch": { |
206 "web_url": "http://mysubdomain.example.com/my_app_main_page.html" | 237 "web_url": "http://mysubdomain.example.com/my_app_main_page.html" |
207 } | 238 } |
208 } | 239 } |
209 } | 240 } |
210 | 241 |
211 | 242 |
212 For a **packaged application**, you can omit the urls field, and replace the | 243 For a **packaged application**, you can omit the urls field, and replace the |
213 ``web_url`` field with a ``local_path`` field, as shown below:: | 244 ``web_url`` field with a ``local_path`` field, as shown below: |
| 245 |
| 246 .. naclcode:: |
214 | 247 |
215 { | 248 { |
216 "name": "My NaCl App", | 249 "name": "My NaCl App", |
217 "description": "Simple game implemented using Native Client", | 250 "description": "Simple game implemented using Native Client", |
218 "version": "0.1", | 251 "version": "0.1", |
219 "icons": { | 252 "icons": { |
220 "16": "nacl_icon_16.jpg", | 253 "16": "icon16.png", |
221 "128": "nacl_icon_128.jpg" | 254 "128": "icon128.png" |
222 }, | 255 }, |
223 "app": { | 256 "app": { |
224 "launch": { | 257 "launch": { |
225 "local_path": "my_app_main_page.html" | 258 "local_path": "my_app_main_page.html" |
226 } | 259 } |
227 } | 260 } |
228 } | 261 } |
229 | 262 |
230 You must put the ``manifest.json`` file in the same directory as your | 263 You must put the ``manifest.json`` file in the same directory as your |
231 application's main HTML page. | 264 application's main HTML page. |
232 | 265 |
233 If you don't have icons for your application, you can use the following icons | 266 If you don't have icons for your application, you can use the following icons as |
234 as placeholders: nacl_icon_16.jpg and nacl_icon_128.jpg. Put the icons in the | 267 placeholders: |
235 same directory as the CWS manifest file. | |
236 | 268 |
237 For more information about CWS manifest files and application icons, see: | 269 |ICON16| |
| 270 |
| 271 |ICON128| |
| 272 |
| 273 .. |ICON16| image:: /images/icon16.png |
| 274 .. |ICON128| image:: /images/icon128.png |
| 275 |
| 276 Put the icons in the same directory as the CWS manifest file. For more |
| 277 information about CWS manifest files and application icons, see: |
238 | 278 |
239 * `Chrome Web Store Tutorial: Getting Started | 279 * `Chrome Web Store Tutorial: Getting Started |
240 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_ | 280 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_ |
241 * `Chrome Web Store Formats: Manifest Files | 281 * `Chrome Web Store Formats: Manifest Files |
242 <http://code.google.com/chrome/extensions/manifest.html>`_ | 282 <http://code.google.com/chrome/extensions/manifest.html>`_ |
243 | 283 |
244 Technique 1: Local server | 284 Technique 1: Local server |
245 ========================= | 285 ========================= |
246 | 286 |
247 To run your application from a local server: | 287 To run your application from a local server: |
248 | 288 |
249 * Enable the :ref:`Native Client flag <flag>` in Chrome. | 289 * Enable the :ref:`Native Client flag <flag>` in Chrome. |
250 * Start a :ref:`local web server <web_server>`. | 290 * Start a :ref:`local web server <web_server>`. |
251 * Put your application under the examples directory in the SDK bundle you are | 291 * Put your application under the examples directory in the SDK bundle you are |
252 using (e.g., in the directory ``pepper_28/examples/my_app``). | 292 using (e.g., in the directory ``pepper_31/examples/my_app``). |
253 * Access your application on the local server by typing the location of its | 293 * Access your application on the local server by typing the location of its |
254 HTML file in Chrome, e.g.: | 294 HTML file in Chrome, e.g.: |
255 ``http://localhost:5103/my_app/my_app_main_page.html``. | 295 ``http://localhost:5103/my_app/my_app_main_page.html``. |
256 | 296 |
257 .. Note:: | 297 .. Note:: |
258 :class: note | 298 :class: note |
259 | 299 |
260 **Note:** You don't have to use a local web server---you can use another | 300 **Note:** You don't have to use a local web server---you can use another |
261 server if you already have one running. You must still enable the Native | 301 server if you already have one running. You must still enable the Native |
262 Client flag in order to run your application from your server. | 302 Client flag in order to run your application from the server. |
263 | 303 |
264 Technique 2: Packaged application loaded as an unpacked extension | 304 Technique 2: Packaged application loaded as an unpacked extension |
265 ================================================================= | 305 ================================================================= |
266 | 306 |
267 For development purposes, Chrome lets you load a packaged application as an | 307 For development purposes, Chrome lets you load a packaged application as an |
268 unpacked extension. To load and run your packaged application as an unpacked | 308 unpacked extension. To load and run your packaged application as an unpacked |
269 extension: | 309 extension: |
270 | 310 |
271 #. Create a Chrome Web Store manifest file and one or more icons for your | 311 #. Create a Chrome Web Store manifest file and one or more icons for your |
272 application. | 312 application. |
(...skipping 17 matching lines...) Expand all Loading... |
290 page to show your installed apps: | 330 page to show your installed apps: |
291 |new-tab-apps| | 331 |new-tab-apps| |
292 #. The icon for your newly installed app should appear on the New Tab page. | 332 #. The icon for your newly installed app should appear on the New Tab page. |
293 Click the icon to launch the app. | 333 Click the icon to launch the app. |
294 | 334 |
295 For additional information about how to create CWS metadata and load your | 335 For additional information about how to create CWS metadata and load your |
296 application into Chrome (including troubleshooting information), see the | 336 application into Chrome (including troubleshooting information), see the |
297 `Chrome Web Store Tutorial: Getting Started | 337 `Chrome Web Store Tutorial: Getting Started |
298 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_. | 338 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_. |
299 | 339 |
| 340 See also :ref:`run_sdk_examples_as_packaged`. |
| 341 |
300 Technique 3: Hosted application loaded as an unpacked extension | 342 Technique 3: Hosted application loaded as an unpacked extension |
301 =============================================================== | 343 =============================================================== |
302 | 344 |
303 | |
304 For development purposes, Chrome lets you load a hosted application as an | 345 For development purposes, Chrome lets you load a hosted application as an |
305 unpacked extension. To load and run your hosted application as an unpacked | 346 unpacked extension. To load and run your hosted application as an unpacked |
306 extension: | 347 extension: |
307 | 348 |
308 #. Start a web server to serve your application. | 349 #. Start a web server to serve your application. |
309 | 350 |
310 * You can use the :ref:`local web server <web_server>` included with the | 351 * You can use the :ref:`local web server <web_server>` included with the |
311 Native Client SDK if you want. | 352 Native Client SDK if you want. |
312 #. Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.) | 353 #. Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.) |
313 to the server. | 354 to the server. |
314 | 355 |
315 * If you're using the local server included with the Native Client SDK, | 356 * If you're using the local server included with the Native Client SDK, |
316 simply put your application under the ``examples`` directory in the SDK | 357 simply put your application under the ``examples`` directory in the SDK |
317 bundle you are using (e.g., in the directory | 358 bundle you are using (e.g., in the directory |
318 ``pepper_28/examples/my_app``). | 359 ``pepper_31/examples/my_app``). |
319 #. Create a Chrome Web Store manifest file and one or more icons for your | 360 #. Create a Chrome Web Store manifest file and one or more icons for your |
320 application. | 361 application. |
321 | 362 |
322 * Follow the instructions above under :ref:`Chrome Web Store metadata | 363 * Follow the instructions above under :ref:`Chrome Web Store metadata |
323 <metadata>` to create these files. | 364 <metadata>` to create these files. |
324 * In the CWS manifest file, the ``web_url`` field should specify the | 365 * In the CWS manifest file, the ``web_url`` field should specify the |
325 location of your application on your server. If you're using the local | 366 location of your application on your server. If you're using the local |
326 server included with the SDK, the ``web_url`` field should look something | 367 server included with the SDK, the ``web_url`` field should look something |
327 like ``http://localhost:5103/my_app/my_app_main_page.html``. | 368 like ``http://localhost:5103/my_app/my_app_main_page.html``. |
328 #. Put the CWS manifest file and the application icon(s) in the same directory | 369 #. Put the CWS manifest file and the application icon(s) in the same directory |
(...skipping 24 matching lines...) Expand all Loading... |
353 When you're ready to test your application more broadly, you can upload the | 394 When you're ready to test your application more broadly, you can upload the |
354 application to the Chrome Web Store and let some trusted testers run it. Here | 395 application to the Chrome Web Store and let some trusted testers run it. Here |
355 is how to do so: | 396 is how to do so: |
356 | 397 |
357 #. Create the Chrome Web Store metadata required to publish your application: | 398 #. Create the Chrome Web Store metadata required to publish your application: |
358 | 399 |
359 * First, create a Chrome Web Store manifest file and one or more icons for | 400 * First, create a Chrome Web Store manifest file and one or more icons for |
360 your application, as described above under :ref:`Chrome Web Store metadata | 401 your application, as described above under :ref:`Chrome Web Store metadata |
361 <metadata>`. Note that packaged applications must have at least two icons | 402 <metadata>`. Note that packaged applications must have at least two icons |
362 (a 16x16 icon and a 128x128 icon). | 403 (a 16x16 icon and a 128x128 icon). |
363 * You also need to create the following additional assets before you can publ
ish your application: | 404 * You also need to create the following additional assets before you can |
| 405 publish your application: |
364 | 406 |
365 * a screenshot (size must be 640x400 or 1280x800) | 407 * a screenshot (size must be 640x400 or 1280x800) |
366 * a promotional image called a "small tile" (size must be 440x280) | 408 * a promotional image called a "small tile" (size must be 440x280) |
367 | 409 |
368 #. For a **packaged application**: | 410 #. For a **packaged application**: |
369 | 411 |
370 * Create a zip file with the CWS manifest file, the application icons, and | 412 * Create a zip file with the CWS manifest file, the application icons, and |
371 all your application files (.html, .nmf, .nexe, .css, .js, image files, | 413 all your application files (.html, .nmf, .nexe, .css, .js, image files, |
372 etc.) | 414 etc.) |
373 | 415 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 To publish an application to the world after publishing it to test accounts, | 466 To publish an application to the world after publishing it to test accounts, |
425 you must first unpublish the application. For additional information see | 467 you must first unpublish the application. For additional information see |
426 `Publishing Your App | 468 `Publishing Your App |
427 <https://developers.google.com/chrome/web-store/docs/publish>`_, and in | 469 <https://developers.google.com/chrome/web-store/docs/publish>`_, and in |
428 particular `Publishing to test accounts | 470 particular `Publishing to test accounts |
429 <https://developers.google.com/chrome/web-store/docs/publish#testaccounts>`_. | 471 <https://developers.google.com/chrome/web-store/docs/publish#testaccounts>`_. |
430 | 472 |
431 .. |menu-icon| image:: /images/menu-icon.png | 473 .. |menu-icon| image:: /images/menu-icon.png |
432 .. |extensions| image:: /images/extensions-management.png | 474 .. |extensions| image:: /images/extensions-management.png |
433 .. |new-tab-apps| image:: /images/new-tab-apps.png | 475 .. |new-tab-apps| image:: /images/new-tab-apps.png |
OLD | NEW |