Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1 | /* Metadata represendations of resources that are outside of the autogenerated |
| 2 | local resource lists, or that override local resource representations. |
| 3 | |
| 4 | Resources listed here are referenced from sitemap sections and collections, |
| 5 | matched by url string if there is no resource existing in ALL_RESOURCES. |
| 6 | |
| 7 | Currently, these articles can override only the generated resources |
| 8 | in DISTRIBUTE_RESOURCES. A representation defined here will not be applied |
| 9 | when a collection or section specifies a url that's not in DISTRIBUTE_RESOURCEs. |
| 10 | Also |
| 11 | So if a section url refers to a static doc that's |
| 12 | not in a distribute section, you need to create an item for |
| 13 | it in this file. Fix is to compare across |
| 14 | ALL_RESOURCES_BY_URL. */ |
| 15 | |
| 16 | DISTRIBUTE_RESOURCES = DISTRIBUTE_RESOURCES.concat([ |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 17 | /* TODO Remove standard resources from here, such as below |
| 18 | */ |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 19 | { |
Andrew Solovay | 827b802 | 2015-11-13 13:09:12 -0800 | [diff] [blame] | 20 | "title":"Measure your app’s user acquisition channels", |
| 21 | "titleFriendly":"", |
| 22 | "summary":"Get details on how to use the Developer Console User Acquisitions reports to discover where your users come from.", |
| 23 | "url":"https://support.google.com/googleplay/android-developer/answer/6263332", |
| 24 | "group":"", |
| 25 | "keywords": [], |
| 26 | "tags": [], |
| 27 | "image":"images/play_dev.jpg", |
| 28 | "type":"google" |
| 29 | }, |
| 30 | { |
| 31 | "title":"Set up native app install banners in Chrome", |
| 32 | "titleFriendly":"", |
| 33 | "summary":"Get the details you need to add your native app or game to your site’s web app manifest file.", |
| 34 | "url":"https://developers.google.com/web/updates/2015/03/increasing-engagement-with-app-install-banners-in-chrome-for-android#native", |
| 35 | "group":"", |
| 36 | "keywords": [], |
| 37 | "tags": [], |
| 38 | "image":"images/play_dev.jpg", |
| 39 | "type":"google" |
| 40 | }, |
| 41 | { |
| 42 | "title":"Optimize your store listing pages with experiments", |
| 43 | "titleFriendly":"", |
| 44 | "summary":"You can run experiments to find the most effective graphics and localized text for your app.", |
| 45 | "url":"https://support.google.com/googleplay/android-developer/answer/6227309", |
| 46 | "group":"", |
| 47 | "keywords": [], |
| 48 | "tags": [], |
| 49 | "image":"images/play_dev.jpg", |
| 50 | "type":"google" |
| 51 | }, |
| 52 | { |
| 53 | "title":"Content Experiments for Mobile Apps", |
| 54 | "titleFriendly":"", |
| 55 | "summary":"Google Analytics Content Experiments allows you to test multiple variations of a given web page.", |
| 56 | "url":"https://support.google.com/tagmanager/answer/6003007", |
| 57 | "group":"", |
| 58 | "keywords": [], |
| 59 | "tags": [], |
| 60 | "image":"images/play_dev.jpg", |
| 61 | "type":"google" |
| 62 | }, |
| 63 | { |
| 64 | "title":"Store Listing Experiments for Google Play", |
| 65 | "titleFriendly":"", |
| 66 | "summary":"Learn how to use Google Play’s new store listing optimization feature to get more installs of your app.", |
| 67 | "url":"https://www.youtube.com/watch?v=B6ydLpkhq04", |
| 68 | "group":"", |
| 69 | "keywords": [], |
| 70 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 71 | "image":"https://i1.ytimg.com/vi/B6ydLpkhq04/maxresdefault.jpg", |
Andrew Solovay | 827b802 | 2015-11-13 13:09:12 -0800 | [diff] [blame] | 72 | "type":"video" |
| 73 | }, |
| 74 | { |
| 75 | "title":"Use alpha/beta testing & staged rollouts", |
| 76 | "titleFriendly":"", |
| 77 | "summary":"Using the Google Play Developer Console, you can choose groups of users to test different versions of your app.", |
| 78 | "url":"https://support.google.com/googleplay/android-developer/answer/3131213", |
| 79 | "group":"", |
| 80 | "keywords": [], |
| 81 | "tags": [], |
| 82 | "image":"images/play_dev.jpg", |
| 83 | "type":"google" |
| 84 | }, |
| 85 | { |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 86 | "title":"Quizlet Developer Story", |
| 87 | "titleFriendly":"", |
| 88 | "summary":"Quizlet is an extremely popular online learning tool for students. See how they optimized for the classroom with Android and the power of Google Play for Education.", |
| 89 | "url":"https://www.youtube.com/watch?v=Idu7VcTTXfk", |
| 90 | "group":"", |
| 91 | "keywords": [], |
| 92 | "tags": [ |
| 93 | "#gpfe", |
| 94 | "#googleplay" |
| 95 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 96 | "image":"https://i1.ytimg.com/vi/Idu7VcTTXfk/maxresdefault.jpg", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 97 | "type":"video" |
| 98 | }, |
| 99 | { |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 100 | "title":"What's New in GPFE", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 101 | "titleFriendly":"", |
| 102 | "summary":"Learn about the vision and philosophy behind Google Play for Education", |
| 103 | "url":"https://www.youtube.com/watch?v=IKhU180eJMo", |
| 104 | "group":"", |
| 105 | "keywords": [], |
| 106 | "tags": [ |
| 107 | "#gpfe", |
| 108 | "#googleplay" |
| 109 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 110 | "image":"https://i1.ytimg.com/vi/IKhU180eJMo/maxresdefault.jpg", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 111 | "type":"video" |
| 112 | }, |
| 113 | { |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 114 | "title":"Get started with Google Cast", |
| 115 | "titleFriendly":"", |
| 116 | "summary":"Build multi-screen experiences, let the user send video and audio content to TVs and speakers.", |
| 117 | "url":"https://developers.google.com/cast/docs/ux_guidelines", |
| 118 | "group":"", |
| 119 | "keywords": ["cast", "chromecast", "video", "audio"], |
| 120 | "tags": [], |
| 121 | "image":"images/cards/card-cast_2x.jpg", |
| 122 | "type":"Guide" |
| 123 | }, |
| 124 | { |
| 125 | "title":"Android Sender Applications", |
| 126 | "titleFriendly":"", |
| 127 | "summary":"Get an overview of how your Android app can act as a Google Cast sender app.", |
| 128 | "url":"https://developers.google.com/cast/docs/android_sender", |
| 129 | "group":"", |
| 130 | "keywords": ["cast", "sender"], |
| 131 | "tags": [], |
| 132 | "image":"images/cards/card-cast_2x.jpg", |
| 133 | "type":"Guide" |
| 134 | }, |
| 135 | { |
| 136 | "title":"Cast sample apps", |
| 137 | "titleFriendly":"", |
| 138 | "summary":"Get example Google Cast applications for both senders and receivers.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 139 | "url":"https://www.github.com/googlecast", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 140 | "group":"", |
| 141 | "keywords": ["cast", "samples"], |
| 142 | "tags": [], |
| 143 | "image":"images/cards/card-cast_2x.jpg", |
| 144 | "type":"Samples" |
| 145 | }, |
| 146 | { |
| 147 | "title":"Get Cardboard", |
| 148 | "titleFriendly":"", |
| 149 | "summary":"Get your own Cardboard, today. Buy one from a manufacturer or build your own, and start developing.", |
Dirk Dougherty | 7af29cc | 2015-05-18 11:32:09 -0700 | [diff] [blame] | 150 | "url":"https://www.google.com/get/cardboard/get-cardboard/", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 151 | "group":"", |
| 152 | "keywords": ["carboard","vr"], |
| 153 | "tags": [], |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 154 | "image":"images/cards/card-cardboard_2x.png", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 155 | "type":"Guide" |
| 156 | }, |
| 157 | { |
| 158 | "title":"Download the Cardboard SDK", |
| 159 | "titleFriendly":"", |
| 160 | "summary":"Grab the Cardboard libraries from GitHub and start creating VR apps in your favorite development environment.", |
| 161 | "url":"https://developers.google.com/cardboard/android/download", |
| 162 | "group":"", |
| 163 | "keywords": ["carboard","vr"], |
| 164 | "tags": [], |
| 165 | "image":"images/cards/card-cardboard_2x.png", |
| 166 | "type":"Guide" |
| 167 | }, |
| 168 | { |
| 169 | "title":"Cardboard design guidelines", |
| 170 | "titleFriendly":"", |
| 171 | "summary":"Focus on overall usability and avoiding common VR pitfalls while creating an immersive experience of your own.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 172 | "url":"https://www.google.com/design/spec-vr", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 173 | "group":"", |
| 174 | "keywords": ["carboard","vr"], |
| 175 | "tags": [], |
| 176 | "image":"images/cards/card-cardboard_2x.png", |
| 177 | "type":"Design" |
| 178 | }, |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 179 | { |
| 180 | "title":"Maps", |
| 181 | "titleFriendly":"", |
| 182 | "summary":"Give users the map that more than a billion people use every month.", |
| 183 | "url":"https://developers.google.com/maps/documentation/android/", |
| 184 | "group":"", |
| 185 | "keywords": ["maps"], |
| 186 | "tags": [], |
| 187 | "image":"images/google/gps-maps.png", |
| 188 | "type":"Guide" |
| 189 | }, |
| 190 | { |
| 191 | "title":"Places API", |
| 192 | "titleFriendly":"", |
| 193 | "summary":"give your users contextual information about where they are, when they’re there.", |
| 194 | "url":"https://developers.google.com/places/android/", |
| 195 | "group":"", |
| 196 | "keywords": ["places","location", "context"], |
| 197 | "tags": [], |
| 198 | "image":"images/cards/card-places_2x.png", |
| 199 | "type":"Guide" |
| 200 | }, |
Dirk Dougherty | ae70b69 | 2015-05-27 16:58:46 -0700 | [diff] [blame] | 201 | { |
| 202 | "title":"GCM Client for Android", |
| 203 | "titleFriendly":"", |
| 204 | "summary":"Send push notifications and pubsub from your server to Android devices around the world.", |
| 205 | "url":"https://developers.google.com/cloud-messaging/android/client", |
| 206 | "group":"", |
| 207 | "keywords": ["push","gcm"], |
| 208 | "tags": [], |
| 209 | "image":"images/cards/card-google-cloud-messaging_16-9_2x.png", |
| 210 | "type":"Guide" |
| 211 | }, |
| 212 | { |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 213 | "title":"Google Cloud Messaging", |
| 214 | "titleFriendly":"", |
Dirk Dougherty | ae70b69 | 2015-05-27 16:58:46 -0700 | [diff] [blame] | 215 | "summary":"Learn about GCM and the kinds of services you can offer to users through push notifications", |
| 216 | "url":"https://developers.google.com/cloud-messaging/gcm", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 217 | "group":"", |
| 218 | "keywords": ["push","gcm"], |
| 219 | "tags": [], |
Dirk Dougherty | 10d44b7 | 2015-05-23 14:46:57 -0700 | [diff] [blame] | 220 | "image":"images/cards/card-google-cloud-messaging_16-9_2x.png", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 221 | "type":"Guide" |
| 222 | }, |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 223 | { |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 224 | "title":"ClassDojo Developer Story", |
| 225 | "titleFriendly":"", |
| 226 | "summary":"ClassDojo is a classroom tool that helps teachers improve behavior in their classrooms quickly and easily. See how they optimized for the classroom with Android and the power of Google Play for Education.", |
| 227 | "url":"https://www.youtube.com/watch?v=iokH4SAIfRw", |
| 228 | "group":"", |
| 229 | "keywords": [], |
| 230 | "tags": [ |
| 231 | "#gpfe", |
| 232 | "#googleplay" |
| 233 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 234 | "image":"https://i1.ytimg.com/vi/iokH4SAIfRw/maxresdefault.jpg", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 235 | "type":"video" |
| 236 | }, |
| 237 | { |
Robert Ly | 62c81ab | 2014-07-21 09:06:50 -0700 | [diff] [blame] | 238 | "title":"Plan for Success", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 239 | "titleFriendly":"", |
Robert Ly | 62c81ab | 2014-07-21 09:06:50 -0700 | [diff] [blame] | 240 | "summary":"5 tips from developers on creating great EDU apps.", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 241 | "url":"https://www.youtube.com/watch?v=Eh2adsAyTKc", |
| 242 | "group":"", |
| 243 | "keywords": [], |
| 244 | "tags": [ |
| 245 | "#gpfe", |
| 246 | "#googleplay" |
| 247 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 248 | "image":"https://i1.ytimg.com/vi/Eh2adsAyTKc/maxresdefault.jpg", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 249 | "type":"video" |
| 250 | }, |
| 251 | { |
| 252 | "title":"Optimizing Apps for Education", |
| 253 | "titleFriendly":"", |
| 254 | "summary":"Learn how to optimize your app for teachers and students.", |
| 255 | "url":"https://www.youtube.com/watch?v=_AZ6UcPz-_g", |
| 256 | "group":"", |
| 257 | "keywords": [], |
| 258 | "tags": [ |
| 259 | "#gpfe", |
| 260 | "#googleplay" |
| 261 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 262 | "image":"https://i1.ytimg.com/vi/_AZ6UcPz-_g/maxresdefault.jpg", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 263 | "type":"video" |
| 264 | }, |
| 265 | { |
| 266 | "title":"Ideas and Tools for Building Innovative Education Apps", |
| 267 | "titleFriendly":"", |
| 268 | "summary":"Are you hungry to build an awesome app for education but don't quite know where to start? Come hear about apps that teachers want, and the APIs you're going to need to build them! In particular, we'll talk about app ideas that combine APIs for Google Drive, Google Login, Android Single Task Mode and more to build transformative Educational apps that will delight educators and kids in and out of the classroom.", |
| 269 | "url":"https://www.youtube.com/watch?v=iulXz8QTD1g", |
| 270 | "group":"", |
| 271 | "keywords": [], |
| 272 | "tags": [ |
| 273 | "#gpfe", |
| 274 | "#googleplay" |
| 275 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 276 | "image":"https://i1.ytimg.com/vi/iulXz8QTD1g/maxresdefault.jpg", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 277 | "type":"video" |
| 278 | }, |
| 279 | { |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 280 | "title":"DesignBytes: Intro To Material Design", |
| 281 | "titleFriendly":"", |
| 282 | "summary":"These days, UI designers need to be thinking about phones, tablets, laptops, TVs, smartwatches, and beyond. In this DesignByte we talk about how Google designers have been working on making cross-platform and multi-screen design easier. We wanted to build a design system that felt at home on every screen, from the smallest watch to the largest TV.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 283 | "url":"https://www.youtube.com/watch?v=p4gmvHyuZzw", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 284 | "group":"", |
| 285 | "keywords": [], |
| 286 | "tags": [ |
| 287 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 288 | "image":"https://i1.ytimg.com/vi/p4gmvHyuZzw/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 289 | "type":"video" |
| 290 | }, |
| 291 | { |
| 292 | "title":"DesignBytes: Paper and Ink: The Materials that Matter", |
| 293 | "titleFriendly":"", |
| 294 | "summary":"Join Rich Fulcher to learn about the materials of material design. See how virtual paper and ink form the foundation of your tactile user interface and master the rules that govern their behaviour.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 295 | "url":"https://www.youtube.com/watch?v=YaG_ljfzeUw", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 296 | "group":"", |
| 297 | "keywords": [], |
| 298 | "tags": [ |
| 299 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 300 | "image":"https://i1.ytimg.com/vi/YaG_ljfzeUw/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 301 | "type":"video" |
| 302 | }, |
| 303 | { |
| 304 | "title":"DesignBytes: Material Design in the Google I/O App", |
| 305 | "titleFriendly":"", |
| 306 | "summary":"Roman Nurik shares details on the design process for the Google I/O 2014 app. To check out the app's source code, visit github.com/google/iosched.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 307 | "url":"https://www.youtube.com/watch?v=XOcCOBe8PTc", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 308 | "group":"", |
| 309 | "keywords": [], |
| 310 | "tags": [ |
| 311 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 312 | "image":"https://i1.ytimg.com/vi/XOcCOBe8PTc/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 313 | "type":"video" |
| 314 | }, |
| 315 | { |
Quddus Chong | 921e204 | 2015-11-09 16:07:24 -0800 | [diff] [blame] | 316 | "title":"Toolbars for a flexible Action Bar & more", |
| 317 | "titleFriendly":"", |
| 318 | "summary":"Toolbars are a flexible View you can add to your Android app which provides many of the same APIs as the system provided Action Bar, but can also do so much more such as reacting to scrolling or being integrated directly into your layouts.", |
| 319 | "url":"https://www.youtube.com/watch?v=kmUGLURRPkI", |
| 320 | "group":"", |
| 321 | "keywords": [], |
| 322 | "tags": [ |
| 323 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 324 | "image":"https://i1.ytimg.com/vi/kmUGLURRPkI/maxresdefault.jpg", |
Quddus Chong | 921e204 | 2015-11-09 16:07:24 -0800 | [diff] [blame] | 325 | "type":"video" |
| 326 | }, |
| 327 | { |
| 328 | "title":"Protecting Implicit Intents with Runtime Checks", |
| 329 | "titleFriendly":"", |
| 330 | "summary":"Make sure you protect your implicit intents with a simple runtime check.", |
| 331 | "url":"https://www.youtube.com/watch?v=HGElAW224dE", |
| 332 | "group":"", |
| 333 | "keywords": [], |
| 334 | "tags": [ |
| 335 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 336 | "image":"https://i1.ytimg.com/vi/HGElAW224dE/maxresdefault.jpg", |
Quddus Chong | 921e204 | 2015-11-09 16:07:24 -0800 | [diff] [blame] | 337 | "type":"video" |
| 338 | }, |
| 339 | { |
| 340 | "title":"Tabs and ViewPager", |
| 341 | "titleFriendly":"", |
| 342 | "summary":"Showing multiple screens or pages of content is easy with the help of ViewPager and a PagerAdapter. Combining that with tabs make for an effective top level navigation strategy for your app or for moving between content at the same level of hierarchy within your app.", |
| 343 | "url":"https://www.youtube.com/watch?v=zQekzaAgIlQ", |
| 344 | "group":"", |
| 345 | "keywords": [], |
| 346 | "tags": [ |
| 347 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 348 | "image":"https://i1.ytimg.com/vi/zQekzaAgIlQ/maxresdefault.jpg", |
Quddus Chong | 921e204 | 2015-11-09 16:07:24 -0800 | [diff] [blame] | 349 | "type":"video" |
| 350 | }, |
| 351 | { |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 352 | "title":"Battery Drain and Networking", |
| 353 | "titleFriendly":"", |
| 354 | "summary":"Let’s take a moment to make something insanely clear: As far as battery is concerned, NETWORKING is the biggest, baddest, dirtiest offender there is. And optimizing performance here isn’t easy. Since the chip isn’t always awake and draining power, means you can optimize how it wakes up, sends traffic, and saves battery.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 355 | "url":"https://www.youtube.com/watch?v=fEEulSk1kNY", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 356 | "group":"", |
| 357 | "keywords": [], |
| 358 | "tags": [ |
| 359 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 360 | "image":"https://i1.ytimg.com/vi/fEEulSk1kNY/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 361 | "type":"video" |
| 362 | }, |
| 363 | { |
| 364 | "title":"Batching Background Work Until Later", |
| 365 | "titleFriendly":"", |
| 366 | "summary":"Yes, your app is special. But when it comes to battery use, sometimes it’s better to be part of the crowd. Why not spread the battery blame around a bit? Ian Ni-Lewis shows you how ridiculously easy it is to go from battery hog to team player in this video.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 367 | "url":"https://www.youtube.com/watch?v=-3ry8PxcJJA", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 368 | "group":"", |
| 369 | "keywords": [], |
| 370 | "tags": [ |
| 371 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 372 | "image":"https://i1.ytimg.com/vi/-3ry8PxcJJA/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 373 | "type":"video" |
| 374 | }, |
| 375 | { |
| 376 | "title":"The Performance Lifecycle", |
| 377 | "titleFriendly":"", |
| 378 | "summary":"Performance problems surface in your application at the least-wanted times (like right before you’re about to ship your first build). But don’t freak out: There’s a simple process that you can follow to help get your performance back under control.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 379 | "url":"https://www.youtube.com/watch?v=_kKTGK-Cb_4", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 380 | "group":"", |
| 381 | "keywords": [], |
| 382 | "tags": [ |
| 383 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 384 | "image":"https://i1.ytimg.com/vi/_kKTGK-Cb_4/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 385 | "type":"video" |
| 386 | }, |
| 387 | { |
| 388 | "title":"Introduction to Android Studio", |
| 389 | "titleFriendly":"", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 390 | "summary":"Learn why you should migrate your projects to Android Studio now and how it can help you be more productive as a developer. Rich layout editor, handy suggestions and fixes, new Android project view - these are just some of the things you can expect from the IDE, which is built on the successful IntelliJ IDEA.", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 391 | "url":"https://www.youtube.com/watch?v=K2dodTXARqc&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 392 | "group":"", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 393 | "keywords": ["studio", "tools"], |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 394 | "tags": [ |
| 395 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 396 | "image":"https://i1.ytimg.com/vi/K2dodTXARqc/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 397 | "type":"video" |
| 398 | }, |
Dirk Dougherty | 08710f1 | 2015-05-28 22:01:36 -0700 | [diff] [blame] | 399 | |
| 400 | { |
| 401 | "title":"Google Play Services 7.5", |
| 402 | "titleFriendly":"", |
| 403 | "summary":"This update brings App Invites, topics to GCM, GCMNetworkManager, Cast Remote Display API, Smart Lock for Passwords, Maps API for Android Wear, Google Fit extensions and more.", |
| 404 | "url":"https://www.youtube.com/watch?v=M3Udfu6qidk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", |
| 405 | "group":"", |
| 406 | "keywords": ["google play services"], |
| 407 | "tags": [ |
| 408 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 409 | "image":"https://i1.ytimg.com/vi/M3Udfu6qidk/maxresdefault.jpg", |
Dirk Dougherty | 08710f1 | 2015-05-28 22:01:36 -0700 | [diff] [blame] | 410 | "type":"video" |
| 411 | }, |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 412 | { |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 413 | "title":"Google Play Services 7.3", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 414 | "titleFriendly":"", |
Dirk Dougherty | 08710f1 | 2015-05-28 22:01:36 -0700 | [diff] [blame] | 415 | "summary":"This update brings the ability to connect multiple wearables simultaneously to a single phone. There are also some great new updates to Google Fit, including nutrition types, and to Location.", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 416 | "url":"https://www.youtube.com/watch?v=FOn64iqlphk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 417 | "group":"", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 418 | "keywords": ["google play services"], |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 419 | "tags": [ |
| 420 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 421 | "image":"https://i1.ytimg.com/vi/FOn64iqlphk/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 422 | "type":"video" |
| 423 | }, |
| 424 | { |
Dirk Dougherty | 7af29cc | 2015-05-18 11:32:09 -0700 | [diff] [blame] | 425 | "title":"Google Play Services 6.5", |
| 426 | "titleFriendly":"", |
| 427 | "summary":"Google Play services 6.5 includes new features in Google Maps, Google Drive and Google Wallet as well as the recently launched Google Fit API. ", |
| 428 | "url":"https://www.youtube.com/watch?v=fvtMtfCuEpw&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", |
| 429 | "group":"", |
| 430 | "keywords": ["google play services"], |
| 431 | "tags": [ |
| 432 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 433 | "image":"https://i1.ytimg.com/vi/fvtMtfCuEpw/maxresdefault.jpg", |
Dirk Dougherty | 7af29cc | 2015-05-18 11:32:09 -0700 | [diff] [blame] | 434 | "type":"video" |
| 435 | }, |
| 436 | { |
| 437 | "title":"Google Play Services 7.0", |
| 438 | "titleFriendly":"", |
| 439 | "summary":"Google Play services 7.0 is here! we've added the Places API, made enhancements to Location and Google Fit, and you can also remote control your Android TV through the new Nearby Connections API.", |
| 440 | "url":"https://www.youtube.com/watch?v=F0Kh_RnSM0w&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", |
| 441 | "group":"", |
| 442 | "keywords": ["google play services"], |
| 443 | "tags": [ |
| 444 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 445 | "image":"https://i1.ytimg.com/vi/F0Kh_RnSM0w/maxresdefault.jpg", |
Dirk Dougherty | 7af29cc | 2015-05-18 11:32:09 -0700 | [diff] [blame] | 446 | "type":"video" |
| 447 | }, |
| 448 | { |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 449 | "title":"Running a Successful Games Business with Google", |
| 450 | "titleFriendly":"", |
| 451 | "summary":"Sure, we all want to make the next great gaming masterpiece. But we also want to feed our families and/or dogs. Join Bob Meese from the Google Play team as he gives you some key pointers on how to make sure you're best taking advantage of Google Play and running a successful games business.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 452 | "url":"https://www.youtube.com/watch?v=tDmnGNkTtlE", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 453 | "group":"", |
| 454 | "keywords": [], |
| 455 | "tags": [ |
| 456 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 457 | "image":"https://i1.ytimg.com/vi/tDmnGNkTtlE/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 458 | "type":"video" |
| 459 | }, |
| 460 | { |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 461 | "title":"Introduction to Android TV", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 462 | "titleFriendly":"", |
| 463 | "summary":"Android TV brings the Android platform to the living room with rich content and entertaining app experiences. In this video, Timothy introduces the design philosophy and developer components that make building TV experiences easier than ever before.", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 464 | "url":"https://www.youtube.com/watch?v=6K_jxccHv5M&index=1&list=PLOU2XLYxmsILFBfx66ens76VMLMEPJAB0", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 465 | "group":"", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 466 | "keywords": ["tv"], |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 467 | "tags": [ |
| 468 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 469 | "image":"https://i1.ytimg.com/vi/6K_jxccHv5M/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 470 | "type":"video" |
| 471 | }, |
| 472 | { |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 473 | "title":"Introduction to Android Auto", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 474 | "titleFriendly":"", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 475 | "summary":"Android Auto brings the Android platform to the car in a way that's optimized for the driving experience. It's the same platform you already use for phones, tablets, televisions, wearables, and more. ", |
| 476 | "url":"https://www.youtube.com/watch?v=ctiaVxgclsg&list=PLWz5rJ2EKKc9BdE_PSLNIGjXXr3h_orXM", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 477 | "group":"", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 478 | "keywords": ["auto"], |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 479 | "tags": [ |
| 480 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 481 | "image":"https://i1.ytimg.com/vi/ctiaVxgclsg/maxresdefault.jpg", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 482 | "type":"video" |
| 483 | }, |
| 484 | { |
Quddus Chong | e3f6c81 | 2015-08-26 14:16:05 -0700 | [diff] [blame] | 485 | "title":"Debugging and testing in Android Studio", |
| 486 | "titleFriendly":"", |
| 487 | "summary":"This video introduces the state of unit testing support in Studio and Google’s new Android Testing Support Library for functional UI testing and running instrumented tests on a device.", |
| 488 | "url":"https://www.youtube.com/watch?v=2I6fuD20qlY", |
| 489 | "group":"", |
| 490 | "keywords": ["testing"], |
| 491 | "tags": [ |
| 492 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 493 | "image":"https://i1.ytimg.com/vi/2I6fuD20qlY/maxresdefault.jpg", |
Quddus Chong | e3f6c81 | 2015-08-26 14:16:05 -0700 | [diff] [blame] | 494 | "type":"video" |
| 495 | }, |
| 496 | { |
| 497 | "title":"Android Testing (Android Dev Summit 2015)", |
| 498 | "titleFriendly":"", |
| 499 | "summary":"Overview of the testing tools and frameworks provided by Google and how they can help you to iterate more quickly and maintain a more healthy codebase.", |
| 500 | "url":"https://www.youtube.com/watch?v=vdasFFfXKOY", |
| 501 | "group":"", |
| 502 | "keywords": ["testing"], |
| 503 | "tags": [ |
| 504 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 505 | "image":"https://i1.ytimg.com/vi/vdasFFfXKOY/maxresdefault.jpg", |
Quddus Chong | e3f6c81 | 2015-08-26 14:16:05 -0700 | [diff] [blame] | 506 | "type":"video" |
| 507 | }, |
| 508 | { |
| 509 | "title":"dumpsys", |
| 510 | "titleFriendly":"", |
| 511 | "summary":"A tool that runs on the device and provides information about the status of system services.", |
| 512 | "url":"https://source.android.com/devices/tech/debug/dumpsys.html", |
| 513 | "group":"", |
| 514 | "keywords": ["testing"], |
| 515 | "tags": [ |
| 516 | ], |
| 517 | "image":"", |
| 518 | "type":"google" |
| 519 | }, |
| 520 | { |
| 521 | "title":"Android Testing Samples", |
| 522 | "titleFriendly":"", |
| 523 | "summary":"A collection of samples demonstrating different frameworks and techniques for automated testing.", |
| 524 | "url":"https://github.com/googlesamples/android-testing", |
| 525 | "group":"", |
| 526 | "keywords": ["testing"], |
| 527 | "tags": [ |
| 528 | ], |
| 529 | "image":"images/testing/testing-icon.png", |
| 530 | "type":"Samples" |
| 531 | }, |
| 532 | { |
| 533 | "title":"Android Testing Templates", |
| 534 | "titleFriendly":"", |
| 535 | "summary":"A collection of Google's Android testing tools and frameworks, all integrated in a single application project.", |
| 536 | "url":"https://github.com/googlesamples/android-testing-templates", |
| 537 | "group":"", |
| 538 | "keywords": ["testing"], |
| 539 | "tags": [ |
| 540 | ], |
| 541 | "image":"images/testing/testing-icon.png", |
| 542 | "type":"Samples" |
| 543 | }, |
| 544 | { |
| 545 | "title":"Android Testing Support Library (GitHub)", |
| 546 | "titleFriendly":"", |
| 547 | "summary":"A resource page on GitHub for the Android Testing Support Library.", |
| 548 | "url":"https://google.github.io/android-testing-support-library", |
| 549 | "group":"", |
| 550 | "keywords": ["testing"], |
| 551 | "tags": [ |
| 552 | ], |
| 553 | "image":"images/testing/testing-icon.png", |
| 554 | "type":"Samples" |
| 555 | }, |
| 556 | { |
| 557 | "title":"Android Testing Codelab", |
| 558 | "titleFriendly":"", |
| 559 | "summary":"This codelab shows how to build an Android app from the ground up in Android Studio, using a Model View Presenter architecture, Unit Tests and Instrumentation Tests.", |
| 560 | "url":"https://codelabs.developers.google.com/codelabs/android-testing/index.html", |
| 561 | "group":"", |
| 562 | "keywords": ["testing"], |
| 563 | "tags": [ |
| 564 | ], |
| 565 | "image":"images/testing/testing-icon.png", |
| 566 | "type":"google" |
| 567 | }, |
| 568 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 569 | "title":"Developer Registration", |
| 570 | "titleFriendly":"", |
| 571 | "summary":"Additional information about the registration process.", |
| 572 | "url":"https://support.google.com/googleplay/android-developer/answer/113468", |
| 573 | "group":"", |
| 574 | "keywords": [], |
| 575 | "tags": [], |
| 576 | "image":"images/play_dev.jpg", |
| 577 | "type":"google" |
| 578 | }, |
| 579 | { |
| 580 | "title": "Google Play Distribution and Seller Countries", |
| 581 | "titleFriendly":"", |
| 582 | "summary": "List of countries and territories where you can distribute your apps in Google Play.", |
| 583 | "url":"https://support.google.com/googleplay/android-developer/answer/138294", |
| 584 | "group":"", |
| 585 | "keywords": [], |
| 586 | "tags": [], |
| 587 | "image":"images/play_dev.jpg", |
| 588 | "type":"google" |
| 589 | }, |
| 590 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 591 | "title": "支持向Google Play用户发布应用的地区", |
| 592 | "lang": "zh-cn", |
| 593 | "titleFriendly":"", |
| 594 | "summary": "支持向Google Play用户发布应用的国家/地区。", |
| 595 | "url":"https://support.google.com/googleplay/android-developer/answer/138294?hl=zh-Hans", |
| 596 | "group":"", |
| 597 | "keywords": [], |
| 598 | "tags": [], |
| 599 | "image":"images/play_dev.jpg", |
| 600 | "type":"google" |
| 601 | }, |
| 602 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 603 | "title":"Google Play Content Policies", |
| 604 | "titleFriendly":"", |
| 605 | "summary":"Details on policies relating to your developer account and app distribution is governed.", |
| 606 | "url":"https://support.google.com/googleplay/android-developer/topic/3453577", |
| 607 | "group":"", |
| 608 | "keywords": [], |
| 609 | "tags": ["#developersupport"], |
| 610 | "image":"images/play_dev.jpg", |
| 611 | "type":"google" |
| 612 | }, |
| 613 | { |
Quddus Chong | 665cf85 | 2015-11-10 10:11:16 -0800 | [diff] [blame] | 614 | "title":"Google Play Badge Generator", |
| 615 | "titleFriendly":"", |
| 616 | "summary":"Build badges for your app in just a few clicks, or download hi-res badge assets localized for a variety of languages.", |
| 617 | "url":"https://play.google.com/intl/en_us/badges/", |
| 618 | "group":"", |
| 619 | "keywords": [], |
| 620 | "tags": ["#developersupport"], |
| 621 | "image":"images/gp-badges-set.png", |
| 622 | "type":"google" |
| 623 | }, |
| 624 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 625 | "lang": "en", |
| 626 | "group": "", |
| 627 | "tags": ["#developersupport #termsandpolicies"], |
| 628 | "url": "https://support.google.com/googleplay/android-developer/answer/4407611", |
| 629 | "timestamp": 1194884220000, |
| 630 | "image": 'images/play_dev.jpg', |
| 631 | "title": "Google Play Terms and Policies", |
| 632 | "summary": "Developer terms and policies that apply when you distribute apps in Google Play.", |
| 633 | "keywords": [], |
| 634 | "type": "distribute", |
| 635 | "titleFriendly": "" |
| 636 | }, |
| 637 | { |
| 638 | "title":"Google Play Policy Center", |
| 639 | "titleFriendly":"", |
| 640 | "summary":"A central resource for you to learn about Google Play policies and guidelines.", |
| 641 | "url":"https://support.google.com/googleplay/android-developer/answer/4430948", |
| 642 | "group":"", |
| 643 | "keywords": [], |
| 644 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 645 | "image":"https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389397_en_v0", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 646 | "type":"google" |
| 647 | }, |
| 648 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 649 | "title":"Google Play应用政策中心", |
| 650 | "titleFriendly":"", |
| 651 | "summary":"一个方便你了解Google Play政策和指南的中心资源。", |
| 652 | "url":"https://support.google.com/googleplay/android-developer/answer/4430948?hl=zh-Hans", |
| 653 | "group":"", |
| 654 | "keywords": [], |
| 655 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 656 | "image":"https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389397_en_v0", |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 657 | "type":"google" |
| 658 | }, |
| 659 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 660 | "title":"Developer Help Center", |
| 661 | "titleFriendly":"", |
| 662 | "summary":"Complete details on getting started, publishing, troubleshooting, and more.", |
| 663 | "url":"https://support.google.com/googleplay/android-developer", |
| 664 | "group":"", |
| 665 | "keywords": [], |
| 666 | "tags": [], |
Dirk Dougherty | c85bf85 | 2015-05-24 19:56:35 -0700 | [diff] [blame] | 667 | "image":"images/cards/google-play_2x.png", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 668 | "type":"google" |
| 669 | }, |
| 670 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 671 | "title":"开发者帮助中心", |
| 672 | "titleFriendly":"", |
| 673 | "summary":"完整资料帮助开发者新手入手,发布,故障排除,等等", |
| 674 | "url":"https://support.google.com/googleplay/android-developer?hl=zh-Hans", |
| 675 | "group":"", |
| 676 | "keywords": [], |
| 677 | "tags": [], |
| 678 | "image":"images/play_dev.jpg", |
| 679 | "type":"google" |
| 680 | }, |
| 681 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 682 | "title":"Google for Education", |
| 683 | "titleFriendly":"", |
| 684 | "summary":"Find out more about how Google can support your work with apps and tablets.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 685 | "url":"https://www.google.com/edu/tablets/", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 686 | "group":"", |
| 687 | "keywords": [], |
| 688 | "tags": [], |
| 689 | "image":"distribute/images/gp-edu-apps-image.jpg", |
| 690 | "type":"google" |
| 691 | }, |
| 692 | { |
| 693 | "title":"Keeping Your App Responsive", |
| 694 | "titleFriendly":"", |
| 695 | "summary":"This document describes how the Android system determines whether an application is not responding and provides guidelines for ensuring that your application stays responsive.", |
| 696 | "url":"training/articles/perf-anr.html", |
| 697 | "group":"", |
| 698 | "keywords": [], |
| 699 | "tags": [], |
| 700 | "image":"", |
| 701 | "type":"google" |
| 702 | }, |
| 703 | { |
| 704 | "title":"Google Play Game Services", |
| 705 | "titleFriendly":"", |
Andrew Solovay | 827b802 | 2015-11-13 13:09:12 -0800 | [diff] [blame] | 706 | "summary":"Make your games social with Google Play game services. Add achievements, leaderboards, real-time multiplayer, and other popular features using the Google Play game services SDK.", |
| 707 | "url":"https://developers.google.com/games/services/", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 708 | "group":"", |
Dirk Dougherty | 10d44b7 | 2015-05-23 14:46:57 -0700 | [diff] [blame] | 709 | "keywords": ["games","play games"], |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 710 | "tags": [], |
Dirk Dougherty | 10d44b7 | 2015-05-23 14:46:57 -0700 | [diff] [blame] | 711 | "image":"images/google/gps-play_games_logo.png", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 712 | "type":"google" |
| 713 | }, |
Andrew Solovay | 827b802 | 2015-11-13 13:09:12 -0800 | [diff] [blame] | 714 | { |
| 715 | "title":"Get Started with Analytics", |
| 716 | "titleFriendly":"", |
| 717 | "summary":"Get advanced insight into how players discover and play your games.", |
| 718 | "url":"distribute/analyze/start.html", |
| 719 | "group":"", |
| 720 | "keywords": ["analytics"], |
| 721 | "tags": [], |
| 722 | "image": "images/cards/analytics-mobile_2x.jpg", |
| 723 | "type": "distribute" |
| 724 | }, |
| 725 | { |
| 726 | "title":"Build VR with Google Cardboard", |
| 727 | "titleFriendly":"", |
| 728 | "summary":"Turn any phone into a virtual reality headset with a Cardboard viewer and experiment with adding virtual reality to your games with the Cardboard SDK.", |
| 729 | "url":"distribute/googleplay/cardboard.html", |
| 730 | "group":"", |
| 731 | "keywords": ["cardboard"], |
| 732 | "tags": [], |
| 733 | "image":"images/cards/card-cardboard_2x.png", |
| 734 | "type": "distribute" |
| 735 | }, |
| 736 | { |
| 737 | "title":"Monetize your apps intelligently", |
| 738 | "titleFriendly":"", |
| 739 | "summary":"Generate revenue from your free games with ads tailored to match your game's look and feel.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 740 | "url":"https://www.google.com/admob/", |
Andrew Solovay | 827b802 | 2015-11-13 13:09:12 -0800 | [diff] [blame] | 741 | "group":"", |
| 742 | "keywords": ["AdMob"], |
| 743 | "tags": [], |
| 744 | "image":"images/cards/admob-analytics_2x.png", |
| 745 | "type": "distribute" |
| 746 | }, |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 747 | { |
| 748 | "lang": "en", |
| 749 | "group": "", |
| 750 | "tags": [ |
| 751 | "versions", "blog", "googleplay" |
| 752 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 753 | "url": "https://android-developers.blogspot.com/", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 754 | "timestamp": 1004884220000, |
| 755 | "image": "images/blog.jpg", |
| 756 | "title": "Android Developers Blog", |
| 757 | "summary": "Follow the latest news on Android design, development, and distribution.", |
| 758 | "keywords": [], |
| 759 | "type": "blog", |
| 760 | "titleFriendly": "" |
| 761 | }, |
| 762 | { |
| 763 | "lang": "en", |
| 764 | "group": "", |
| 765 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 766 | "url": "https://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 767 | "timestamp": 1194884220000, |
| 768 | "image": null, |
| 769 | "title": "Making Android Apps that Play Nice", |
| 770 | "summary": "Audio lifecycle and expected audio behaviors for Android apps.", |
| 771 | "keywords": [], |
| 772 | "type": "blog", |
| 773 | "titleFriendly": "" |
| 774 | }, |
| 775 | { |
| 776 | "lang": "en", |
| 777 | "group": "", |
| 778 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 779 | "url": "https://android-developers.blogspot.com/2010/07/multithreading-for-performance.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 780 | "timestamp": 1194884220000, |
| 781 | "image": null, |
| 782 | "title": "Multithreading for Performance", |
| 783 | "summary": "Ways to improve performance through multi-threading.", |
| 784 | "keywords": [], |
| 785 | "type": "blog", |
| 786 | "titleFriendly": "" |
| 787 | }, |
| 788 | { |
| 789 | "lang": "en", |
| 790 | "group": "", |
| 791 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 792 | "url": "https://play.google.com/about/developer-content-policy.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 793 | "timestamp": 1194884220000, |
| 794 | "image": "images/play_dev.jpg", |
| 795 | "title": "Developer Program Policies", |
| 796 | "summary": "Guidelines acceptable content in Google Play. Please read and understand the policies before publishing.", |
| 797 | "keywords": [], |
| 798 | "type": "google", |
| 799 | "titleFriendly": "" |
| 800 | }, |
| 801 | { |
| 802 | "lang": "en", |
| 803 | "group": "", |
| 804 | "tags": [], |
| 805 | "url": "https://support.google.com/googleplay/android-developer/answer/188189", |
| 806 | "timestamp": 1194884220000, |
| 807 | "image": "images/play_dev.jpg", |
| 808 | "title": "Rating your application content for Google Play", |
| 809 | "summary": "How to choose the appropriate content ratings level for your apps.", |
| 810 | "keywords": [], |
| 811 | "type": "support", |
| 812 | "titleFriendly": "" |
| 813 | }, |
| 814 | { |
Quddus Chong | 6df63b9 | 2015-10-21 11:00:50 -0700 | [diff] [blame] | 815 | "lang": "en", |
| 816 | "group": "", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 817 | "tags": ["devices", "nexus", "testing"], |
Quddus Chong | 6df63b9 | 2015-10-21 11:00:50 -0700 | [diff] [blame] | 818 | "url": "https://developers.google.com/android/nexus/images", |
| 819 | "timestamp": 1194884220000, |
| 820 | "image": "images/cards/card-download_16-9_2x.png", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 821 | "title": "Factory Images for Nexus Devices", |
| 822 | "summary": "System image files for Android 6.0 and other Android releases.", |
| 823 | "keywords": ["nexus, downloads"], |
Quddus Chong | 6df63b9 | 2015-10-21 11:00:50 -0700 | [diff] [blame] | 824 | "type": "support", |
| 825 | "titleFriendly": "" |
| 826 | }, |
| 827 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 828 | "lang": "zh-cn", |
| 829 | "group": "", |
| 830 | "tags": [], |
| 831 | "url": "https://support.google.com/googleplay/android-developer/answer/188189?hl=zh-Hans", |
| 832 | "timestamp": 1194884220000, |
| 833 | "image": "images/play_dev.jpg", |
| 834 | "title": "针对Google Play为你的应用内容分级", |
| 835 | "summary": "如何为你的应用内容分级。", |
| 836 | "keywords": [], |
| 837 | "type": "support", |
| 838 | "titleFriendly": "" |
| 839 | }, |
| 840 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 841 | "lang": "en", |
| 842 | "group": "", |
| 843 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 844 | "url": "https://android-developers.blogspot.com/2011/10/android-market-featured-image.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 845 | "timestamp": 1194884220000, |
| 846 | "image": "images/play_dev.jpg", |
| 847 | "title": "Google Play Featured Image Guidelines", |
| 848 | "summary": "How to create attractive, effective Featured Images for your apps.", |
| 849 | "keywords": [], |
| 850 | "type": "support", |
| 851 | "titleFriendly": "" |
| 852 | }, |
| 853 | { |
| 854 | "lang": "en", |
| 855 | "group": "", |
| 856 | "tags": [], |
| 857 | "url": "https://support.google.com/googleplay/android-developer/answer/113477", |
| 858 | "timestamp": 1194884220000, |
| 859 | "image": "images/play_dev.jpg", |
| 860 | "title": "Supporting your users", |
| 861 | "summary": "Options for supporting users.", |
| 862 | "keywords": [], |
| 863 | "type": "support", |
| 864 | "titleFriendly": "" |
smain@google.com | 941f800 | 2014-06-18 16:13:56 -0700 | [diff] [blame] | 865 | }, |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 866 | { |
| 867 | "lang": "zh-cn", |
| 868 | "group": "", |
| 869 | "tags": [], |
| 870 | "url": "https://support.google.com/googleplay/android-developer/answer/113477?hl=zh-Hans", |
| 871 | "timestamp": 1194884220000, |
| 872 | "image": "images/play_dev.jpg", |
| 873 | "title": "为用户提供支持", |
| 874 | "summary": "为用户提供支持的各种选择。", |
| 875 | "keywords": [], |
| 876 | "type": "support", |
| 877 | "titleFriendly": "" |
| 878 | }, |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 879 | { |
| 880 | "lang": "en", |
| 881 | "group": "", |
| 882 | "tags": [], |
| 883 | "url": "guide/practices/screens_support.html#ConfigurationExamples", |
| 884 | "timestamp": 1194884220000, |
| 885 | "image": null, |
| 886 | "title": "Configuration examples", |
| 887 | "summary": "How to declare layouts and other resources for specific screen sizes.", |
| 888 | "keywords": [], |
| 889 | "type": "design", |
| 890 | "titleFriendly": "" |
| 891 | }, |
| 892 | { |
| 893 | "lang": "en", |
| 894 | "group": "", |
| 895 | "tags": [], |
| 896 | "url": "training/design-navigation/multiple-sizes.html", |
| 897 | "timestamp": 1194884220000, |
| 898 | "image": null, |
| 899 | "title": "Planning for Multiple Touchscreen Sizes", |
| 900 | "summary": "", |
| 901 | "keywords": [], |
| 902 | "type": "design", |
| 903 | "titleFriendly": "" |
| 904 | }, |
| 905 | { |
| 906 | "lang": "en", |
| 907 | "group": "", |
| 908 | "tags": [], |
| 909 | "url": "training/multiscreen/index.html", |
| 910 | "timestamp": 1194884220000, |
| 911 | "image": null, |
| 912 | "title": "Designing for Multiple Screens", |
| 913 | "summary": "Designing an intuitive, effective navigation for tablets and other devices.", |
| 914 | "keywords": [], |
| 915 | "type": "design", |
| 916 | "titleFriendly": "" |
| 917 | }, |
| 918 | { |
| 919 | "lang": "en", |
| 920 | "group": "", |
| 921 | "tags": [], |
| 922 | "url": "guide/topics/resources/providing-resources.html", |
| 923 | "timestamp": 1194884220000, |
| 924 | "image": null, |
| 925 | "title": "Providing Resources", |
| 926 | "summary": "Layouts and drawable resources for specific ranges of device screens.", |
| 927 | "keywords": [], |
| 928 | "type": "design", |
| 929 | "titleFriendly": "" |
| 930 | }, |
| 931 | { |
| 932 | "lang": "en", |
| 933 | "group": "", |
| 934 | "tags": [], |
| 935 | "url": "training/basics/supporting-devices/screens.html", |
| 936 | "timestamp": 1194884220000, |
| 937 | "image": null, |
| 938 | "title": "Supporting Different Screens", |
| 939 | "summary": "Optimizing the user experience for different screen sizes and densities.", |
| 940 | "keywords": [], |
| 941 | "type": "design", |
| 942 | "titleFriendly": "" |
| 943 | }, |
| 944 | { |
| 945 | "lang": "en", |
| 946 | "group": "", |
| 947 | "tags": [], |
| 948 | "url": "guide/topics/appwidgets/index.html#MetaData", |
| 949 | "timestamp": 1194884220000, |
| 950 | "image": null, |
| 951 | "title": "Adding the AppWidgetProviderInfo Metadata", |
| 952 | "summary": "How to set the height and width dimensions of a widget.", |
| 953 | "keywords": [], |
| 954 | "type": "design", |
| 955 | "titleFriendly": "" |
| 956 | }, |
| 957 | { |
| 958 | "lang": "en", |
| 959 | "group": "", |
| 960 | "tags": [], |
| 961 | "url": "guide/topics/manifest/uses-sdk-element.html#ApiLevels", |
| 962 | "timestamp": 1194884220000, |
| 963 | "image": null, |
| 964 | "title": "Android API Levels", |
| 965 | "summary": "Introduction to API levels and how they relate to compatibility.", |
| 966 | "keywords": [], |
| 967 | "type": "guide", |
| 968 | "titleFriendly": "" |
| 969 | }, |
| 970 | { |
| 971 | "lang": "en", |
| 972 | "group": "", |
| 973 | "tags": [], |
| 974 | "url": "guide/practices/screens_support.html#DeclaringScreenSizeSupport", |
| 975 | "timestamp": 1194884220000, |
| 976 | "image": null, |
| 977 | "title": "Declaring screen size support", |
| 978 | "summary": "How to declare support for screen sizes in your app\'s manifest.", |
| 979 | "keywords": [], |
| 980 | "type": "guide", |
| 981 | "titleFriendly": "" |
| 982 | }, |
| 983 | { |
| 984 | "lang": "en", |
| 985 | "group": "", |
| 986 | "tags": [], |
| 987 | "url": "guide/topics/manifest/uses-feature-element.html#testing", |
| 988 | "timestamp": 1194884220000, |
| 989 | "image": null, |
| 990 | "title": "Checking for hardware feature requirements", |
| 991 | "summary": "Determining an app’s hardware and software requirements.", |
| 992 | "keywords": [], |
| 993 | "type": "guide", |
| 994 | "titleFriendly": "" |
| 995 | }, |
| 996 | { |
| 997 | "lang": "en", |
| 998 | "group": "", |
| 999 | "tags": [], |
| 1000 | "url": "https://play.google.com/apps/publish/", |
| 1001 | "timestamp": 1194884220000, |
| 1002 | "image": null, |
| 1003 | "title": "Google Play Developer Console", |
| 1004 | "summary": "The tools console for publishing your app.", |
| 1005 | "keywords": [], |
| 1006 | "type": "guide", |
| 1007 | "titleFriendly": "" |
| 1008 | }, |
| 1009 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1010 | "lang": "zh-cn", |
| 1011 | "group": "", |
| 1012 | "tags": [], |
| 1013 | "url": "https://play.google.com/apps/publish/?hl=zh-Hans", |
| 1014 | "timestamp": 1194884220000, |
| 1015 | "image": null, |
| 1016 | "title": "Google Play 开发者控制台", |
| 1017 | "summary": "发布应用的开发者控制台", |
| 1018 | "keywords": [], |
| 1019 | "type": "guide", |
| 1020 | "titleFriendly": "" |
| 1021 | }, |
| 1022 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1023 | "lang": "en", |
| 1024 | "group": "", |
| 1025 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1026 | "url": "https://youtu.be/SkHHPf3EdzE", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1027 | "timestamp": 1194884220000, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1028 | "image": "https://i1.ytimg.com/vi/SkHHPf3EdzE/maxresdefault.jpg", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1029 | "title": "Level Up Your Android Game", |
| 1030 | "summary": "Learn how to take your game to the next level on Google Play.", |
| 1031 | "keywords": [], |
| 1032 | "type": "guide", |
| 1033 | "titleFriendly": "" |
| 1034 | }, |
| 1035 | { |
| 1036 | "lang": "en", |
| 1037 | "group": "", |
| 1038 | "tags": [], |
| 1039 | "url": "https://developers.google.com/+/mobile/android/share/interactive-post", |
| 1040 | "timestamp": 1194884220000, |
| 1041 | "image": 'images/google/gps-googleplus.png', |
| 1042 | "title": "Sharing interactive posts to Google+ from your Android app", |
| 1043 | "summary": "Interactive posts provide an easy and prominent way to allow users to share your site or app with their friends and invite them to take a specific action.", |
| 1044 | "keywords": ["Interactive", "Google+"], |
| 1045 | "type": "guide", |
| 1046 | "titleFriendly": "" |
| 1047 | }, |
| 1048 | { |
| 1049 | "lang": "en", |
| 1050 | "group": "", |
| 1051 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1052 | "url": "https://play.google.com/about/developer-distribution-agreement.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1053 | "timestamp": 1194884220000, |
| 1054 | "image": "images/play_dev.jpg", |
| 1055 | "title": "Developer Distribution Agreement", |
| 1056 | "summary": "Terms for distributing and selling apps and in-app products in Google Play.", |
| 1057 | "keywords": [], |
| 1058 | "type": "guide", |
| 1059 | "titleFriendly": "" |
| 1060 | }, |
| 1061 | { |
| 1062 | "lang": "en", |
| 1063 | "group": "", |
| 1064 | "tags": [], |
| 1065 | "url": "https://support.google.com/googleplay/android-developer/answer/113417", |
| 1066 | "timestamp": 1194884220000, |
| 1067 | "image": null, |
| 1068 | "title": "Inappropriate content in comments and applications", |
| 1069 | "summary": "More details on what content is appropriate.", |
| 1070 | "keywords": [], |
| 1071 | "type": "guide", |
| 1072 | "titleFriendly": "" |
| 1073 | }, |
| 1074 | { |
| 1075 | "lang": "en", |
| 1076 | "group": "", |
| 1077 | "tags": [], |
| 1078 | "url": "https://support.google.com/legal/troubleshooter/1114905", |
| 1079 | "timestamp": 1194884220000, |
| 1080 | "image": null, |
| 1081 | "title": "Removing content from Google", |
| 1082 | "summary": "Find how how to request the removal of content that infringes on your trademark.", |
| 1083 | "keywords": [], |
| 1084 | "type": "guide", |
| 1085 | "titleFriendly": "" |
| 1086 | }, |
| 1087 | { |
| 1088 | "lang": "en", |
| 1089 | "group": "", |
| 1090 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1091 | "url": "https://play.google.com/about/developer-distribution-agreement-addendum.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1092 | "timestamp": 1194884220000, |
| 1093 | "image": "images/play_dev.jpg", |
| 1094 | "title": "Google Play for Education Addendum", |
| 1095 | "summary": "Review the education-specific requirements.", |
| 1096 | "keywords": [], |
| 1097 | "type": "guide", |
| 1098 | "titleFriendly": "" |
| 1099 | }, |
| 1100 | { |
| 1101 | "lang": "en", |
| 1102 | "group": "", |
| 1103 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1104 | "url": "https://android-developers.blogspot.com/2013/03/native-rtl-support-in-android-42.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1105 | "timestamp": null, |
| 1106 | "image": null, |
| 1107 | "title": "Native RTL Support in Android 4.2", |
| 1108 | "summary": "Blog post that explains how to support RTL in your UI.", |
| 1109 | "keywords": [], |
| 1110 | "type": "guide", |
| 1111 | "titleFriendly": "" |
| 1112 | }, |
| 1113 | { |
| 1114 | "lang": "en", |
| 1115 | "group": "", |
| 1116 | "tags": [], |
| 1117 | "url": "guide/topics/resources/string-resource.html#Plurals", |
| 1118 | "timestamp": 1194884220000, |
| 1119 | "image": null, |
| 1120 | "title": "Quantity Strings (Plurals)", |
| 1121 | "summary": "How to work with string plurals according to rules of grammar in a given locale.", |
| 1122 | "keywords": [], |
| 1123 | "type": "guide", |
| 1124 | "titleFriendly": "" |
| 1125 | }, |
| 1126 | { |
| 1127 | "lang": "en", |
| 1128 | "group": "", |
| 1129 | "tags": [], |
| 1130 | "url": "reference/java/util/Locale.html", |
| 1131 | "timestamp": 1194884220000, |
| 1132 | "image": null, |
| 1133 | "title": "Locale", |
| 1134 | "summary": "Determine what CLDR data or version of the Unicode spec a particular Android platform version uses.", |
| 1135 | "keywords": [], |
| 1136 | "type": "guide", |
| 1137 | "titleFriendly": "" |
| 1138 | }, |
| 1139 | { |
| 1140 | "lang": "en", |
| 1141 | "group": "", |
| 1142 | "tags": [], |
| 1143 | "url": "guide/topics/resources/string-resource.html", |
| 1144 | "timestamp": 1194884220000, |
| 1145 | "image": null, |
| 1146 | "title": "String Resources", |
| 1147 | "summary": "Explains how to use string resources in your UI.", |
| 1148 | "keywords": [], |
| 1149 | "type": "guide", |
| 1150 | "titleFriendly": "" |
| 1151 | }, |
| 1152 | { |
| 1153 | "lang": "en", |
| 1154 | "group": "", |
| 1155 | "tags": [], |
| 1156 | "url": "distribute/tools/localization-checklist.html#strings", |
| 1157 | "timestamp": 1194884220000, |
| 1158 | "image": null, |
| 1159 | "title": "Manage strings for localization", |
| 1160 | "summary": "Guidance on having your strings translation ready.", |
| 1161 | "keywords": [], |
| 1162 | "type": "guide", |
| 1163 | "titleFriendly": "" |
| 1164 | }, |
| 1165 | { |
| 1166 | "lang": "en", |
| 1167 | "group": "", |
| 1168 | "tags": [], |
| 1169 | "url": "tools/publishing/publishing_overview.html", |
| 1170 | "timestamp": 1194884220000, |
| 1171 | "image": null, |
| 1172 | "title": "General Publishing Overview", |
| 1173 | "summary": "Start here for an overview of publishing options for Android apps.", |
| 1174 | "keywords": [], |
| 1175 | "type": "guide", |
| 1176 | "titleFriendly": "" |
| 1177 | }, |
| 1178 | { |
| 1179 | "lang": "en", |
| 1180 | "group": "", |
| 1181 | "tags": [], |
| 1182 | "url": "tools/publishing/preparing.html", |
| 1183 | "timestamp": 1194884220000, |
| 1184 | "image": null, |
| 1185 | "title": "Preparing for Release", |
| 1186 | "summary": "Developer documentation on how to build the signed, release-ready APK. This process is the same for all Android apps.", |
| 1187 | "keywords": [], |
| 1188 | "type": "guide", |
| 1189 | "titleFriendly": "" |
| 1190 | }, |
| 1191 | { |
| 1192 | "lang": "en", |
| 1193 | "group": "", |
| 1194 | "tags": [], |
| 1195 | "url": "distribute/googleplay/policies/index.html", |
| 1196 | "timestamp": 1194884220000, |
| 1197 | "image": "images/play_dev.jpg", |
| 1198 | "title": "Google Play Policies and Guidelines", |
| 1199 | "summary": "An overview of Google Play policies for spam, intellectual property, and ads, with examples of common problems.", |
| 1200 | "keywords": [], |
| 1201 | "type": "guide", |
| 1202 | "titleFriendly": "" |
| 1203 | }, |
| 1204 | { |
| 1205 | "lang": "en", |
| 1206 | "group": "", |
| 1207 | "tags": [], |
| 1208 | "url": "https://support.google.com/googleplay/android-developer/topic/2364761", |
| 1209 | "timestamp": 1194884220000, |
| 1210 | "image": "images/play_dev.jpg", |
| 1211 | "title": "Policy and Best Practices", |
| 1212 | "summary": "Help Center document describing various content policies and processes.", |
| 1213 | "keywords": [], |
| 1214 | "type": "distribute", |
| 1215 | "titleFriendly": "" |
| 1216 | }, |
| 1217 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1218 | "lang": "zh-cn", |
| 1219 | "group": "", |
| 1220 | "tags": [], |
| 1221 | "url": "https://support.google.com/googleplay/android-developer/topic/2364761?hl=zh-Hans", |
| 1222 | "timestamp": 1194884220000, |
| 1223 | "image": "images/play_dev.jpg", |
| 1224 | "title": "政策和最佳做法", |
| 1225 | "summary": "内容政策和流程", |
| 1226 | "keywords": [], |
| 1227 | "type": "distribute", |
| 1228 | "titleFriendly": "" |
| 1229 | }, |
| 1230 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1231 | "lang": "en", |
| 1232 | "group": "", |
| 1233 | "tags": [], |
| 1234 | "url": "google/play/expansion-files.html", |
| 1235 | "timestamp": 1194884220000, |
| 1236 | "image": null, |
| 1237 | "title": "APK Expansion Files", |
| 1238 | "summary": "Developer documentation describing APK Expansion Files and how to support them in your app.", |
| 1239 | "keywords": [], |
| 1240 | "type": "guide", |
| 1241 | "titleFriendly": "" |
| 1242 | }, |
| 1243 | { |
| 1244 | "lang": "en", |
| 1245 | "group": "", |
| 1246 | "tags": [], |
| 1247 | "url": "tools/help/proguard.html", |
| 1248 | "timestamp": 1194884220000, |
| 1249 | "image": null, |
| 1250 | "title": "ProGuard", |
| 1251 | "summary": "Developer documentation describing how to use ProGuard to shrink, optimize, and obfuscate your code prior to release.", |
| 1252 | "keywords": [], |
| 1253 | "type": "guide", |
| 1254 | "titleFriendly": "" |
| 1255 | }, |
| 1256 | { |
| 1257 | "title":"Dashboards", |
| 1258 | "titleFriendly":"", |
| 1259 | "summary":"This page provides information about the relative number of devices that share a certain characteristic, such as Android version or screen size. This information may help you prioritize efforts for supporting different devices by revealing which devices…", |
| 1260 | "url":"about/dashboards/index.html", |
| 1261 | "group":"", |
| 1262 | "keywords": ["android","dashboard","platforms","versions"], |
| 1263 | "tags": ["#ecosystem","#versions","#whatsnew"], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1264 | "image":"https://chart.googleapis.com/chart?chl=GL%201.1%20only%7CGL%202.0%7CGL%203.0&chf=bg%2Cs%2C00000000&chd=t%3A0.1%2C93.5%2C6.4&chco=c4df9b%2C6fad0c&chs=400x250&cht=p", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1265 | "lang":"en", |
| 1266 | "type":"about" |
smain@google.com | 941f800 | 2014-06-18 16:13:56 -0700 | [diff] [blame] | 1267 | }, |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1268 | { |
| 1269 | "lang": "en", |
| 1270 | "group": "", |
| 1271 | "tags": [], |
| 1272 | "url": "https://developers.google.com/wallet/instant-buy/", |
| 1273 | "timestamp": 1194884220000, |
Dirk Dougherty | 10d44b7 | 2015-05-23 14:46:57 -0700 | [diff] [blame] | 1274 | "image": "", |
| 1275 | "title": "Android Pay APIs", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1276 | "summary": "Developer documentation describing Instant Buy and how to support it in your apps.", |
| 1277 | "keywords": [], |
| 1278 | "type": "guide", |
| 1279 | "titleFriendly": "" |
| 1280 | }, |
| 1281 | { |
| 1282 | "lang": "en", |
| 1283 | "group": "", |
| 1284 | "tags": [], |
| 1285 | "url": "https://support.google.com/googleplay/android-developer/answer/1169947", |
| 1286 | "timestamp": 1194884220000, |
| 1287 | "image": "images/play_dev.jpg", |
| 1288 | "title": "Selling Apps in Multiple Currencies", |
| 1289 | "summary": "Help Center document describing how pricing works in Google Play.", |
| 1290 | "keywords": [], |
| 1291 | "type": "guide", |
| 1292 | "titleFriendly": "" |
| 1293 | }, |
| 1294 | { |
| 1295 | "lang": "en", |
| 1296 | "group": "", |
| 1297 | "tags": [], |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1298 | "url": "https://support.google.com/googleplay/android-developer/answer/1169947?hl=zh-Hans", |
| 1299 | "timestamp": 1194884220000, |
| 1300 | "image": "images/play_dev.jpg", |
| 1301 | "title": "以多种货币销售应用", |
| 1302 | "summary": "如何在Google Play为应用定价", |
| 1303 | "keywords": [], |
| 1304 | "type": "guide", |
| 1305 | "titleFriendly": "" |
| 1306 | }, |
| 1307 | { |
| 1308 | "lang": "en", |
| 1309 | "group": "", |
| 1310 | "tags": [], |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1311 | "url": "https://support.google.com/googleplay/android-developer/answer/138412", |
| 1312 | "timestamp": 1194884220000, |
| 1313 | "image": "images/play_dev.jpg", |
| 1314 | "title": "Prices and supported currencies", |
| 1315 | "summary": "Help Center document listing supported currencies for pricing your apps.", |
| 1316 | "keywords": [], |
| 1317 | "type": "guide", |
| 1318 | "titleFriendly": "" |
| 1319 | }, |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1320 | { |
| 1321 | "lang": "zh-cn", |
| 1322 | "group": "", |
| 1323 | "tags": [], |
| 1324 | "url": "https://support.google.com/googleplay/android-developer/answer/138412?hl=zh-Hans", |
| 1325 | "timestamp": 1194884220000, |
| 1326 | "image": "images/play_dev.jpg", |
| 1327 | "title": "各国家/地区获许定价范围和货币", |
| 1328 | "summary": "各国家/地区获许定价范围和货币列表", |
| 1329 | "keywords": [], |
| 1330 | "type": "guide", |
| 1331 | "titleFriendly": "" |
| 1332 | }, |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1333 | { |
| 1334 | "lang": "en", |
| 1335 | "group": "", |
| 1336 | "tags": [], |
| 1337 | "url": "https://support.google.com/googleplay/android-developer/answer/112622", |
| 1338 | "timestamp": 1194884220000, |
| 1339 | "image": "images/play_dev.jpg", |
| 1340 | "title": "Transaction Fees", |
| 1341 | "summary": "Help Center document describing transaction fees for priced apps and in-app products.", |
| 1342 | "keywords": [], |
| 1343 | "type": "guide", |
| 1344 | "titleFriendly": "" |
| 1345 | }, |
| 1346 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1347 | "lang": "zh-cn", |
| 1348 | "group": "", |
| 1349 | "tags": [], |
| 1350 | "url": "https://support.google.com/googleplay/android-developer/answer/112622?hl=zh-Hans", |
| 1351 | "timestamp": 1194884220000, |
| 1352 | "image": "images/play_dev.jpg", |
| 1353 | "title": "交易费用", |
| 1354 | "summary": "销售的应用和应用内产品的交易费。", |
| 1355 | "keywords": [], |
| 1356 | "type": "guide", |
| 1357 | "titleFriendly": "" |
| 1358 | }, |
| 1359 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1360 | "lang": "en", |
| 1361 | "group": "", |
| 1362 | "tags": [], |
| 1363 | "url": "https://support.google.com/googleplay/android-developer/answer/138000", |
| 1364 | "timestamp": 1194884220000, |
| 1365 | "image": "images/play_dev.jpg", |
| 1366 | "title": "Specifying tax rates", |
| 1367 | "summary": "Help Center document describing how to set tax rates for different countries.", |
| 1368 | "keywords": [], |
| 1369 | "type": "guide", |
| 1370 | "titleFriendly": "" |
| 1371 | }, |
| 1372 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1373 | "lang": "zh-cn", |
| 1374 | "group": "", |
| 1375 | "tags": [], |
| 1376 | "url": "https://support.google.com/googleplay/android-developer/answer/138000?hl=zh-Hans", |
| 1377 | "timestamp": 1194884220000, |
| 1378 | "image": "images/play_dev.jpg", |
| 1379 | "title": "税率", |
| 1380 | "summary": "如何设置不同国家/地区的税率", |
| 1381 | "keywords": [], |
| 1382 | "type": "guide", |
| 1383 | "titleFriendly": "" |
| 1384 | }, |
| 1385 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1386 | "lang": "en", |
| 1387 | "group": "", |
| 1388 | "tags": [], |
| 1389 | "url": "guide/topics/resources/localization.html", |
| 1390 | "timestamp": 1194884220000, |
| 1391 | "image": "images/play_dev.jpg", |
| 1392 | "title": "Localizing with Resources", |
| 1393 | "summary": "Developer guide to localizing resources in your app.", |
| 1394 | "keywords": [], |
| 1395 | "type": "guide", |
| 1396 | "titleFriendly": "" |
| 1397 | }, |
| 1398 | { |
| 1399 | "lang": "en", |
| 1400 | "group": "", |
| 1401 | "tags": [], |
| 1402 | "url": "https://support.google.com/googleplay/android-developer/answer/113475", |
| 1403 | "timestamp": 1194884220000, |
| 1404 | "image": "images/play_dev.jpg", |
| 1405 | "title": "Category types", |
| 1406 | "summary": "Help Center document listing available categories for apps.", |
| 1407 | "keywords": [], |
| 1408 | "type": "guide", |
| 1409 | "titleFriendly": "" |
| 1410 | }, |
| 1411 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1412 | "lang": "zh-cn", |
| 1413 | "group": "", |
| 1414 | "tags": [], |
| 1415 | "url": "https://support.google.com/googleplay/android-developer/answer/113475?hl=zh-Hans", |
| 1416 | "timestamp": 1194884220000, |
| 1417 | "image": "images/play_dev.jpg", |
| 1418 | "title": "类别", |
| 1419 | "summary": "应用的类别列表。", |
| 1420 | "keywords": [], |
| 1421 | "type": "guide", |
| 1422 | "titleFriendly": "" |
| 1423 | }, |
| 1424 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1425 | "lang": "en", |
| 1426 | "group": "", |
| 1427 | "tags": [], |
| 1428 | "url": "https://support.google.com/googleplay/android-developer/answer/113476", |
| 1429 | "timestamp": 1194884220000, |
| 1430 | "image": "images/play_dev.jpg", |
| 1431 | "title": "Updates", |
| 1432 | "summary": "Requirements for app updates in Google Play.", |
| 1433 | "keywords": [], |
| 1434 | "type": "guide", |
| 1435 | "titleFriendly": "" |
| 1436 | }, |
| 1437 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1438 | "lang": "zh-cn", |
| 1439 | "group": "", |
| 1440 | "tags": [], |
| 1441 | "url": "https://support.google.com/googleplay/android-developer/answer/113476?hl=zh-Hans", |
| 1442 | "timestamp": 1194884220000, |
| 1443 | "image": "images/play_dev.jpg", |
| 1444 | "title": "更新应用", |
| 1445 | "summary": "更新Google Play应用的要求。", |
| 1446 | "keywords": [], |
| 1447 | "type": "guide", |
| 1448 | "titleFriendly": "" |
| 1449 | }, |
| 1450 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1451 | "lang": "en", |
| 1452 | "group": "", |
| 1453 | "tags": [], |
| 1454 | "url": "https://support.google.com/googleplay/android-developer/answer/1153479", |
| 1455 | "timestamp": 1194884220000, |
| 1456 | "image": null, |
| 1457 | "title": "In-app Billing", |
| 1458 | "summary": "Help Center document describing how to correctly set up In-app Billing.", |
| 1459 | "keywords": [], |
| 1460 | "type": "guide", |
| 1461 | "titleFriendly": "" |
| 1462 | }, |
| 1463 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1464 | "lang": "zh-cn", |
| 1465 | "group": "", |
| 1466 | "tags": [], |
| 1467 | "url": "https://support.google.com/googleplay/android-developer/answer/1153479?hl=zh-Hans", |
| 1468 | "timestamp": 1194884220000, |
| 1469 | "image": null, |
| 1470 | "title": "应用内结算", |
| 1471 | "summary": "如何正确设置应用内商品和订阅结算。", |
| 1472 | "keywords": [], |
| 1473 | "type": "guide", |
| 1474 | "titleFriendly": "" |
| 1475 | }, |
| 1476 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1477 | "lang": "en", |
| 1478 | "group": "", |
| 1479 | "tags": [ |
| 1480 | "#gpfe", |
| 1481 | "#googleplay" |
| 1482 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1483 | "url": "https://youtu.be/vzvpcEffvaE", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1484 | "timestamp": 1383243492000, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1485 | "image": "https://i1.ytimg.com/vi/vzvpcEffvaE/maxresdefault.jpg", |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 1486 | "title": "Introducing Tablets with Google Play for Education", |
| 1487 | "summary": "Schools in Hillsborough, New Jersey were among the first to try out Nexus 7 tablets with Google Play for Education. See the difference it made for students, teachers, and administrators.", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1488 | "keywords": [], |
Robert Ly | 7298a3f | 2014-07-14 14:12:13 -0700 | [diff] [blame] | 1489 | "type": "video", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1490 | "titleFriendly": "" |
| 1491 | }, |
| 1492 | { |
| 1493 | "lang": "en", |
| 1494 | "group": "", |
| 1495 | "tags": [ |
| 1496 | "#engagement", |
| 1497 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1498 | "url": "https://www.youtube.com/yt/dev/", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1499 | "timestamp": 1383243492000, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1500 | "image": "https://www.youtube.com/yt/dev/media/images/yt-dev-home-hero.jpg", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1501 | "title": "YouTube for Developers", |
| 1502 | "summary": "The YouTube APIs and Tools enable you to integrate YouTube's video content and functionality into your website, app, or device.", |
| 1503 | "keywords": [], |
| 1504 | "type": "youtube", |
| 1505 | "titleFriendly": "" |
| 1506 | }, |
| 1507 | { |
| 1508 | "lang": "en", |
| 1509 | "group": "", |
| 1510 | "tags": [ |
| 1511 | "#engagement", |
| 1512 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1513 | "url": "https://www.google.com/analytics/mobile/", |
Dirk Dougherty | bdcd6fc | 2014-06-10 14:35:17 -0700 | [diff] [blame] | 1514 | "timestamp": 1383243492000, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 1515 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1516 | "title": "Mobile App Analytics", |
Dirk Dougherty | bdcd6fc | 2014-06-10 14:35:17 -0700 | [diff] [blame] | 1517 | "summary": "Mobile App Analytics measures what matters most at all key stages: from first discovery and download to in-app purchases. ", |
| 1518 | "keywords": ["analytics,user behavior"], |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1519 | "type": "Guide", |
Dirk Dougherty | bdcd6fc | 2014-06-10 14:35:17 -0700 | [diff] [blame] | 1520 | "titleFriendly": "" |
| 1521 | }, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1522 | |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1523 | |
| 1524 | { |
| 1525 | "lang": "en", |
| 1526 | "group": "", |
| 1527 | "tags": [ |
| 1528 | "#gcm", |
| 1529 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1530 | "url": "https://www.youtube.com/watch?v=y76rjidm8cU", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1531 | "timestamp": 1383243492000, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1532 | "image": "https://1.bp.blogspot.com/-IF-1-1kA0sg/UYwTidxdi3I/AAAAAAAAAEU/ellLeQ-E1vs/s800/google-io-lockup-2.png", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1533 | "title": "Google Cloud Messaging at I/O 2013", |
| 1534 | "summary": "Google Cloud Messaging allows your services to efficiently send data to applications on Android devices. See what's new, and learn how to use GCM to make your apps more efficient.", |
| 1535 | "keywords": ["gcm"], |
| 1536 | "type": "youtube", |
| 1537 | "titleFriendly": "" |
| 1538 | }, |
| 1539 | { |
| 1540 | "lang": "en", |
| 1541 | "group": "", |
| 1542 | "tags": [ |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1543 | "#gcm", |
| 1544 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1545 | "url": "https://developer.chrome.com/apps/cloudMessagingV2", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1546 | "timestamp": 1383243492000, |
| 1547 | "image": "images/kk-chromium-icon.png", |
| 1548 | "title": "Google Cloud Messaging for Chrome", |
| 1549 | "summary": "Google Cloud Messaging for Chrome (GCM) is a service for signed-in Chrome users that helps developers send message data from servers to their Chrome apps and extensions.", |
| 1550 | "keywords": ["gcm"], |
| 1551 | "type": "guide", |
| 1552 | "titleFriendly": "" |
| 1553 | }, |
| 1554 | |
| 1555 | { |
| 1556 | "lang": "en", |
| 1557 | "group": "", |
| 1558 | "tags": [ |
| 1559 | "#sdkupdates" |
| 1560 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1561 | "url": "https://android-developers.blogspot.com/2013/07/making-beautiful-android-app-icons.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1562 | "timestamp": 1194884220000, |
| 1563 | "image": null, |
| 1564 | "title": "Make Beautiful Android App Icons", |
| 1565 | "summary": "Follow these in-depth launcher icon tips on the Android Developers blog.", |
| 1566 | "keywords": [], |
| 1567 | "type": "blog", |
| 1568 | "titleFriendly": "" |
| 1569 | }, |
| 1570 | { |
| 1571 | "lang": "en", |
| 1572 | "group": "", |
| 1573 | "tags": [ |
| 1574 | "#sdkupdates" |
| 1575 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1576 | "url": "https://android-developers.blogspot.com/2012/12/localize-your-promotional-graphics-on.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1577 | "timestamp": 1194884220000, |
| 1578 | "image": null, |
| 1579 | "title": "Localize Your Promotional Graphics", |
| 1580 | "summary": "Learn how to capitalise on international audiences.", |
| 1581 | "keywords": [], |
| 1582 | "type": "blog", |
| 1583 | "titleFriendly": "" |
| 1584 | }, |
| 1585 | { |
| 1586 | "lang": "en", |
| 1587 | "group": "", |
| 1588 | "tags": [ |
| 1589 | "#sdkupdates" |
| 1590 | ], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1591 | "url": "https://android-developers.blogspot.com/2013/10/making-your-app-content-more-accessible.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1592 | "timestamp": 1194884220000, |
| 1593 | "image": null, |
| 1594 | "title": "Make your App Content more Accessible with App Linking", |
| 1595 | "summary": "About using search and deep linking to get more users.", |
| 1596 | "keywords": [], |
| 1597 | "type": "blog", |
| 1598 | "titleFriendly": "" |
| 1599 | }, |
| 1600 | { |
| 1601 | "lang": "en", |
| 1602 | "group": "", |
| 1603 | "tags": [], |
| 1604 | "url": "https://developers.google.com/+/mobile/android/share/interactive-post", |
| 1605 | "timestamp": 1194884220000, |
| 1606 | "image": 'images/google/gps-googleplus.png', |
| 1607 | "title": "Sharing interactive posts to Google+ from your Android app", |
| 1608 | "summary": "Interactive posts provide an easy and prominent way to allow users to share your site or app with their friends and invite them to take a specific action.", |
| 1609 | "keywords": ["Interactive", "Google+"], |
| 1610 | "type": "guide", |
| 1611 | "titleFriendly": "" |
| 1612 | }, |
| 1613 | { |
| 1614 | "lang": "en", |
| 1615 | "group": "", |
| 1616 | "tags": [], |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1617 | "url": "https://developers.google.com/+/mobile/android/", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 1618 | "timestamp": 1194884220000, |
| 1619 | "image": 'images/google/gps-googleplus.png', |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1620 | "title": "Google+ Platform", |
| 1621 | "summary": "Find out about features such as interactive posts, Hangouts, accessing basic user details and their social graphs to make your app more personal.", |
| 1622 | "keywords": ["Google+"], |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 1623 | "type": "guide", |
| 1624 | "titleFriendly": "" |
| 1625 | }, |
| 1626 | { |
| 1627 | "lang": "en", |
| 1628 | "group": "", |
| 1629 | "tags": [], |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1630 | "url": "https://support.google.com/googleplay/android-developer/answer/2528691", |
| 1631 | "timestamp": 1194884220000, |
| 1632 | "image": "images/play_dev.jpg", |
| 1633 | "title": "How to add multiple user accounts to your Developer Console for testing and more.", |
| 1634 | "summary": "", |
| 1635 | "keywords": [], |
| 1636 | "type": "guide", |
| 1637 | "titleFriendly": "" |
| 1638 | }, |
| 1639 | { |
| 1640 | "lang": "en", |
| 1641 | "group": "", |
| 1642 | "tags": [], |
| 1643 | "url": "https://developers.google.com/+/mobile/android/share/deep-link", |
| 1644 | "timestamp": 1194884220000, |
| 1645 | "image": null, |
| 1646 | "title": "Adding deep linking to Google+ posts shared from your Android app", |
| 1647 | "summary": "", |
| 1648 | "keywords": [], |
| 1649 | "type": "guide", |
| 1650 | "titleFriendly": "" |
| 1651 | }, |
| 1652 | { |
| 1653 | "lang": "en", |
| 1654 | "group": "", |
| 1655 | "tags": [], |
| 1656 | "url": "google/play/licensing/index.html", |
| 1657 | "timestamp": 1194884220000, |
| 1658 | "image": null, |
| 1659 | "title": "Application Licensing", |
| 1660 | "summary": "Information on the features of Google Play to protect your apps’ licences.", |
| 1661 | "keywords": [], |
| 1662 | "type": "guide", |
| 1663 | "titleFriendly": "" |
| 1664 | }, |
| 1665 | { |
| 1666 | "lang": "en", |
| 1667 | "group": "", |
| 1668 | "tags": [], |
| 1669 | "url": "design/style/writing.html", |
| 1670 | "timestamp": 1194884220000, |
| 1671 | "image": null, |
| 1672 | "title": "Writing Style", |
| 1673 | "summary": "Android Design guidelines for voice and style in your UI.", |
| 1674 | "keywords": [], |
| 1675 | "type": "guide", |
| 1676 | "titleFriendly": "" |
| 1677 | }, |
| 1678 | { |
| 1679 | "lang": "en", |
| 1680 | "group": "", |
| 1681 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1682 | "url": "https://en.wikipedia.org/wiki/XLIFF", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1683 | "timestamp": 1194884220000, |
| 1684 | "image": null, |
| 1685 | "title": "XML Localisation Interchange File Format (XLIFF)", |
| 1686 | "summary": "Background information on XLIFF.", |
| 1687 | "keywords": [], |
| 1688 | "type": "guide", |
| 1689 | "titleFriendly": "" |
| 1690 | }, |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1691 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1692 | "lang": "en", |
| 1693 | "group": "", |
| 1694 | "tags": [], |
| 1695 | "url": "https://support.google.com/googleplay/android-developer/answer/1078870", |
| 1696 | "timestamp": 1194884220000, |
| 1697 | "image": "images/play_dev.jpg", |
| 1698 | "title": "Graphic Assets for your Application", |
| 1699 | "summary": "Details about the graphics you can add to your product listing.", |
| 1700 | "keywords": [], |
| 1701 | "type": "guide", |
| 1702 | "titleFriendly": "" |
| 1703 | }, |
| 1704 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1705 | "lang": "zh-cn", |
| 1706 | "group": "", |
| 1707 | "tags": [], |
| 1708 | "url": "https://support.google.com/googleplay/android-developer/answer/1078870?hl=zh-Hans", |
| 1709 | "timestamp": 1194884220000, |
| 1710 | "image": "images/play_dev.jpg", |
| 1711 | "title": "为你的应用的图片资源", |
| 1712 | "summary": "如何在你的应用的商品详情页面上添加图片资源。", |
| 1713 | "keywords": [], |
| 1714 | "type": "guide", |
| 1715 | "titleFriendly": "" |
| 1716 | }, |
| 1717 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1718 | "lang": "en", |
| 1719 | "group": "", |
| 1720 | "tags": [], |
| 1721 | "url": "https://support.google.com/payments/answer/2741495", |
| 1722 | "timestamp": null, |
| 1723 | "image": null, |
| 1724 | "title": "Issuing Refunds", |
| 1725 | "summary": "Help Center document describing how to issue refunds.", |
| 1726 | "keywords": [], |
| 1727 | "type": "guide", |
| 1728 | "titleFriendly": "" |
| 1729 | }, |
| 1730 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1731 | "lang": "zh-cn", |
| 1732 | "group": "", |
| 1733 | "tags": [], |
| 1734 | "url": "https://support.google.com/payments/answer/2741495?hl=zh-Hans", |
| 1735 | "timestamp": null, |
| 1736 | "image": null, |
| 1737 | "title": "退回訂單款項", |
| 1738 | "summary": "如何退还已收取的订单款项。", |
| 1739 | "keywords": [], |
| 1740 | "type": "guide", |
| 1741 | "titleFriendly": "" |
| 1742 | }, |
| 1743 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1744 | "lang": "en", |
| 1745 | "group": "", |
| 1746 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1747 | "url": "https://android-developers.blogspot.com/2013/11/bring-your-apps-into-classroom-with.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1748 | "timestamp": null, |
| 1749 | "image": "distribute/images/gp-edu-apps-image.jpg", |
| 1750 | "title": "Google play for education", |
| 1751 | "summary": " ", |
| 1752 | "keywords": [], |
| 1753 | "type": "distribute", |
| 1754 | "titleFriendly": "" |
| 1755 | }, |
| 1756 | { |
| 1757 | "lang": "en", |
| 1758 | "group": "", |
| 1759 | "tags": ["localization", "pricing", "developer support"], |
| 1760 | "url": "https://support.google.com/googleplay/android-developer/table/3541286", |
| 1761 | "timestamp": null, |
| 1762 | "image": "images/play_dev.jpg", |
| 1763 | "title": "Supported locations for distributing your apps in Google Play", |
| 1764 | "summary": "Countries and regions where you can distribute your app in Google Play.", |
| 1765 | "keywords": [], |
| 1766 | "type": "distribute", |
| 1767 | "titleFriendly": "" |
| 1768 | }, |
| 1769 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1770 | "lang": "zh-cn", |
| 1771 | "group": "", |
| 1772 | "tags": ["localization", "pricing", "developer support"], |
| 1773 | "url": "https://support.google.com/googleplay/android-developer/table/3541286?hl=zh-Hans", |
| 1774 | "timestamp": null, |
| 1775 | "image": "images/play_dev.jpg", |
| 1776 | "title": "支持向Google Play用户发布应用的地区", |
| 1777 | "summary": "支持向Google Play用户发布应用的国家/地区。", |
| 1778 | "keywords": [], |
| 1779 | "type": "distribute", |
| 1780 | "titleFriendly": "" |
| 1781 | }, |
| 1782 | { |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1783 | "lang": "en", |
| 1784 | "group": "", |
| 1785 | "tags": ["games", "localization", "quality"], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1786 | "url": "https://www.youtube.com/watch?v=SkHHPf3EdzE", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1787 | "timestamp": null, |
| 1788 | "image": "https://developers.google.com/apps/images/io_2013/google-io-logo.png", |
| 1789 | "title": "Level Up Your Android Game", |
| 1790 | "summary": "Learn how to take your game to the next level in this Google I/O session.", |
| 1791 | "keywords": [], |
| 1792 | "type": "distribute", |
| 1793 | "titleFriendly": "" |
| 1794 | }, |
| 1795 | { |
| 1796 | "lang": "en", |
| 1797 | "group": "", |
| 1798 | "tags": ["support"], |
| 1799 | "url": "https://support.google.com/groups/answer/46601", |
| 1800 | "timestamp": null, |
| 1801 | "image": null, |
| 1802 | "title": "Google Groups", |
| 1803 | "summary": "Create a group for your community.", |
| 1804 | "keywords": [], |
| 1805 | "type": "distribute", |
| 1806 | "titleFriendly": "" |
| 1807 | }, |
| 1808 | { |
| 1809 | "lang": "en", |
| 1810 | "group": "", |
| 1811 | "tags": ["support"], |
| 1812 | "url": "https://support.google.com/plus/topic/2888488", |
| 1813 | "timestamp": null, |
| 1814 | "image": null, |
| 1815 | "title": "Google+ Communities", |
| 1816 | "summary": "Host a Google+ community for testers or users.", |
| 1817 | "keywords": [], |
| 1818 | "type": "distribute", |
| 1819 | "titleFriendly": "" |
| 1820 | }, |
| 1821 | { |
| 1822 | "lang": "en", |
| 1823 | "group": "", |
| 1824 | "tags": ["monetize", "ads"], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1825 | "url": "https://www.google.com/doubleclick/publishers/small-business/index.html", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1826 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1827 | "image": "https://www.google.com/doubleclick/publishers/small-business/images/define_ad.png", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1828 | "title": "DoubleClick for Publishers", |
| 1829 | "summary": "A free ad management solution that helps growing publishers sell, schedule, deliver, and measure all of their digital ad inventory.", |
| 1830 | "keywords": ["ads"], |
| 1831 | "type": "distribute", |
| 1832 | "titleFriendly": "" |
| 1833 | }, |
| 1834 | { |
| 1835 | "lang": "en", |
| 1836 | "group": "", |
| 1837 | "tags": ["monetize", "ads"], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1838 | "url": "https://support.google.com/googleplay/android-developer/topic/2985714", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1839 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1840 | "image":"images/play_dev.jpg", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1841 | "title": "Policy Center: Ads", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1842 | "summary": "Introduction to ads and system interference policies in Google Play.", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1843 | "keywords": ["ads"], |
| 1844 | "type": "distribute", |
| 1845 | "titleFriendly": "" |
| 1846 | }, |
| 1847 | { |
| 1848 | "lang": "en", |
| 1849 | "group": "", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1850 | "tags": [], |
| 1851 | "url": "https://support.google.com/analytics/answer/2611404", |
| 1852 | "timestamp": null, |
| 1853 | "image": "images/cards/analytics-mobile_2x.jpg", |
| 1854 | "title": "Create Audience lists in Google Analytics", |
| 1855 | "summary": "Find out how to use your analytics data to discover high value users and create remarketing audiences to use in AdMob.", |
| 1856 | "keywords": ["ads, analytics, monetize"], |
| 1857 | "type": "distribute", |
| 1858 | "titleFriendly": "" |
| 1859 | }, |
| 1860 | { |
| 1861 | "lang": "en", |
| 1862 | "group": "", |
| 1863 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1864 | "url": "https://admob.blogspot.com/", |
Dirk Dougherty | c85bf85 | 2015-05-24 19:56:35 -0700 | [diff] [blame] | 1865 | "timestamp": null, |
| 1866 | "image": "images/cards/analytics-mobile_2x.jpg", |
| 1867 | "title": "Inside Admob", |
| 1868 | "summary": "Google’s official blog for news, tips, and information on the AdMob developer platform.", |
| 1869 | "keywords": ["ads, analytics, monetize"], |
| 1870 | "type": "distribute", |
| 1871 | "titleFriendly": "" |
| 1872 | }, |
| 1873 | { |
| 1874 | "lang": "en", |
| 1875 | "group": "", |
| 1876 | "tags": [], |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1877 | "url": "https://support.google.com/admob/answer/3111064", |
| 1878 | "timestamp": null, |
| 1879 | "image": "distribute/images/advertising.jpg", |
| 1880 | "title": "AdMob in-app conversion tracking", |
| 1881 | "summary": "Use in-app conversion tracking to attribute revenue back to your IAP promotion campaigns and determine which ones earn you the most.", |
| 1882 | "keywords": ["ads, analytics, conversions"], |
| 1883 | "type": "distribute", |
| 1884 | "titleFriendly": "" |
| 1885 | }, |
| 1886 | { |
| 1887 | "lang": "en", |
| 1888 | "group": "", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1889 | "tags": ["monetize", "giftcards"], |
| 1890 | "url": "https://play.google.com/about/giftcards/", |
| 1891 | "timestamp": null, |
| 1892 | "image": "images/gp-balance.png", |
| 1893 | "title": "Google Play Gift Cards", |
| 1894 | "summary": "Buy Google Play gift cards online or at a variety of retail stores.", |
| 1895 | "keywords": ["gift card"], |
| 1896 | "type": "distribute", |
| 1897 | "titleFriendly": "" |
| 1898 | }, |
| 1899 | { |
| 1900 | "lang": "en", |
| 1901 | "group": "", |
| 1902 | "tags": ["monetize", "paymentmethods"], |
| 1903 | "url": "https://support.google.com/googleplay/answer/2651410", |
| 1904 | "timestamp": null, |
| 1905 | "image": "images/play_dev.jpg", |
| 1906 | "title": "Google Play Accepted Payment Methods", |
| 1907 | "summary": "Support details on the payment methods supported in Google Play.", |
| 1908 | "keywords": ["gift card"], |
| 1909 | "type": "distribute", |
| 1910 | "titleFriendly": "" |
| 1911 | }, |
| 1912 | { |
| 1913 | "lang": "en", |
| 1914 | "group": "", |
| 1915 | "tags": ["plus", "social"], |
| 1916 | "url": "https://plus.google.com/+AndroidDevelopers/", |
| 1917 | "timestamp": null, |
| 1918 | "image": "images/plus.jpg", |
| 1919 | "title": "+Android Developers", |
| 1920 | "summary": "Sharing news, ideas, and techniques for success.", |
| 1921 | "keywords": ["+AndroidDevelopers"], |
| 1922 | "type": "Google+", |
| 1923 | "titleFriendly": "" |
| 1924 | }, |
| 1925 | { |
| 1926 | "lang": "en", |
| 1927 | "group": "", |
| 1928 | "tags": ["plus", "social"], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1929 | "url": "https://plus.google.com/+GooglePlay", |
Dirk Dougherty | 3506ac8 | 2014-02-21 11:15:52 -0800 | [diff] [blame] | 1930 | "timestamp": null, |
| 1931 | "image": "https://lh4.googleusercontent.com/-IKezweZlcXI/AAAAAAAAAAI/AAAAAAABOvg/uK8Z0jekVE4/s120-c/photo.jpg", |
| 1932 | "title": "+Google Play", |
| 1933 | "summary": "News and discussion about Google Play, apps, and other content in Google+.", |
| 1934 | "keywords": ["+GooglePlay"], |
| 1935 | "type": "Google+", |
| 1936 | "titleFriendly": "" |
| 1937 | }, |
| 1938 | { |
| 1939 | "lang": "en", |
| 1940 | "group": "", |
| 1941 | "tags": ["support", "android"], |
| 1942 | "url": "support.html", |
| 1943 | "timestamp": null, |
| 1944 | "image": null, |
| 1945 | "title": "Developer Support", |
| 1946 | "summary": "Links to community and support resources for Android developers.", |
| 1947 | "keywords": ["support"], |
| 1948 | "type": "Google+", |
| 1949 | "titleFriendly": "" |
| 1950 | }, |
Dirk Dougherty | bdcd6fc | 2014-06-10 14:35:17 -0700 | [diff] [blame] | 1951 | { |
| 1952 | "lang": "en", |
| 1953 | "group": "", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 1954 | "tags": [], |
Dirk Dougherty | bdcd6fc | 2014-06-10 14:35:17 -0700 | [diff] [blame] | 1955 | "url": "https://developers.google.com/analytics/devguides/collection/android/", |
| 1956 | "timestamp": null, |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 1957 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 1958 | "title": "Mobile App Analytics SDK", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 1959 | "summary": "Measure everything about your app. Get started with the Google Analytics SDK for Android.", |
Dirk Dougherty | bdcd6fc | 2014-06-10 14:35:17 -0700 | [diff] [blame] | 1960 | "keywords": ["analytics, user behavior"], |
| 1961 | "type": "sdk", |
| 1962 | "titleFriendly": "" |
smain@google.com | 941f800 | 2014-06-18 16:13:56 -0700 | [diff] [blame] | 1963 | }, |
| 1964 | { |
| 1965 | "lang": "en", |
| 1966 | "group": "", |
| 1967 | "tags": [], |
| 1968 | "url": "https://developers.google.com/edu/guidelines", |
| 1969 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1970 | "image": "https://developer.android.com/distribute/images/edu-guidelines.jpg", |
smain@google.com | 941f800 | 2014-06-18 16:13:56 -0700 | [diff] [blame] | 1971 | "title": "Education Guidelines", |
| 1972 | "summary": "These guidelines and requirements help you develop great apps for students, which offer compelling content and an intuitive user experience on Android tablets.", |
| 1973 | "keywords": [], |
| 1974 | "type": "", |
| 1975 | "titleFriendly": "" |
| 1976 | }, |
| 1977 | { |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1978 | "lang": "zh-cn", |
| 1979 | "group": "", |
| 1980 | "tags": [], |
| 1981 | "url": "https://developers.google.com/edu/guidelines?hl=zh-Hans", |
| 1982 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1983 | "image": "https://developer.android.com/distribute/images/edu-guidelines.jpg", |
Dirk Dougherty | a79acc0 | 2014-11-14 19:19:18 -0800 | [diff] [blame] | 1984 | "title": "Education Guidelines", |
| 1985 | "summary": "These guidelines and requirements help you develop great apps for students, which offer compelling content and an intuitive user experience on Android tablets.", |
| 1986 | "keywords": [], |
| 1987 | "type": "", |
| 1988 | "titleFriendly": "" |
| 1989 | }, |
| 1990 | { |
smain@google.com | 941f800 | 2014-06-18 16:13:56 -0700 | [diff] [blame] | 1991 | "lang": "en", |
| 1992 | "group": "", |
| 1993 | "tags": [], |
| 1994 | "url": "https://developers.google.com/edu/faq", |
| 1995 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 1996 | "image": "https://developer.android.com/distribute/images/gpfe-faq.jpg", |
smain@google.com | 941f800 | 2014-06-18 16:13:56 -0700 | [diff] [blame] | 1997 | "title": "Education FAQ", |
| 1998 | "summary": "Answers to common questions you might have about Google Play for Education.", |
| 1999 | "keywords": [], |
| 2000 | "type": "", |
| 2001 | "titleFriendly": "" |
| 2002 | }, |
| 2003 | { |
| 2004 | "lang": "en", |
| 2005 | "group": "", |
| 2006 | "tags": [], |
| 2007 | "url": "https://developers.google.com/edu/", |
| 2008 | "timestamp": null, |
smain@google.com | f4787f4 | 2014-06-24 12:35:31 -0700 | [diff] [blame] | 2009 | "image": "https://developers.google.com/edu/images/home-android.png", |
smain@google.com | 941f800 | 2014-06-18 16:13:56 -0700 | [diff] [blame] | 2010 | "title": "Chrome Apps in Google Play for Education", |
| 2011 | "summary": "Find out more about Chrome apps in Google Play for Education.", |
| 2012 | "keywords": [], |
| 2013 | "type": "", |
| 2014 | "titleFriendly": "" |
| 2015 | }, |
| 2016 | { |
| 2017 | "lang": "en", |
| 2018 | "group": "", |
| 2019 | "tags": [], |
| 2020 | "url": "https://www.google.com/edu/tablets/#tablets-family", |
| 2021 | "timestamp": null, |
| 2022 | "image": "https://www.google.com/edu/images/tablets/big-tablet.png", |
| 2023 | "title": "Google Play for Education Tablets", |
| 2024 | "summary": "Google Play for Education leverages a diverse set up tablets approved for the classroom which may help inform you how to build educational apps.", |
| 2025 | "keywords": [], |
| 2026 | "type": "", |
| 2027 | "titleFriendly": "" |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2028 | }, |
| 2029 | { |
| 2030 | "lang": "en", |
| 2031 | "group": "", |
| 2032 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2033 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_Deerhunter2014_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2034 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2035 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_Deerhunter2014_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2036 | "title": "Deer Hunter 2014 by Glu — Sign-in", |
| 2037 | "summary": "Glu finds that Google Play Game Services helps improve the user experience which leads to increased player happiness. They also find that Play Games Services signed in users tend to play longer and have a higher lifetime value.", |
| 2038 | "keywords": ["stories"], |
| 2039 | "type": "Case Study Deck", |
| 2040 | "titleFriendly": "" |
| 2041 | }, |
| 2042 | { |
| 2043 | "lang": "en", |
| 2044 | "group": "", |
| 2045 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2046 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/ConcreteSoftware_PBABowling_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2047 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2048 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/ConcreteSoftware_PBABowling_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2049 | "title": "PBA® Bowling Challenge by Concrete Software — Quests", |
| 2050 | "summary": "Concrete Software finds that Google Play Game Services' quests are a great way to create new content for users that leads to higher engagement.", |
| 2051 | "keywords": ["stories"], |
| 2052 | "type": "Case Study Deck", |
| 2053 | "titleFriendly": "" |
| 2054 | }, |
| 2055 | { |
| 2056 | "lang": "en", |
| 2057 | "group": "", |
| 2058 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2059 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Dragonplay_DragonplaySlots_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2060 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2061 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Dragonplay_DragonplaySlots_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2062 | "title": "Dragonplay Slots by Dragonplay — Sign-in", |
| 2063 | "summary": "Dragonplay finds that players who sign in with Google Play Games services tend to be high quality users who were highly engaged. They also tend to be easier to convert to paying users.", |
| 2064 | "keywords": ["stories"], |
| 2065 | "type": "Case Study Deck", |
| 2066 | "titleFriendly": "" |
| 2067 | }, |
| 2068 | { |
| 2069 | "lang": "en", |
| 2070 | "group": "", |
| 2071 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2072 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Gameloft_Asphalt8_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2073 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2074 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Gameloft_Asphalt8_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2075 | "title": "Asphalt 8 by Gameloft — Friends invitations", |
| 2076 | "summary": "Gameloft finds that Google Play Game Services users are more engaged than the average Android user and more likely to convert to paying players.", |
| 2077 | "keywords": ["stories"], |
| 2078 | "type": "Case Study Deck", |
| 2079 | "titleFriendly": "" |
| 2080 | }, |
| 2081 | { |
| 2082 | "lang": "en", |
| 2083 | "group": "", |
| 2084 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2085 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_EternityWarriors3_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2086 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2087 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_EternityWarriors3_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2088 | "title": "Eternity Warriors 3 by Glu — Gifting", |
| 2089 | "summary": "Glu finds that Google Play Game Services gifting outperforms other implementations (including those with incentives) because of its seamless flow and consistent performance.", |
| 2090 | "keywords": ["stories"], |
| 2091 | "type": "Case Study Deck", |
| 2092 | "titleFriendly": "" |
| 2093 | }, |
| 2094 | { |
| 2095 | "lang": "en", |
| 2096 | "group": "", |
| 2097 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2098 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/HotheadGames_RivalsatWar_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2099 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2100 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/HotheadGames_RivalsatWar_gpgs.jpg", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2101 | "title": "Rivals at War: Firefight by Hothead Games — Leaderboards", |
| 2102 | "summary": "Hothead Games is planning to include Google Play Game Services features in all their games going forwards after seeing that players that signed in with Play Games Services tend to show higher retention and a higher average revenue.", |
| 2103 | "keywords": ["stories"], |
| 2104 | "type": "Case Study Deck", |
| 2105 | "titleFriendly": "" |
| 2106 | }, |
| 2107 | { |
| 2108 | "lang": "en", |
| 2109 | "group": "", |
| 2110 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2111 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TMSOFT_Compulsive_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2112 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2113 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TMSOFT_Compulsive_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2114 | "title": "Compulsive by TMSOFT — Cross-platform", |
| 2115 | "summary": "TMSOFT finds that users who authenticate with Play Games Services on Android and iOS play Compulsive twice as much and purchase in-app products over four times as much.", |
| 2116 | "keywords": ["stories"], |
| 2117 | "type": "Case Study Deck", |
| 2118 | "titleFriendly": "" |
| 2119 | }, |
| 2120 | { |
| 2121 | "lang": "en", |
| 2122 | "group": "", |
| 2123 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2124 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Noodlecake_SuperStickmanGolf2_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2125 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2126 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Noodlecake_SuperStickmanGolf2_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2127 | "title": "Super Stickman Golf 2 by Noodlecake Studios — Multiplayer", |
| 2128 | "summary": "Noodlecake Studios finds that Google Play Game Services’ multiplayer feature helps reduce attrition.", |
| 2129 | "keywords": ["stories"], |
| 2130 | "type": "Case Study Deck", |
| 2131 | "titleFriendly": "" |
| 2132 | }, |
| 2133 | { |
| 2134 | "lang": "en", |
| 2135 | "group": "", |
| 2136 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2137 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TinyRebel_DoctorWhoLegacy_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2138 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2139 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TinyRebelGames_DrWhoLegacy_pgps.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2140 | "title": "Dr. Doctor Who: Legacy by Tiny Rebel Games — Achievements", |
| 2141 | "summary": "After integrating achievements and cloud services from Google Play Game Services, Tiny Rebel Games saw a dramatic increase in daily revenues as a result of an increase in daily installs and an increase in the average revenue per install.", |
| 2142 | "keywords": ["stories"], |
| 2143 | "type": "Case Study Deck", |
| 2144 | "titleFriendly": "" |
| 2145 | }, |
| 2146 | { |
| 2147 | "lang": "en", |
| 2148 | "group": "", |
| 2149 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2150 | "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Senri_LeosFortune_gpgs.pdf", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2151 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2152 | "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Senri_LeosFortune_gpgs.png", |
Dirk Dougherty | eb81afb | 2014-09-26 14:52:48 -0700 | [diff] [blame] | 2153 | "title": "Leo’s Fortune by 1337 & Senri — Saved games", |
| 2154 | "summary": "1337 + Senri finds that Google Play Game Services is easy to integrate and provides essential game functions like cloud saved games, achievements and leaderboards which have a very large adoption rate amongst players.", |
| 2155 | "keywords": ["stories"], |
| 2156 | "type": "Case Study Deck", |
| 2157 | "titleFriendly": "" |
Dirk Dougherty | 326c70e | 2014-11-05 20:14:15 -0800 | [diff] [blame] | 2158 | }, |
| 2159 | { |
| 2160 | "lang": "en", |
| 2161 | "group": "", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 2162 | "tags": ["play,protips"], |
| 2163 | "url": "shareables/distribute/secrets_play/v2/web/secrets_to_app_success_v2_en.pdf", |
| 2164 | "timestamp": 1447437450, |
| 2165 | "image": "images/distribute/secrets_v2_banner.jpg", |
Dirk Dougherty | 326c70e | 2014-11-05 20:14:15 -0800 | [diff] [blame] | 2166 | "title": "The Secrets to App Success on Google Play", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 2167 | "summary": "Get the updated guide full of useful features, tips, and best practices that will help you grow a successful app or game business on Google Play.", |
| 2168 | "keywords": ["secrets, success, play, google"], |
| 2169 | "type": "Book", |
| 2170 | "category": "distribute" |
Quddus Chong | c6aed46 | 2014-11-10 18:50:17 -0800 | [diff] [blame] | 2171 | }, |
| 2172 | { |
| 2173 | "lang": "en", |
| 2174 | "group": "", |
| 2175 | "tags": [], |
Luan Nguyen | 8662c04 | 2015-03-05 16:02:08 -0800 | [diff] [blame] | 2176 | "url": "shareables/auto/AndroidAuto-audio-apps.pdf", |
Quddus Chong | c6aed46 | 2014-11-10 18:50:17 -0800 | [diff] [blame] | 2177 | "timestamp": null, |
| 2178 | "image": "auto/images/assets/icons/media_app_playback.png", |
Luan Nguyen | 8662c04 | 2015-03-05 16:02:08 -0800 | [diff] [blame] | 2179 | "title": "Android Auto Audio Apps UI Guidelines", |
Quddus Chong | c6aed46 | 2014-11-10 18:50:17 -0800 | [diff] [blame] | 2180 | "summary": "Guidelines for designing audio apps that work with Auto. ", |
| 2181 | "keywords": ["design", "Auto", "Automotive"], |
Joe Fernandez | 66d14b5 | 2015-03-06 16:08:13 -0800 | [diff] [blame] | 2182 | "type": "Design", |
Quddus Chong | c6aed46 | 2014-11-10 18:50:17 -0800 | [diff] [blame] | 2183 | "titleFriendly": "" |
| 2184 | }, |
| 2185 | { |
| 2186 | "lang": "en", |
| 2187 | "group": "", |
| 2188 | "tags": [], |
| 2189 | "url": "shareables/auto/AndroidAuto-messaging-apps.pdf", |
| 2190 | "timestamp": null, |
| 2191 | "image": "auto/images/assets/icons/messaging_app_notifications.png", |
| 2192 | "title": "Android Auto Messaging Apps UI Guidelines", |
| 2193 | "summary": "Guidelines for designing messaging apps that work with Auto. ", |
| 2194 | "keywords": ["design", "Auto", "Automotive"], |
Joe Fernandez | 66d14b5 | 2015-03-06 16:08:13 -0800 | [diff] [blame] | 2195 | "type": "Design", |
Quddus Chong | c6aed46 | 2014-11-10 18:50:17 -0800 | [diff] [blame] | 2196 | "titleFriendly": "" |
| 2197 | }, |
| 2198 | { |
| 2199 | "lang": "en", |
| 2200 | "group": "", |
| 2201 | "tags": [], |
| 2202 | "url": "shareables/auto/AndroidAuto-custom-colors.pdf", |
| 2203 | "timestamp": null, |
Joe Fernandez | 66d14b5 | 2015-03-06 16:08:13 -0800 | [diff] [blame] | 2204 | "image": "auto/images/ui/gearhead_generic_UI.png", |
Quddus Chong | c6aed46 | 2014-11-10 18:50:17 -0800 | [diff] [blame] | 2205 | "title": "Android Auto Color Customization UI Guidelines", |
| 2206 | "summary": "Guidelines for color-customizing apps that work with Auto. ", |
| 2207 | "keywords": ["design", "Auto", "Automotive"], |
Joe Fernandez | 66d14b5 | 2015-03-06 16:08:13 -0800 | [diff] [blame] | 2208 | "type": "Design", |
Quddus Chong | c6aed46 | 2014-11-10 18:50:17 -0800 | [diff] [blame] | 2209 | "titleFriendly": "" |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2210 | }, |
| 2211 | { |
| 2212 | "lang": "en", |
| 2213 | "group": "", |
| 2214 | "tags": [], |
| 2215 | "url": "https://developers.google.com/analytics/solutions/mobile-implementation-guide", |
| 2216 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2217 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2218 | "title": "Mobile Analytics Implementation Guide", |
| 2219 | "summary": "Learn how you can implement additional Google Analytics features to better understand your users and their behavior.", |
| 2220 | "keywords": ["analytics", "Play", "users"], |
| 2221 | "type": "guide", |
| 2222 | "titleFriendly": "" |
| 2223 | }, |
| 2224 | { |
| 2225 | "lang": "en", |
| 2226 | "group": "", |
| 2227 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2228 | "url": "https://www.google.com/tagmanager/", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2229 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2230 | "image": "https://www.google.com/tagmanager/images/gtm-hero-illustration-small.png", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2231 | "title": "Google Tag Manager", |
| 2232 | "summary": "Google Tag Manager enables you to change configuration values in your mobile apps using the Google Tag Manager interface, without having to rebuild and resubmit application binaries to app marketplaces.", |
| 2233 | "keywords": ["analytics", "tagmanager"], |
| 2234 | "type": "guide", |
| 2235 | "titleFriendly": "" |
| 2236 | }, |
| 2237 | { |
| 2238 | "lang": "en", |
| 2239 | "group": "", |
| 2240 | "tags": [], |
| 2241 | "url": "https://analyticsacademy.withgoogle.com/course04", |
| 2242 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2243 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2244 | "title": "Mobile App Analytics Fundamentals", |
| 2245 | "summary": "This self-paced online course on mobile app measurement shows you how Google Analytics data can help you make your app more discoverable and profitable.", |
| 2246 | "keywords": ["analytics"], |
| 2247 | "type": "Open Source Project", |
| 2248 | "titleFriendly": "" |
| 2249 | }, |
| 2250 | { |
| 2251 | "lang": "en", |
| 2252 | "group": "", |
| 2253 | "tags": [], |
| 2254 | "url": "https://github.com/googleanalytics/google-analytics-plugin-for-unity", |
| 2255 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2256 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2257 | "title": "Analytics Plugin for Unity", |
| 2258 | "summary": "If you're building games with Unity, you can now implement Analytics once and ship it on multiple platforms automatically.", |
| 2259 | "keywords": ["analytics", "unity"], |
| 2260 | "type": "Open Source Project", |
| 2261 | "titleFriendly": "" |
| 2262 | }, |
| 2263 | { |
| 2264 | "lang": "en", |
| 2265 | "group": "", |
| 2266 | "tags": [], |
| 2267 | "url": "https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce", |
| 2268 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2269 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2270 | "title": "In-App Purchases & Ecommerce", |
| 2271 | "summary": "If your app sells virtual or real goods, ecommerce tracking can help you understand what behaviors lead to purchases.", |
| 2272 | "keywords": ["analytics, ecommerce"], |
| 2273 | "type": "Guide", |
| 2274 | "titleFriendly": "" |
| 2275 | }, |
| 2276 | { |
| 2277 | "lang": "en", |
| 2278 | "group": "", |
| 2279 | "tags": [], |
| 2280 | "url": "https://support.google.com/analytics/answer/1032415", |
| 2281 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2282 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2283 | "title": "Goals", |
| 2284 | "summary": "Track important actions in your app as goals and measure performance against your objectives.", |
| 2285 | "keywords": ["analytics"], |
| 2286 | "type": "Guide", |
| 2287 | "titleFriendly": "" |
| 2288 | }, |
| 2289 | { |
| 2290 | "lang": "en", |
| 2291 | "group": "", |
| 2292 | "tags": [], |
| 2293 | "url": "https://support.google.com/analytics/answer/2568874?ref_topic=6012392", |
| 2294 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2295 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2296 | "title": "Active Users", |
| 2297 | "summary": "The active user report displays your 1-day, 7-day, 14-day and 30-day trailing active users next to each other, to help you analyze performance over time.", |
| 2298 | "keywords": ["analytics"], |
| 2299 | "type": "Guide", |
| 2300 | "titleFriendly": "" |
| 2301 | }, |
| 2302 | { |
| 2303 | "lang": "en", |
| 2304 | "group": "", |
| 2305 | "tags": [], |
| 2306 | "url": "https://developers.google.com/analytics/devguides/collection/android/v4/events", |
| 2307 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2308 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2309 | "title": "Events", |
| 2310 | "summary": "Events let you measure granular in-app activities and understand user journeys.", |
| 2311 | "keywords": ["analytics"], |
| 2312 | "type": "Guide", |
| 2313 | "titleFriendly": "" |
| 2314 | }, |
| 2315 | { |
| 2316 | "lang": "en", |
| 2317 | "group": "", |
| 2318 | "tags": [], |
| 2319 | "url": "https://developers.google.com/analytics/devguides/collection/android/v4/customdimsmets", |
| 2320 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2321 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2322 | "title": "Custom Dimensions", |
| 2323 | "summary": "Custom dimensions enable the association of metadata with hits, users, and sessions in Google Analytics.", |
| 2324 | "keywords": ["analytics"], |
| 2325 | "type": "Guide", |
| 2326 | "titleFriendly": "" |
| 2327 | }, |
| 2328 | { |
| 2329 | "lang": "en", |
| 2330 | "group": "", |
| 2331 | "tags": [], |
| 2332 | "url": "https://developers.google.com/analytics/devguides/collection/android/v4/user-id", |
| 2333 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2334 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2335 | "title": "User ID", |
| 2336 | "summary": "The User ID feature enables Google Analytics to measure user activities that span across devices.", |
| 2337 | "keywords": ["analytics"], |
| 2338 | "type": "Guide", |
| 2339 | "titleFriendly": "" |
| 2340 | }, |
| 2341 | { |
| 2342 | "lang": "en", |
| 2343 | "group": "", |
| 2344 | "tags": [], |
| 2345 | "url": "https://developers.google.com/analytics/devguides/collection/android/v4/display-features", |
| 2346 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2347 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2348 | "title": "Demographic Reporting", |
| 2349 | "summary": "By enabling display features, you can see just how different user segments engage and monetize.", |
| 2350 | "keywords": ["analytics"], |
| 2351 | "type": "Guide", |
| 2352 | "titleFriendly": "" |
| 2353 | }, |
| 2354 | { |
| 2355 | "lang": "en", |
| 2356 | "group": "", |
| 2357 | "tags": [], |
| 2358 | "url": "https://support.google.com/analytics/answer/3123906", |
| 2359 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2360 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2361 | "title": "User Segmentation", |
| 2362 | "summary": "Segments let you compare metrics for different subsets of users to identify trends and opportunities for your apps.", |
| 2363 | "keywords": ["analytics"], |
| 2364 | "type": "Guide", |
| 2365 | "titleFriendly": "" |
| 2366 | }, |
| 2367 | { |
| 2368 | "lang": "en", |
| 2369 | "group": "", |
| 2370 | "tags": [], |
| 2371 | "url": "https://developers.google.com/analytics/devguides/collection/android/v4/campaigns", |
| 2372 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2373 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2374 | "title": "Campaign Tracking", |
| 2375 | "summary": "Measuring campaigns in Google Analytics enables the attribution of campaigns and traffic sources to user activity within your app.", |
| 2376 | "keywords": ["analytics"], |
| 2377 | "type": "Guide", |
| 2378 | "titleFriendly": "" |
| 2379 | }, |
| 2380 | { |
| 2381 | "lang": "en", |
| 2382 | "group": "", |
| 2383 | "tags": [], |
| 2384 | "url": "https://support.google.com/analytics/answer/2956981", |
| 2385 | "timestamp": null, |
| 2386 | "image": "images/play_dev.jpg", |
| 2387 | "title": "Google Play Integration", |
| 2388 | "summary": "By linking Analytics and the Play Developer Console, you can gain additional insights into the acquisition flow.", |
| 2389 | "keywords": ["play, analytics"], |
| 2390 | "type": "Guide", |
| 2391 | "titleFriendly": "" |
| 2392 | }, |
| 2393 | { |
| 2394 | "lang": "en", |
| 2395 | "group": "", |
| 2396 | "tags": [], |
| 2397 | "url": "https://support.google.com/analytics/answer/1033961", |
| 2398 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2399 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2400 | "title": "AdWords Integration", |
| 2401 | "summary": "Link Analytics and AdWords to see the entire picture of customer behavior, from ad click or impression through your site to conversion. ", |
| 2402 | "keywords": ["adwords, analytics"], |
| 2403 | "type": "Guide", |
| 2404 | "titleFriendly": "" |
| 2405 | }, |
| 2406 | { |
| 2407 | "lang": "en", |
| 2408 | "group": "", |
| 2409 | "tags": [], |
| 2410 | "url": "https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-url-builder", |
| 2411 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2412 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2413 | "title": "Campaign URL builder for Google Play", |
| 2414 | "summary": "Easily create your URLs to track install campaigns.", |
| 2415 | "keywords": ["play, analytics"], |
| 2416 | "type": "Guide", |
| 2417 | "titleFriendly": "" |
| 2418 | }, |
| 2419 | { |
| 2420 | "lang": "en", |
| 2421 | "group": "", |
| 2422 | "tags": [], |
| 2423 | "url": "https://support.google.com/tagmanager/answer/6003007", |
| 2424 | "timestamp": null, |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2425 | "image": "https://www.google.com/tagmanager/images/gtm-hero-illustration-small.png", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2426 | "title": "In-App A/B Testing", |
| 2427 | "summary": "With content experiments in Google Tag Manager you can test multiple variations of your app to find which works best.", |
| 2428 | "keywords": ["tagmanager"], |
| 2429 | "type": "Guide", |
| 2430 | "titleFriendly": "" |
| 2431 | }, |
| 2432 | { |
| 2433 | "lang": "en", |
| 2434 | "group": "", |
| 2435 | "tags": [], |
| 2436 | "url": "https://support.google.com/analytics/answer/2785577", |
| 2437 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2438 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2439 | "title": "Behavior Flow", |
| 2440 | "summary": "The Behavior Flow report visualizes the path users traveled from one Screen or Event to the next. This report can help you discover what content keeps users engaged with your app.", |
| 2441 | "keywords": ["analytics"], |
| 2442 | "type": "Guide", |
| 2443 | "titleFriendly": "" |
| 2444 | }, |
| 2445 | { |
| 2446 | "lang": "en", |
| 2447 | "group": "", |
| 2448 | "tags": [], |
| 2449 | "url": "https://support.google.com/analytics/answer/1151300", |
| 2450 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2451 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2452 | "title": "Custom Reports", |
| 2453 | "summary": "Custom Reports let you create your own reports in your Google Analytics account.", |
| 2454 | "keywords": ["analytics"], |
| 2455 | "type": "Guide", |
| 2456 | "titleFriendly": "" |
| 2457 | }, |
| 2458 | { |
| 2459 | "lang": "en", |
| 2460 | "group": "", |
| 2461 | "tags": [], |
| 2462 | "url": "https://support.google.com/analytics/answer/2611268", |
| 2463 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2464 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2465 | "title": "Audience Lists & Remarketing", |
| 2466 | "summary": "Remarketing with Google Analytics lets you deliver targeted ads to users who've already been to your site or app. You can even base those ads on the behavior those users displayed during their sessions.", |
| 2467 | "keywords": ["analytics"], |
| 2468 | "type": "Guide", |
| 2469 | "titleFriendly": "" |
| 2470 | }, |
| 2471 | { |
| 2472 | "lang": "en", |
| 2473 | "group": "", |
| 2474 | "tags": [], |
| 2475 | "url": "https://support.google.com/admob/answer/3508177", |
| 2476 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2477 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2478 | "title": "AdMob Integration", |
| 2479 | "summary": "With Google Analytics in AdMob, you can view Google Analytics data for your linked apps from within your AdMob account.", |
| 2480 | "keywords": ["analytics"], |
| 2481 | "type": "Guide", |
| 2482 | "titleFriendly": "" |
| 2483 | }, |
| 2484 | { |
| 2485 | "lang": "en", |
| 2486 | "group": "", |
| 2487 | "tags": [], |
| 2488 | "url": "https://developers.google.com/analytics/solutions/mobile-campaign-deep-link", |
| 2489 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2490 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2491 | "title": "Deep-Linking", |
| 2492 | "summary": "Google Analytics gives you a full view of how returning users are interacting with your app, for a holistic view beyond the install.", |
| 2493 | "keywords": ["analytics"], |
| 2494 | "type": "Guide", |
| 2495 | "titleFriendly": "" |
| 2496 | }, |
| 2497 | { |
| 2498 | "lang": "en", |
| 2499 | "group": "", |
| 2500 | "tags": [], |
| 2501 | "url": "https://support.google.com/admob/answer/3508177", |
| 2502 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2503 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2504 | "title": "AdMob Integration", |
| 2505 | "summary": "With Google Analytics in AdMob, you can view Google Analytics data for your linked apps from within your AdMob account.", |
| 2506 | "keywords": ["analytics"], |
| 2507 | "type": "Guide", |
| 2508 | "titleFriendly": "" |
| 2509 | }, |
| 2510 | { |
| 2511 | "lang": "en", |
| 2512 | "group": "", |
| 2513 | "tags": [], |
| 2514 | "url": "https://support.google.com/analytics/answer/2568874", |
| 2515 | "timestamp": null, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2516 | "image": "images/cards/analytics-mobile_2x.jpg", |
Dirk Dougherty | 27ab5a0 | 2014-12-12 11:51:13 -0800 | [diff] [blame] | 2517 | "title": "Active User Report", |
| 2518 | "summary": "Active user report displays your 1-day, 7-day, 14-day and 30-day trailing active users next to each other, to help you run benchmark analyses of their performance over time.", |
| 2519 | "keywords": ["analytics"], |
| 2520 | "type": "Guide", |
| 2521 | "titleFriendly": "" |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 2522 | }, |
| 2523 | { |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2524 | "lang": "en", |
| 2525 | "group": "", |
| 2526 | "tags": [], |
| 2527 | "url": "https://www.google.com/design/spec/animation/", |
| 2528 | "timestamp": null, |
| 2529 | "image": "images/cards/material-animation_2x.png", |
| 2530 | "title": "Animation", |
| 2531 | "summary": "", |
| 2532 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2533 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2534 | "titleFriendly": "" |
| 2535 | }, |
| 2536 | { |
| 2537 | "lang": "en", |
| 2538 | "group": "", |
| 2539 | "tags": [], |
| 2540 | "url": "https://www.google.com/design/spec/style/", |
| 2541 | "timestamp": null, |
| 2542 | "image": "images/cards/material-style_2x.jpg", |
| 2543 | "title": "Style", |
| 2544 | "summary": "", |
| 2545 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2546 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2547 | "titleFriendly": "" |
| 2548 | }, |
| 2549 | { |
| 2550 | "lang": "en", |
| 2551 | "group": "", |
| 2552 | "tags": [], |
| 2553 | "url": "https://www.google.com/design/spec/layout/", |
| 2554 | "timestamp": null, |
| 2555 | "image": "images/cards/material-layout_2x.png", |
| 2556 | "title": "Layout", |
| 2557 | "summary": "", |
| 2558 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2559 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2560 | "titleFriendly": "" |
| 2561 | }, |
| 2562 | { |
| 2563 | "lang": "en", |
| 2564 | "group": "", |
| 2565 | "tags": [], |
| 2566 | "url": "https://www.google.com/design/spec/components/", |
| 2567 | "timestamp": null, |
| 2568 | "image": "images/cards/material-components_2x.jpg", |
| 2569 | "title": "Components", |
| 2570 | "summary": "", |
| 2571 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2572 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2573 | "titleFriendly": "" |
| 2574 | }, |
| 2575 | { |
| 2576 | "lang": "en", |
| 2577 | "group": "", |
| 2578 | "tags": [], |
| 2579 | "url": "https://www.google.com/design/spec/patterns/", |
| 2580 | "timestamp": null, |
| 2581 | "image": "images/cards/material-patterns_2x.png", |
| 2582 | "title": "Patterns", |
| 2583 | "summary": "", |
| 2584 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2585 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2586 | "titleFriendly": "" |
| 2587 | }, |
| 2588 | { |
| 2589 | "lang": "en", |
| 2590 | "group": "", |
| 2591 | "tags": [], |
| 2592 | "url": "https://www.google.com/design/spec/usability/", |
| 2593 | "timestamp": null, |
| 2594 | "image": "images/cards/material-usability_2x.png", |
| 2595 | "title": "Usability", |
| 2596 | "summary": "", |
| 2597 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2598 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2599 | "titleFriendly": "" |
| 2600 | }, |
| 2601 | { |
| 2602 | "lang": "en", |
| 2603 | "group": "", |
| 2604 | "tags": [], |
| 2605 | "url": "https://www.google.com/design/spec/resources/color-palettes.html", |
| 2606 | "timestamp": null, |
| 2607 | "image": "images/cards/material-color-palette_2x.jpg", |
| 2608 | "title": "Color Palettes", |
| 2609 | "summary": "", |
| 2610 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2611 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2612 | "titleFriendly": "" |
| 2613 | }, |
| 2614 | { |
| 2615 | "lang": "en", |
| 2616 | "group": "", |
| 2617 | "tags": [], |
| 2618 | "url": "https://www.google.com/design/spec/resources/layout-templates.html", |
| 2619 | "timestamp": null, |
| 2620 | "image": "images/cards/material-layout-template_2x.jpg", |
| 2621 | "title": "Layout Templates", |
| 2622 | "summary": "", |
| 2623 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2624 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2625 | "titleFriendly": "" |
| 2626 | }, |
| 2627 | { |
| 2628 | "lang": "en", |
| 2629 | "group": "", |
| 2630 | "tags": [], |
| 2631 | "url": "https://www.google.com/design/spec/resources/sticker-sheets-icons.html", |
| 2632 | "timestamp": null, |
| 2633 | "image": "images/cards/material-sticker-sheet_2x.jpg", |
| 2634 | "title": "Sticker Sheets & Icons", |
| 2635 | "summary": "", |
| 2636 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2637 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2638 | "titleFriendly": "" |
| 2639 | }, |
| 2640 | { |
| 2641 | "lang": "en", |
| 2642 | "group": "", |
| 2643 | "tags": [], |
| 2644 | "url": "https://www.google.com/design/spec/resources/roboto-noto-fonts.html", |
| 2645 | "timestamp": null, |
| 2646 | "image": "images/cards/material-typography_2x.jpg", |
| 2647 | "title": "Typography: Roboto and Noto Sans fonts", |
| 2648 | "summary": "", |
| 2649 | "keywords": [], |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2650 | "type": "materialdesign", |
| 2651 | "titleFriendly": "" |
| 2652 | }, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2653 | { |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 2654 | "lang": "en", |
| 2655 | "group": "", |
| 2656 | "tags": [ |
| 2657 | "icons", |
| 2658 | "material", |
| 2659 | "iconography" |
| 2660 | ], |
| 2661 | "url": "https://www.google.com/design/icons/index.html", |
| 2662 | "timestamp": null, |
| 2663 | "image": "images/cards/card-material-icons-16x9_2x.jpg", |
| 2664 | "title": "Material icon collection", |
| 2665 | "summary": "", |
| 2666 | "keywords": ["icons"], |
| 2667 | "type": "material design", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 2668 | "titleFriendly": "" |
| 2669 | }, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2670 | |
| 2671 | { |
| 2672 | "lang": "en", |
| 2673 | "group": "", |
| 2674 | "tags": [], |
| 2675 | "url": "https://support.google.com/adwords/answer/6032059", |
| 2676 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2677 | "image": "distribute/images/advertising.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2678 | "title": "Setting up Mobile App Install Ads", |
| 2679 | "summary": "With Mobile app installs campaigns on the Search and Display Networks, and TrueView for mobile app promotion on YouTube, you can create custom app install ads that run exclusively on phones and tablets.", |
| 2680 | "keywords": ["marketing", "admob"], |
| 2681 | "type": "distribute", |
| 2682 | "titleFriendly": "" |
| 2683 | }, |
| 2684 | { |
| 2685 | "lang": "en", |
| 2686 | "group": "", |
| 2687 | "tags": [], |
| 2688 | "url": "https://support.google.com/adwords/answer/6167164", |
| 2689 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2690 | "image": "distribute/images/advertising.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2691 | "title": "Best practices for Mobile App Engagement", |
| 2692 | "summary": "Learn how to market to your user base to drive re-engagement with your app. ", |
| 2693 | "keywords": ["marketing", "admob"], |
| 2694 | "type": "distribute", |
| 2695 | "titleFriendly": "" |
| 2696 | }, |
| 2697 | { |
| 2698 | "lang": "en", |
| 2699 | "group": "", |
| 2700 | "tags": [ |
| 2701 | "marketing", |
| 2702 | "engagement", |
| 2703 | "adwords1" |
| 2704 | ], |
| 2705 | "url": "https://support.google.com/adwords/answer/6032073", |
| 2706 | "timestamp": null, |
| 2707 | "image": "https://www.gstatic.com/images/icons/material/product/2x/adwords_64dp.png", |
| 2708 | "title": "Setting up Mobile App Engagement Ads", |
| 2709 | "summary": "Mobile app engagement campaigns are a great choice for advertisers focused on connecting with people who already have their app.", |
| 2710 | "keywords": [ |
| 2711 | "marketing", |
| 2712 | "engagement", |
| 2713 | "adwords" |
| 2714 | ], |
| 2715 | "type": "distribute", |
| 2716 | "titleFriendly": "" |
| 2717 | }, |
| 2718 | { |
| 2719 | "lang": "en", |
| 2720 | "group": "", |
| 2721 | "tags": [ |
| 2722 | "marketing", |
| 2723 | "engagement" |
| 2724 | ], |
| 2725 | "url": "https://support.google.com/adwords/answer/6167162", |
| 2726 | "timestamp": null, |
| 2727 | "image": "https://www.gstatic.com/images/icons/material/product/2x/adwords_64dp.png", |
| 2728 | "title": "Best Practices for Mobile App Installs", |
| 2729 | "summary": "Getting your mobile app discovered can be challenging. Learn how to drive downloads of your app and grow a valuable user base.", |
| 2730 | "keywords": ["marketing", "adwords"], |
| 2731 | "type": "distribute", |
| 2732 | "titleFriendly": "" |
| 2733 | }, |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2734 | { |
| 2735 | "lang": "en", |
| 2736 | "group": "", |
| 2737 | "tags": [], |
| 2738 | "url": "https://support.google.com/admob/topic/2784623", |
| 2739 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2740 | "image": "distribute/images/advertising.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2741 | "title": "Set up your AdMob account", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2742 | "summary": "Setting up your AdMob account in the right way will help you get the most value, check out the Setup and Basics guide.", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2743 | "keywords": ["marketing", "admob"], |
| 2744 | "type": "distribute", |
| 2745 | "titleFriendly": "" |
| 2746 | }, |
| 2747 | { |
| 2748 | "lang": "en", |
| 2749 | "group": "", |
| 2750 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 2751 | "url": "https://analyticsacademy.withgoogle.com/mobile-app", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2752 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2753 | "image": "distribute/images/advertising.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2754 | "title": "Analytics Academy for Mobile Apps", |
| 2755 | "summary": "Learn how to use Google Analytics to make your app more discoverable and profitable.", |
| 2756 | "keywords": ["marketing", "analytics"], |
| 2757 | "type": "distribute", |
| 2758 | "titleFriendly": "" |
| 2759 | }, |
| 2760 | { |
| 2761 | "lang": "en", |
| 2762 | "group": "", |
| 2763 | "tags": [], |
| 2764 | "url": "https://developers.google.com/mobile-ads-sdk/download", |
| 2765 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2766 | "image": "distribute/images/advertising.jpg", |
| 2767 | "title": "Admob Ads", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2768 | "summary": "Use the Mobile Ads SDK to start showing AdMob ads in your apps.", |
| 2769 | "keywords": ["marketing", "adwords"], |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2770 | "type": "Guide", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2771 | "titleFriendly": "" |
| 2772 | }, |
| 2773 | { |
| 2774 | "lang": "en", |
| 2775 | "group": "", |
| 2776 | "tags": [], |
| 2777 | "url": "https://support.google.com/admob/", |
| 2778 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2779 | "image": "distribute/images/advertising.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2780 | "title": "AdMob Help Center", |
| 2781 | "summary": "For setup assistance, general info, and fixes for specific problems check out the AdMob Help Center.", |
| 2782 | "keywords": ["admob"], |
| 2783 | "type": "distribute", |
| 2784 | "titleFriendly": "" |
| 2785 | }, |
| 2786 | { |
| 2787 | "lang": "en", |
| 2788 | "group": "", |
| 2789 | "tags": [], |
| 2790 | "url": "https://support.google.com/admob/answer/2753860", |
| 2791 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2792 | "image": "distribute/images/advertising.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2793 | "title": "AdMob Policy Guidelines", |
| 2794 | "summary": "Learn about best practices for displaying AdMob ads in your apps to maximize revenue.", |
| 2795 | "keywords": ["admob"], |
| 2796 | "type": "distribute", |
| 2797 | "titleFriendly": "" |
| 2798 | }, |
Dirk Dougherty | c85bf85 | 2015-05-24 19:56:35 -0700 | [diff] [blame] | 2799 | { |
| 2800 | "lang": "en", |
| 2801 | "group": "", |
| 2802 | "tags": [], |
| 2803 | "url": "https://developers.google.com/app-invites/", |
| 2804 | "timestamp": 1383243492000, |
| 2805 | "image": "images/cards/google-search_2x.png", |
| 2806 | "title": "Set up App Invites", |
| 2807 | "summary": "Bring new users to your apps with personal recommendations, incentives, and offers.", |
| 2808 | "keywords": ["invites", "appinvites", "engagement", "getusers"], |
| 2809 | "type": "guide", |
| 2810 | "titleFriendly": "" |
| 2811 | }, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2812 | |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2813 | { |
| 2814 | "lang": "en", |
| 2815 | "group": "", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2816 | "tags": [], |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2817 | "url": "https://developers.google.com/app-indexing/", |
| 2818 | "timestamp": 1383243492000, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2819 | "image": "images/cards/google-search_2x.png", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2820 | "title": "Set Up App Indexing", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2821 | "summary": "Surface your app content in Google seaerch. Deep link direct to your apps.", |
| 2822 | "keywords": ["search", "appindexing", "engagement", "getusers"], |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2823 | "type": "guide", |
| 2824 | "titleFriendly": "" |
| 2825 | }, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2826 | { |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2827 | "lang": "en", |
| 2828 | "group": "", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2829 | "tags": [], |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2830 | "url": "https://developers.google.com/app-indexing/webmasters/details", |
| 2831 | "timestamp": null, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2832 | "image": "images/cards/google-search_2x.png", |
| 2833 | "title": "Index your app", |
| 2834 | "summary": "Index your app today by adding deep links and verifying its official web site to ensure it starts appearing in Google Search results. ", |
| 2835 | "keywords": ["appindexing","search","getusers"], |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2836 | "type": "distribute", |
| 2837 | "titleFriendly": "" |
| 2838 | }, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2839 | { |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2840 | "lang": "en", |
| 2841 | "group": "", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2842 | "tags": [], |
| 2843 | "url": "https://developers.google.com/identity/sign-in/android/people", |
| 2844 | "timestamp": 1383243492000, |
| 2845 | "image": "images/cards/google-sign-in_2x.png", |
| 2846 | "title": "Get user profile details", |
| 2847 | "summary": "After users sign-in with Google, you can access their age range, language, and public profile information.", |
| 2848 | "keywords": ["signin", "identity", "google"], |
| 2849 | "type": "guide", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 2850 | "titleFriendly": "" |
| 2851 | }, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 2852 | |
| 2853 | |
| 2854 | { |
| 2855 | "lang": "en", |
| 2856 | "group": "", |
| 2857 | "tags": [], |
| 2858 | "url": "https://developers.google.com/identity/sign-in/android/", |
| 2859 | "timestamp": "", |
| 2860 | "image": "images/cards/google-sign-in_2x.png", |
| 2861 | "title": "Google Sign-In", |
| 2862 | "summary": "Discover how you can enhance user experiences on your website or in your app using information provided by their Google identity.", |
| 2863 | "keywords": ["signin", "identity", "google"], |
| 2864 | "type": "guide", |
| 2865 | "titleFriendly": "" |
| 2866 | }, |
| 2867 | { |
| 2868 | "lang": "en", |
| 2869 | "group": "", |
| 2870 | "tags": [], |
| 2871 | "url": "https://developers.google.com/+/features/play-installs", |
| 2872 | "timestamp": 1383243492000, |
| 2873 | "image": "images/cards/google-sign-in_2x.png", |
| 2874 | "title": "Over-the-air installs", |
| 2875 | "summary": "Follow this step-by-step guide to quickly add Google Sign-in and over-the-air app installs to your website.", |
| 2876 | "keywords": ["signin", "google", "installs"], |
| 2877 | "type": "guide", |
| 2878 | "titleFriendly": "" |
| 2879 | }, |
| 2880 | { |
| 2881 | "lang": "en", |
| 2882 | "group": "", |
| 2883 | "tags": [], |
| 2884 | "url": "https://developers.google.com/+/features/analytics", |
| 2885 | "timestamp": 1383243492000, |
| 2886 | "image": 'images/google/gps-googleplus.png', |
| 2887 | "title": "Google+ Insights", |
| 2888 | "summary": "Measure impressions of the over-the-air install prompt, resulting installs, and success rate by day, week, and month.", |
| 2889 | "keywords": ["signin", "identity"], |
| 2890 | "type": "guide", |
| 2891 | "titleFriendly": "" |
| 2892 | }, |
| 2893 | |
Dirk Dougherty | 3b41bb1 | 2015-09-18 16:09:21 -0700 | [diff] [blame] | 2894 | // Online courses |
| 2895 | |
| 2896 | { |
| 2897 | "title":"UX Design for Mobile Developers", |
| 2898 | "titleFriendly":"", |
| 2899 | "summary":"Learn how to design a 5-star app.", |
| 2900 | "url":"https://www.udacity.com/course/ud849", |
| 2901 | "group":"", |
| 2902 | "keywords": ["mobile","ux","design"], |
| 2903 | "tags": ["courses, start"], |
| 2904 | "image":"images/cards/courses/mobile_ux_course.jpg", |
| 2905 | "lang":"en", |
| 2906 | "type":"online course" |
| 2907 | }, |
| 2908 | { |
| 2909 | "title":"Developing Android Apps", |
| 2910 | "titleFriendly":"", |
| 2911 | "summary":"Learn Android and build an app!", |
| 2912 | "url":"https://www.udacity.com/course/ud853", |
| 2913 | "group":"", |
| 2914 | "keywords": ["android", "start","firstapp","sdk"], |
| 2915 | "tags": ["courses, start"], |
| 2916 | "image":"images/cards/courses/android_fundamentals_course.jpg", |
| 2917 | "lang":"en", |
| 2918 | "type":"online course" |
| 2919 | }, |
| 2920 | { |
| 2921 | "title":"Android Performance", |
| 2922 | "titleFriendly":"", |
| 2923 | "summary":"Optimize your apps for speed and usability.", |
| 2924 | "url":"https://www.udacity.com/course/ud825", |
| 2925 | "group":"", |
| 2926 | "keywords": ["android, performance","battery"], |
| 2927 | "tags": ["courses, performance"], |
| 2928 | "image":"images/cards/courses/android_performance_course.jpg", |
| 2929 | "lang":"en", |
| 2930 | "type":"online course" |
| 2931 | }, |
| 2932 | { |
| 2933 | "title":"Enroll in the Android Nanodegree", |
| 2934 | "titleFriendly":"", |
| 2935 | "summary":"Enroll in the Android Nanodegree to build the skills to work as an Android developer.", |
| 2936 | "url":"https://www.udacity.com/android", |
| 2937 | "group":"", |
| 2938 | "keywords": ["android, nanodegree"], |
| 2939 | "tags": ["courses"], |
| 2940 | "image":"images/cards/courses/android_nanodegree.png", |
| 2941 | "lang":"en", |
| 2942 | "type":"online course" |
| 2943 | }, |
| 2944 | { |
| 2945 | "title":"Advanced Android App Development", |
| 2946 | "titleFriendly":"", |
| 2947 | "summary":"Productionize and publish your apps.", |
| 2948 | "url":"https://www.udacity.com/course/ud855", |
| 2949 | "group":"", |
| 2950 | "keywords": ["android, experts"], |
| 2951 | "tags": ["courses, expert"], |
| 2952 | "image":"images/cards/courses/advanced_android_course.jpg", |
| 2953 | "lang":"en", |
| 2954 | "type":"online course" |
| 2955 | }, |
| 2956 | { |
| 2957 | "title":"Material Design for Android Developers", |
| 2958 | "titleFriendly":"", |
| 2959 | "summary":"Learn how to make your apps material.", |
| 2960 | "url":"https://www.udacity.com/course/ud862", |
| 2961 | "group":"", |
| 2962 | "keywords": ["android, design, pure, material"], |
| 2963 | "tags": ["courses, start, material"], |
| 2964 | "image":"images/cards/courses/android_design_course.jpg", |
| 2965 | "lang":"en", |
| 2966 | "type":"online course" |
| 2967 | }, |
| 2968 | { |
| 2969 | "title":"Android for Beginners", |
| 2970 | "titleFriendly":"", |
| 2971 | "summary":"Make your first Android app, even if you don't write code.", |
| 2972 | "url":"https://www.udacity.com/course/ud837", |
| 2973 | "group":"", |
| 2974 | "keywords": ["android, sdk, firstapp"], |
| 2975 | "tags": ["courses, start"], |
| 2976 | "image":"images/cards/courses/beginning_android_course.jpg", |
| 2977 | "lang":"en", |
| 2978 | "type":"online course" |
| 2979 | }, |
| 2980 | { |
| 2981 | "title":"Gradle for Android and Java", |
| 2982 | "titleFriendly":"", |
| 2983 | "summary":"Build better apps through automation", |
| 2984 | "url":"https://www.udacity.com/course/ud867", |
| 2985 | "group":"", |
| 2986 | "keywords": ["gradle","studio", "sdk"], |
| 2987 | "tags": ["courses, gradle, sdk"], |
| 2988 | "image":"images/cards/courses/gradle_course.jpg", |
| 2989 | "lang":"en", |
| 2990 | "type":"online course" |
| 2991 | }, |
| 2992 | { |
| 2993 | "title":"Add Location and Context to your app", |
| 2994 | "titleFriendly":"", |
| 2995 | "summary":"Make Your Android App Location Aware.", |
Dirk Dougherty | a45b154 | 2015-10-06 11:19:25 -0700 | [diff] [blame] | 2996 | "url":"https://www.udacity.com/course/ud876-1", |
Dirk Dougherty | 3b41bb1 | 2015-09-18 16:09:21 -0700 | [diff] [blame] | 2997 | "group":"", |
| 2998 | "keywords": ["google services, context, location"], |
| 2999 | "tags": ["courses, google, location, context"], |
| 3000 | "image":"images/cards/courses/android_location_course.png", |
| 3001 | "lang":"en", |
| 3002 | "type":"online course" |
| 3003 | }, |
| 3004 | { |
| 3005 | "title":"Analytics and Tag Manager for Android", |
| 3006 | "titleFriendly":"", |
| 3007 | "summary":"Use Analytics and Tag Manager in Your Apps.", |
Dirk Dougherty | a45b154 | 2015-10-06 11:19:25 -0700 | [diff] [blame] | 3008 | "url":"https://www.udacity.com/course/ud876-2", |
Dirk Dougherty | 3b41bb1 | 2015-09-18 16:09:21 -0700 | [diff] [blame] | 3009 | "group":"", |
| 3010 | "keywords": ["google services, analytics, tag manager"], |
| 3011 | "tags": ["courses, google, analytics"], |
| 3012 | "image":"images/cards/courses/android_analytics_course.png", |
| 3013 | "lang":"en", |
| 3014 | "type":"online course" |
| 3015 | }, |
| 3016 | { |
| 3017 | "title":"AdMob for Android", |
| 3018 | "titleFriendly":"", |
| 3019 | "summary":"Monetize Your App by Displaying Ads.", |
Dirk Dougherty | a45b154 | 2015-10-06 11:19:25 -0700 | [diff] [blame] | 3020 | "url":"https://www.udacity.com/course/ud876-3", |
Dirk Dougherty | 3b41bb1 | 2015-09-18 16:09:21 -0700 | [diff] [blame] | 3021 | "group":"", |
| 3022 | "keywords": ["monetize, google services, ads, admob"], |
| 3023 | "tags": ["courses, google, ads, admob"], |
| 3024 | "image":"images/cards/courses/admob_course.png", |
| 3025 | "lang":"en", |
| 3026 | "type":"online course" |
| 3027 | }, |
| 3028 | { |
| 3029 | "title":"Add Maps to your Android app", |
| 3030 | "titleFriendly":"", |
| 3031 | "summary":"Use maps, cameras, markers and more in your app.", |
Dirk Dougherty | a45b154 | 2015-10-06 11:19:25 -0700 | [diff] [blame] | 3032 | "url":"https://www.udacity.com/course/ud876-4", |
Dirk Dougherty | 3b41bb1 | 2015-09-18 16:09:21 -0700 | [diff] [blame] | 3033 | "group":"", |
| 3034 | "keywords": ["google, maps, marker, camera"], |
| 3035 | "tags": ["courses, google, maps"], |
| 3036 | "image":"images/cards/courses/android_maps_course.png", |
| 3037 | "lang":"en", |
| 3038 | "type":"online course" |
| 3039 | }, |
| 3040 | { |
| 3041 | "title":"Add Sign-in to your Android app", |
| 3042 | "titleFriendly":"", |
| 3043 | "summary":"Build a Seamless Sign-In Experience.", |
Dirk Dougherty | a45b154 | 2015-10-06 11:19:25 -0700 | [diff] [blame] | 3044 | "url":"https://www.udacity.com/course/ud876-5", |
Dirk Dougherty | 3b41bb1 | 2015-09-18 16:09:21 -0700 | [diff] [blame] | 3045 | "group":"", |
| 3046 | "keywords": ["google services, signin, authorization"], |
| 3047 | "tags": ["courses, google, auth"], |
| 3048 | "image":"images/cards/courses/android_identity_course.png", |
| 3049 | "lang":"en", |
| 3050 | "type":"online course" |
| 3051 | }, |
| 3052 | { |
| 3053 | "title":"Android Wear Development", |
| 3054 | "titleFriendly":"", |
| 3055 | "summary":"Extend your Apps to Android Smartwatches.", |
| 3056 | "url":"https://www.udacity.com/course/ud875A", |
| 3057 | "group":"", |
| 3058 | "keywords": ["wear, wearables, smartwatch"], |
| 3059 | "tags": ["courses, wear, wearable"], |
| 3060 | "image":"images/cards/courses/android_wear_course.jpg", |
| 3061 | "lang":"en", |
| 3062 | "type":"online course" |
| 3063 | }, |
| 3064 | { |
| 3065 | "title":"Android TV and Google Cast Development", |
| 3066 | "titleFriendly":"", |
| 3067 | "summary":"Extend your Apps to the Big Screen.", |
| 3068 | "url":"https://www.udacity.com/course/ud875B", |
| 3069 | "group":"", |
| 3070 | "keywords": ["cast, living room"], |
| 3071 | "tags": ["courses, cast, tv"], |
| 3072 | "image":"images/cards/courses/android_tv_cast_course.jpg", |
| 3073 | "lang":"en", |
| 3074 | "type":"online course" |
| 3075 | }, |
| 3076 | { |
| 3077 | "title":"Android Auto Development", |
| 3078 | "titleFriendly":"", |
| 3079 | "summary":"Put your apps in the driver's seat.", |
| 3080 | "url":"https://www.udacity.com/course/ud875C", |
| 3081 | "group":"", |
| 3082 | "keywords": ["auto"], |
| 3083 | "tags": ["courses, auto"], |
| 3084 | "image":"images/cards/courses/android_auto_course.jpg", |
| 3085 | "lang":"en", |
| 3086 | "type":"online course" |
| 3087 | }, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3088 | |
| 3089 | |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3090 | // TODO remove this? |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3091 | { |
| 3092 | "title":"Android Wear Materials", |
| 3093 | "titleFriendly":"", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 3094 | "summary":"Drag and drop your way to beautifully designed Android Wear apps.", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3095 | "url":"design/downloads/index.html#Wear", |
| 3096 | "group":"", |
| 3097 | "keywords": ["icons","stencils","color swatches"], |
| 3098 | "tags": ["icons","stencils","colorswatches"], |
| 3099 | "image":"images/cards/android-wear-materials_2x.jpg", |
| 3100 | "lang":"en", |
| 3101 | "type":"design" |
| 3102 | }, |
| 3103 | { |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 3104 | "title":"Watch Faces for Android Wear", |
| 3105 | "titleFriendly":"", |
| 3106 | "summary":"Watch faces let you customize the most prominent UI feature of Android wearables. The API is simple enough for rapid development and flexible enough to build something awesome.", |
| 3107 | "url":"https://www.youtube.com/watch?v=AK38PJZmIW8&list=PLWz5rJ2EKKc-kIrPiq098QH9dOle-fLef", |
| 3108 | "group":"", |
| 3109 | "keywords": ["wear", "wearable", "watch face"], |
| 3110 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3111 | "image":"https://i1.ytimg.com/vi/AK38PJZmIW8/maxresdefault.jpg", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 3112 | "lang":"en", |
| 3113 | "type":"video" |
| 3114 | }, |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 3115 | { |
| 3116 | "title":"Android Support Library", |
| 3117 | "titleFriendly":"", |
| 3118 | "summary":"These essential components help you build a great app that works on the huge variety of Android devices, faster.", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3119 | "url":"https://www.youtube.com/watch?v=3PIc-DuEU2s&list=PLWz5rJ2EKKc9e0d55YHgJFHXNZbGHEXJX", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 3120 | "group":"", |
| 3121 | "keywords": ["support", "compatibility"], |
| 3122 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3123 | "image":"https://i1.ytimg.com/vi/3PIc-DuEU2s/maxresdefault.jpg", |
Dirk Dougherty | 674b1fc | 2015-05-07 20:39:50 -0700 | [diff] [blame] | 3124 | "lang":"en", |
| 3125 | "type":"Video" |
| 3126 | }, |
| 3127 | { |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3128 | "title":"Consistent Design with the AppCompat Support Library", |
| 3129 | "titleFriendly":"", |
| 3130 | "summary":"Getting a great looking app doesn't have to be hard: AppCompat, part of the Android Support Library, gives you a consistent design baseline that works on all Android 2.1 or higher devices.", |
| 3131 | "url":"https://www.youtube.com/watch?v=5Be2mJzP-Uw&list=PLWz5rJ2EKKc9e0d55YHgJFHXNZbGHEXJX", |
| 3132 | "group":"", |
| 3133 | "keywords": ["support", "compatibility","design-code"], |
| 3134 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3135 | "image":"https://i1.ytimg.com/vi/5Be2mJzP-Uw/maxresdefault.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3136 | "lang":"en", |
| 3137 | "type":"Video" |
| 3138 | }, |
| 3139 | { |
| 3140 | "title":"Introducing Gradle", |
| 3141 | "titleFriendly":"", |
| 3142 | "summary":"Android Studio uses an entirely new and flexible Gradle-based build system. You will be able to create multiple build variants for a single project, manage library dependencies and always be sure that your application builds correctly across different environments.", |
| 3143 | "url":"https://www.youtube.com/watch?v=cD7NPxuuXYY&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ", |
| 3144 | "group":"", |
| 3145 | "keywords": ["tools", "studio","gradle"], |
| 3146 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3147 | "image":"https://i1.ytimg.com/vi/cD7NPxuuXYY/maxresdefault.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3148 | "lang":"en", |
| 3149 | "type":"Video" |
| 3150 | }, |
| 3151 | { |
| 3152 | "title":"Android Studio Layout Editor", |
| 3153 | "titleFriendly":"", |
| 3154 | "summary":"Android Studio includes a rich, visual layout editor that helps developers create better user interfaces. It eliminates the need to deploy the APK on a real device with each change, making iterations faster and helping eliminate common errors earlier in the development process.", |
| 3155 | "url":"https://www.youtube.com/watch?v=JLLnhwtDoHw&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ", |
| 3156 | "group":"", |
| 3157 | "keywords": ["tools", "studio","layout"], |
| 3158 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3159 | "image":"https://i1.ytimg.com/vi/JLLnhwtDoHw/maxresdefault.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3160 | "lang":"en", |
| 3161 | "type":"Video" |
| 3162 | }, |
| 3163 | { |
| 3164 | "title":"Debugging and testing in Android Studio", |
| 3165 | "titleFriendly":"", |
| 3166 | "summary":"Learn about new debugger features in Android Studio 1.2: value inlining, quick access to referring objects and a Java .class decompiler, just to name a few. See some new tools and views that let you monitor the CPU and memory performance of your app from within the IDE. ", |
| 3167 | "url":"https://www.youtube.com/watch?v=2I6fuD20qlY&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ", |
| 3168 | "group":"", |
| 3169 | "keywords": ["tools", "studio","debugging","profiling","performance"], |
| 3170 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3171 | "image":"https://i1.ytimg.com/vi/2I6fuD20qlY/maxresdefault.jpg", |
Dirk Dougherty | 98794c0 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3172 | "lang":"en", |
| 3173 | "type":"Video" |
| 3174 | }, |
| 3175 | { |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3176 | "title":"Scale with Google Cloud Platform", |
| 3177 | "titleFriendly":"", |
Dirk Dougherty | de401c8 | 2015-05-09 12:10:56 -0700 | [diff] [blame] | 3178 | "summary":"Build, test, and deploy applications on Google's highly-scalable and reliable infrastructure for your web, mobile and backend solutions.", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3179 | "url":"https://cloud.google.com/docs/", |
| 3180 | "group":"", |
| 3181 | "keywords": [], |
| 3182 | "tags": [], |
| 3183 | "image":"images/cards/cloud-platform_2x.png", |
| 3184 | "lang":"en", |
| 3185 | "type":"distribute" |
| 3186 | }, |
| 3187 | { |
| 3188 | "title":"Opportunities & Programs", |
| 3189 | "titleFriendly":"", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3190 | "summary":"Take advantage of the many ways you can distribute your app to consumers, students, and businesses through Google Play.", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3191 | "url":"distribute/googleplay/index.html#opportunities", |
| 3192 | "group":"", |
| 3193 | "keywords": [], |
| 3194 | "tags": [], |
| 3195 | "image":"images/cards/program-edu_2x.jpg", |
| 3196 | "lang":"en", |
| 3197 | "type":"distribute" |
| 3198 | }, |
| 3199 | { |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3200 | "title":"Android for Work", |
| 3201 | "titleFriendly":"", |
| 3202 | "summary":"Learn more about how Android for Work makes your favorite phones and tablets the perfect business tools.", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3203 | "url":"https://www.android.com/work/", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3204 | "group":"", |
| 3205 | "keywords": ["work", "enterprise", "emm"], |
| 3206 | "tags": [], |
| 3207 | "image":"images/cards/card-android-work_2x.png", |
| 3208 | "lang":"en", |
| 3209 | "type":"about" |
| 3210 | }, |
| 3211 | { |
| 3212 | "title":"Android for Work DevBytes", |
| 3213 | "titleFriendly":"", |
| 3214 | "summary":"Watch the videos in this playlist to understand more about Android for Work and get tips on developing enterprise apps.", |
| 3215 | "url":"https://www.youtube.com/watch?v=jQWB_-o1kz4&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX", |
| 3216 | "group":"", |
| 3217 | "keywords": ["work", "enterprise", "emm"], |
| 3218 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3219 | "image":"https://i1.ytimg.com/vi/jQWB_-o1kz4/maxresdefault.jpg", |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3220 | "lang":"en", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3221 | "type":"youtube" |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3222 | }, |
| 3223 | { |
Andrew Solovay | c9adf2c | 2015-06-01 14:44:21 -0700 | [diff] [blame] | 3224 | "title":"App Configurations, Testing and Launchers", |
| 3225 | "titleFriendly":"", |
| 3226 | "summary":"With Android for Work you can make your apps remotely configurable. We also cover how to test your app in a managed environment.", |
| 3227 | "url":"https://www.youtube.com/watch?v=39NkpWkaH8M&index=2&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX", |
| 3228 | "group":"", |
| 3229 | "keywords": ["work", "enterprise", "emm"], |
| 3230 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3231 | "image":"https://i1.ytimg.com/vi/39NkpWkaH8M/maxresdefault.jpg", |
Andrew Solovay | c9adf2c | 2015-06-01 14:44:21 -0700 | [diff] [blame] | 3232 | "lang":"en", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3233 | "type":"youtube" |
Andrew Solovay | c9adf2c | 2015-06-01 14:44:21 -0700 | [diff] [blame] | 3234 | }, |
| 3235 | { |
| 3236 | "title":"Building an enterprise ready app", |
| 3237 | "titleFriendly":"", |
| 3238 | "summary":"A holistic view of Android for Work for developers.", |
| 3239 | "url":"https://www.youtube.com/watch?v=dH41OutAMNM", |
| 3240 | "group":"", |
| 3241 | "keywords": ["work", "enterprise", "emm"], |
| 3242 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3243 | "image":"https://i1.ytimg.com/vi/dH41OutAMNM/maxresdefault.jpg", |
Andrew Solovay | c9adf2c | 2015-06-01 14:44:21 -0700 | [diff] [blame] | 3244 | "lang":"en", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3245 | "type":"youtube" |
Andrew Solovay | c9adf2c | 2015-06-01 14:44:21 -0700 | [diff] [blame] | 3246 | }, |
| 3247 | { |
| 3248 | "title":"Android for Work: Single Use Devices", |
| 3249 | "titleFriendly":"", |
| 3250 | "summary":"Single-purpose computers are everywhere, and Android can meet that need.", |
| 3251 | "url":"https://www.youtube.com/watch?v=j3QC6hcpy90", |
| 3252 | "group":"", |
| 3253 | "keywords": ["work", "enterprise", "emm"], |
| 3254 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3255 | "image":"https://i1.ytimg.com/vi/j3QC6hcpy90/maxresdefault.jpg", |
Andrew Solovay | c9adf2c | 2015-06-01 14:44:21 -0700 | [diff] [blame] | 3256 | "lang":"en", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3257 | "type":"youtube" |
Andrew Solovay | c9adf2c | 2015-06-01 14:44:21 -0700 | [diff] [blame] | 3258 | }, |
| 3259 | { |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3260 | "title":"Discover YouTube cards", |
| 3261 | "titleFriendly":"", |
| 3262 | "summary":"Find out more about YouTube cards, the options available, and how to use them to get the most from your YouTube content.", |
| 3263 | "url":"https://support.google.com/youtube/answer/6140493", |
| 3264 | "group":"", |
| 3265 | "keywords": ["youtube", "video", "users", "installs"], |
| 3266 | "tags": [], |
| 3267 | "image":"images/cards/card-youtube_2x.png", |
| 3268 | "lang":"en", |
| 3269 | "type":"distribute" |
| 3270 | }, |
| 3271 | { |
| 3272 | "title":"What is YouTube account good standing?", |
| 3273 | "titleFriendly":"", |
| 3274 | "summary":"Learn what it means for an account to be in good standing from the YouTube Help Center.", |
| 3275 | "url":"https://support.google.com/youtube/answer/2797387", |
| 3276 | "group":"", |
| 3277 | "keywords": ["youtube", "video", "users", "installs"], |
| 3278 | "tags": [], |
| 3279 | "image":"images/cards/card-youtube_2x.png", |
| 3280 | "lang":"en", |
| 3281 | "type":"distribute" |
| 3282 | }, |
Quddus Chong | 4f4771c | 2015-09-01 10:58:23 -0700 | [diff] [blame] | 3283 | { |
Andrew Solovay | 4158fc1 | 2016-03-10 17:45:23 -0800 | [diff] [blame] | 3284 | "title":"What’s New in Android N Developer Preview", |
| 3285 | "titleFriendly":"", |
| 3286 | "summary":"Learn all about the new features in the Android N Preview.", |
| 3287 | "url":"https://www.youtube.com/watch?v=CsulIu3UaUM", |
| 3288 | "group":"", |
| 3289 | "keywords": ["n preview"], |
| 3290 | "tags": [], |
| 3291 | "image":"https://i1.ytimg.com/vi/CsulIu3UaUM/maxresdefault.jpg", |
| 3292 | "lang":"en", |
| 3293 | "type":"Video" |
| 3294 | }, |
| 3295 | { |
Quddus Chong | 4f4771c | 2015-09-01 10:58:23 -0700 | [diff] [blame] | 3296 | "title":"Developing for Android 6.0 (Marshmallow)", |
| 3297 | "titleFriendly":"", |
| 3298 | "summary":"This video covers how to get started with the preview, important APIs to test and how to provide feedback on the preview.", |
| 3299 | "url":"https://www.youtube.com/watch?v=yYU4DHLwoRk", |
| 3300 | "group":"", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3301 | "keywords": ["Marshmallow"], |
Quddus Chong | 4f4771c | 2015-09-01 10:58:23 -0700 | [diff] [blame] | 3302 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3303 | "image":"https://i1.ytimg.com/vi/yYU4DHLwoRk/maxresdefault.jpg", |
Quddus Chong | 4f4771c | 2015-09-01 10:58:23 -0700 | [diff] [blame] | 3304 | "lang":"en", |
| 3305 | "type":"Video" |
| 3306 | }, |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3307 | { |
| 3308 | "title":"Google I/O 2015 - What's new in Android", |
| 3309 | "titleFriendly":"", |
| 3310 | "summary":"This session will highlight the most exciting new developer features of the Android platform.", |
| 3311 | "url":"https://www.youtube.com/watch?v=ndBdf1_oOGA", |
| 3312 | "group":"", |
| 3313 | "keywords": ["Marshmallow"], |
| 3314 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3315 | "image":"https://i1.ytimg.com/vi/ndBdf1_oOGA/maxresdefault.jpg", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3316 | "lang":"en", |
| 3317 | "type":"Video" |
| 3318 | }, |
| 3319 | { |
| 3320 | "title":"Fingerprint and payments APIs", |
| 3321 | "titleFriendly":"", |
| 3322 | "summary":"New fingerprint and payments APIs are introduced in M, to enable enhanced UX and security for online purchasing, banking, and retail payments.", |
| 3323 | "url":"https://www.youtube.com/watch?v=VOn7VrTRlA4", |
| 3324 | "group":"", |
| 3325 | "keywords": ["Marshmallow"], |
| 3326 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3327 | "image":"https://i1.ytimg.com/vi/VOn7VrTRlA4/maxresdefault.jpg", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3328 | "lang":"en", |
| 3329 | "type":"Video" |
| 3330 | }, |
| 3331 | { |
| 3332 | "title":"Introduction to Voice Interaction API", |
| 3333 | "titleFriendly":"", |
| 3334 | "summary":"This video covers how to use the Voice Interaction API to support system or custom voice actions.", |
| 3335 | "url":"https://www.youtube.com/watch?v=OW1A4XFRuyc", |
| 3336 | "group":"", |
| 3337 | "keywords": ["Marshmallow"], |
| 3338 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3339 | "image":"https://i1.ytimg.com/vi/OW1A4XFRuyc/maxresdefault.jpg", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3340 | "lang":"en", |
| 3341 | "type":"Video" |
| 3342 | }, |
| 3343 | { |
| 3344 | "title":"Android Auto Backup for Apps", |
| 3345 | "titleFriendly":"", |
| 3346 | "summary":"Android Backup is the automatic, cloud-based backup and restore of users’ apps when they set up a new device.", |
| 3347 | "url":"https://www.youtube.com/watch?v=HXacyy0HSW0", |
| 3348 | "group":"", |
| 3349 | "keywords": ["Marshmallow"], |
| 3350 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3351 | "image":"https://i1.ytimg.com/vi/HXacyy0HSW0/maxresdefault.jpg", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3352 | "lang":"en", |
| 3353 | "type":"Video" |
| 3354 | }, |
| 3355 | { |
| 3356 | "title":"New APIs in M for Android for Work", |
| 3357 | "titleFriendly":"", |
| 3358 | "summary":"Android M extends Android for Work functionality with a new set of APIs for Enterprise Mobility Management providers to offer new features and policy controls to IT Departments.", |
| 3359 | "url":"https://www.youtube.com/watch?v=vcSj8ln-BlE", |
| 3360 | "group":"", |
| 3361 | "keywords": ["Marshmallow"], |
| 3362 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3363 | "image":"https://i1.ytimg.com/vi/vcSj8ln-BlE/maxresdefault.jpg", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3364 | "lang":"en", |
| 3365 | "type":"Video" |
| 3366 | }, |
| 3367 | { |
| 3368 | "title":"Android for Work: Single Use Devices", |
| 3369 | "titleFriendly":"", |
| 3370 | "summary":"Android M is bringing the power of Android to all kinds of workplaces.", |
| 3371 | "url":"https://www.youtube.com/watch?v=j3QC6hcpy90", |
| 3372 | "group":"", |
| 3373 | "keywords": ["Marshmallow"], |
| 3374 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3375 | "image":"https://i1.ytimg.com/vi/j3QC6hcpy90/maxresdefault.jpg", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3376 | "lang":"en", |
| 3377 | "type":"Video" |
| 3378 | }, |
| 3379 | { |
| 3380 | "title":"Runtime Permissions in Android 6.0 Marshmallow", |
| 3381 | "titleFriendly":"", |
| 3382 | "summary":"Learn how to integrate runtime permissions into your Android app.", |
| 3383 | "url":"https://www.youtube.com/watch?v=C8lUdPVSzDk", |
| 3384 | "group":"", |
| 3385 | "keywords": ["Marshmallow"], |
| 3386 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3387 | "image":"https://i1.ytimg.com/vi/C8lUdPVSzDk/maxresdefault.jpg", |
Quddus Chong | 10a9147 | 2015-09-25 17:09:32 -0700 | [diff] [blame] | 3388 | "lang":"en", |
| 3389 | "type":"Video" |
| 3390 | }, |
Dirk Dougherty | 5cd8cb0 | 2015-09-29 01:52:48 -0700 | [diff] [blame] | 3391 | { |
| 3392 | "title":"Introduction to Doze", |
| 3393 | "titleFriendly":"", |
| 3394 | "summary":"An overview of Doze and how to make sure that your app behaves as expected both in and out of Doze mode. ", |
| 3395 | "url":"https://youtu.be/N72ksDKrX6c", |
| 3396 | "group":"", |
| 3397 | "keywords": ["Marshmallow"], |
| 3398 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3399 | "image":"https://i1.ytimg.com/vi/N72ksDKrX6c/maxresdefault.jpg", |
Dirk Dougherty | 5cd8cb0 | 2015-09-29 01:52:48 -0700 | [diff] [blame] | 3400 | "lang":"en", |
| 3401 | "type":"Video" |
| 3402 | }, |
| 3403 | { |
| 3404 | "title":"The Nexus 5X, Nexus 6P and Android Marshmallow", |
| 3405 | "titleFriendly":"", |
| 3406 | "summary":"The new Nexus 5X and Nexus 6P along with some of the most significant developer features in the latest Android release,.", |
| 3407 | "url":"https://youtu.be/U9tw5ypqEN0", |
| 3408 | "group":"", |
| 3409 | "keywords": ["Marshmallow"], |
| 3410 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3411 | "image":"https://i1.ytimg.com/vi/U9tw5ypqEN0/maxresdefault.jpg", |
Dirk Dougherty | 5cd8cb0 | 2015-09-29 01:52:48 -0700 | [diff] [blame] | 3412 | "lang":"en", |
| 3413 | "type":"Video" |
| 3414 | }, |
| 3415 | { |
| 3416 | "title":"Asking For Permission Fine", |
| 3417 | "titleFriendly":"", |
| 3418 | "summary":"Picking the right way and time to ask for a permission is critical to it being granted. ", |
| 3419 | "url":"https://youtu.be/iZqDdvhTZj0", |
| 3420 | "group":"", |
| 3421 | "keywords": ["Marshmallow"], |
| 3422 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3423 | "image":"https://i1.ytimg.com/vi/iZqDdvhTZj0/maxresdefault.jpg", |
Dirk Dougherty | 5cd8cb0 | 2015-09-29 01:52:48 -0700 | [diff] [blame] | 3424 | "lang":"en", |
| 3425 | "type":"Video" |
| 3426 | }, |
| 3427 | { |
| 3428 | "title":"Data Binding Library", |
| 3429 | "titleFriendly":"", |
| 3430 | "summary":"Data Binding Library is a way to write declarative layouts and minimize the glue code necessary to bind your application logic and layouts. ", |
| 3431 | "url":"https://youtu.be/5sCQjeGoE7M", |
| 3432 | "group":"", |
| 3433 | "keywords": ["Marshmallow"], |
| 3434 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3435 | "image":"https://i1.ytimg.com/vi/5sCQjeGoE7M/maxresdefault.jpg", |
Dirk Dougherty | 5cd8cb0 | 2015-09-29 01:52:48 -0700 | [diff] [blame] | 3436 | "lang":"en", |
| 3437 | "type":"Video" |
| 3438 | }, |
| 3439 | { |
| 3440 | "title":"App Links", |
| 3441 | "titleFriendly":"", |
| 3442 | "summary":"App Links is a new feature of Android Marshmallow that brings a faster way of opening website links for domains that you own.", |
| 3443 | "url":"https://youtu.be/LQoohRwojmw", |
| 3444 | "group":"", |
| 3445 | "keywords": ["Marshmallow"], |
| 3446 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3447 | "image":"https://i1.ytimg.com/vi/LQoohRwojmw/maxresdefault.jpg", |
Dirk Dougherty | 5cd8cb0 | 2015-09-29 01:52:48 -0700 | [diff] [blame] | 3448 | "lang":"en", |
| 3449 | "type":"Video" |
| 3450 | }, |
| 3451 | { |
| 3452 | "title":"Android M Permissions", |
| 3453 | "titleFriendly":"", |
| 3454 | "summary":"An introduction to Android M runtime permissions in Android M from Google I/O 2015. ", |
| 3455 | "url":"https://www.youtube.com/watch?v=f17qe9vZ8RM", |
| 3456 | "group":"", |
| 3457 | "keywords": ["Marshmallow"], |
| 3458 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3459 | "image":"https://i1.ytimg.com/vi/f17qe9vZ8RM/maxresdefault.jpg", |
Dirk Dougherty | 5cd8cb0 | 2015-09-29 01:52:48 -0700 | [diff] [blame] | 3460 | "lang":"en", |
| 3461 | "type":"Video" |
| 3462 | }, |
Dirk Dougherty | 7470945 | 2015-05-15 00:51:24 -0700 | [diff] [blame] | 3463 | { |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3464 | "lang": "ja", |
| 3465 | "title": "Gaming Everywhere", |
| 3466 | "titleFriendly": "", |
| 3467 | "summary": "東京ゲームショウ 2014 の基調講演より。", |
| 3468 | "url": "https://www.youtube.com/watch?v=xelYnWcYkuE", |
| 3469 | "group": "", |
| 3470 | "keywords": [], |
| 3471 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3472 | "image": "https://img.youtube.com/vi/xelYnWcYkuE/hqdefault.jpg", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3473 | "type": "youtube" |
| 3474 | }, |
| 3475 | { |
| 3476 | "lang": "ja", |
| 3477 | "title": "Playtime Tokyo", |
| 3478 | "titleFriendly": "", |
| 3479 | "summary": "アプリビジネスのノウハウを各担当者が講演しました。", |
| 3480 | "url": "https://www.youtube.com/playlist?list=PLCOC_kP3nqGIHEgwm9mybvA04Vn4Cg9nn", |
| 3481 | "group": "", |
| 3482 | "keywords": [], |
| 3483 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3484 | "image": "https://img.youtube.com/vi/lJdjY3z6-LY/hqdefault.jpg", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3485 | "type": "youtube" |
| 3486 | }, |
| 3487 | { |
| 3488 | "lang": "ja", |
| 3489 | "title": "Android Wear 関連の動画に日本語字幕が付きました", |
| 3490 | "titleFriendly": "", |
| 3491 | "summary": "", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3492 | "url": "https://googledevjp.blogspot.jp/2014/12/android-wear.html", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3493 | "group": "", |
| 3494 | "keywords": [], |
| 3495 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3496 | "image": "https://i1.ytimg.com/vi/4JcDYkgqksY/maxresdefault.jpg", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3497 | "type": "blog" |
| 3498 | }, |
| 3499 | { |
| 3500 | "lang": "ja", |
| 3501 | "title": "Android Studio 1.0 をリリースしました", |
| 3502 | "titleFriendly": "", |
| 3503 | "summary": "", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3504 | "url": "https://googledevjp.blogspot.jp/2014/12/android-studio-10.html", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3505 | "group": "", |
| 3506 | "keywords": [], |
| 3507 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3508 | "image": "https://3.bp.blogspot.com/-1hV3sD1At74/VIaQSWBasUI/AAAAAAAABAU/9vYLJMsmMuQ/s1600/studio-logo.png", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3509 | "type": "blog" |
| 3510 | }, |
| 3511 | { |
| 3512 | "lang": "ja", |
| 3513 | "title": "Google Play 開発者サービス 6.5 のご紹介", |
| 3514 | "titleFriendly": "", |
| 3515 | "summary": "", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3516 | "url": "https://googledevjp.blogspot.jp/2014/12/google-play-65.html", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3517 | "group": "", |
| 3518 | "keywords": [], |
| 3519 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3520 | "image": "https://1.bp.blogspot.com/-4BNREC0Jojo/VGo7ahW35wI/AAAAAAAABAc/9thZl94F6fY/s1600/GMS%2B-%2BRelease%2BBlog%2BNacho%2B-%2BMap%2BToolbar.png", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3521 | "type": "blog" |
| 3522 | }, |
| 3523 | { |
| 3524 | "lang": "ja", |
| 3525 | "title": "Alpha and Beta Testing", |
| 3526 | "titleFriendly": "", |
| 3527 | "summary": "アプリのローンチにまつわるリスクを最小限にするために必須のツールです。[英語コンテンツ]", |
| 3528 | "url": "intl/ja/distribute/googleplay/developer-console.html#alpha-beta", |
| 3529 | "group": "", |
| 3530 | "keywords": [], |
| 3531 | "tags": [], |
| 3532 | "image": "images/gp-dc-ab.png", |
| 3533 | "type": "distribute" |
| 3534 | }, |
| 3535 | { |
| 3536 | "lang": "ja", |
| 3537 | "title": "Finding Success on Google Play", |
| 3538 | "titleFriendly": "", |
| 3539 | "summary": "Google Play での成功の秘訣がこの一冊に。[英語コンテンツ]", |
| 3540 | "url": "intl/ja/distribute/googleplay/guide.html", |
| 3541 | "group": "", |
| 3542 | "keywords": [], |
| 3543 | "tags": [], |
| 3544 | "image": "distribute/images/play_dev_guide_b.jpg", |
| 3545 | "type": "distribute" |
| 3546 | }, |
| 3547 | { |
| 3548 | "lang": "ja", |
| 3549 | "title": "Core App Quality", |
| 3550 | "titleFriendly": "", |
| 3551 | "summary": "", |
| 3552 | "url": "intl/ja/distribute/essentials/quality/core.html", |
| 3553 | "group": "", |
| 3554 | "keywords": [], |
| 3555 | "tags": [], |
| 3556 | "image": "images/gp-core-quality.png", |
| 3557 | "type": "distribute" |
| 3558 | }, |
| 3559 | { |
| 3560 | "lang": "ja", |
| 3561 | "title": "Google Play アプリ ポリシー センター", |
| 3562 | "titleFriendly": "", |
| 3563 | "summary": "", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3564 | "url": "https://support.google.com/googleplay/android-developer/answer/4430948?hl=ja", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3565 | "group": "", |
| 3566 | "keywords": [], |
| 3567 | "tags": [], |
| 3568 | "image": "https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389356_en_v0", |
| 3569 | "type": "distribute" |
| 3570 | }, |
| 3571 | { |
| 3572 | "lang": "ja", |
| 3573 | "title": "Developer Support", |
| 3574 | "titleFriendly": "", |
| 3575 | "summary": "", |
| 3576 | "url": "intl/ja/support.html", |
| 3577 | "group": "", |
| 3578 | "keywords": [], |
| 3579 | "tags": [], |
| 3580 | "image": "", |
| 3581 | "type": "distribute" |
| 3582 | }, |
| 3583 | { |
| 3584 | "lang": "ja", |
| 3585 | "title": "Wear App Quality", |
| 3586 | "titleFriendly": "", |
| 3587 | "summary": "いよいよウェアラブルの時代が到来。[英語コンテンツ]", |
| 3588 | "url": "intl/ja/distribute/essentials/quality/wear.html", |
| 3589 | "group": "", |
| 3590 | "keywords": [], |
| 3591 | "tags": [], |
| 3592 | "image": "distribute/images/gp-wear-quality.png", |
| 3593 | "type": "distribute" |
| 3594 | }, |
| 3595 | { |
| 3596 | "lang": "ja", |
| 3597 | "title": "Google Cloud Platform が支える、新感覚リアルタイム RPG ユニゾンリーグ - 株式会社エイチームの GCP 導入事例", |
| 3598 | "titleFriendly": "", |
| 3599 | "summary": "スケーラブルなバックエンドを実現する Google Cloud Platform の最新導入事例。", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3600 | "url": "https://googleforwork-japan.blogspot.jp/2014/12/gcp-google-cloud-platform-rpg-gcp.html", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3601 | "group": "", |
| 3602 | "keywords": [], |
| 3603 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3604 | "image": "https://3.bp.blogspot.com/-xp7KoPkbne4/VI_PfoFil3I/AAAAAAAAA3U/-k1UZ0zjCBc/s1600/unison-league.jpeg", |
Ryosuke Matsuuchi | 3b8defa | 2014-12-25 20:22:32 +0900 | [diff] [blame] | 3605 | "type": "distribute" |
| 3606 | }, |
| 3607 | { |
| 3608 | "lang": "ja", |
| 3609 | "title": "Monetize with Ads", |
| 3610 | "titleFriendly": "", |
| 3611 | "summary": "アプリ内広告成功のコツがここに。[英語コンテンツ]", |
| 3612 | "url": "intl/ja/distribute/monetize/ads.html", |
| 3613 | "group": "", |
| 3614 | "keywords": [], |
| 3615 | "tags": [], |
| 3616 | "image": "distribute/images/advertising.jpg", |
| 3617 | "type": "distribute" |
Ryosuke Matsuuchi | 2fb3dc2 | 2015-04-14 18:44:35 +0900 | [diff] [blame] | 3618 | }, |
| 3619 | { |
| 3620 | "lang": "ko", |
| 3621 | "title": "구글 플레이 2015년 비전", |
| 3622 | "titleFriendly": "", |
| 3623 | "summary": "G-Star 구글 컨퍼런스", |
| 3624 | "url": "https://www.youtube.com/watch?v=7X9Ue0Nfdh4&index=2&list=PL_WJkTbDHdBksDBRoqfeyLchEQqBAOlNl", |
| 3625 | "group": "", |
| 3626 | "keywords": [], |
| 3627 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3628 | "image": "https://img.youtube.com/vi/7X9Ue0Nfdh4/hqdefault.jpg", |
Ryosuke Matsuuchi | 2fb3dc2 | 2015-04-14 18:44:35 +0900 | [diff] [blame] | 3629 | "type": "youtube" |
| 3630 | }, |
| 3631 | { |
| 3632 | "lang": "ko", |
| 3633 | "title": "구글 플레이 게임", |
| 3634 | "titleFriendly": "", |
| 3635 | "summary": "게임 프로필, 퀘스트, 세이브드 게임 등의 신기능 소개", |
| 3636 | "url": "https://www.youtube.com/watch?v=83FpwuschCQ", |
| 3637 | "group": "", |
| 3638 | "keywords": [], |
| 3639 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3640 | "image": "https://img.youtube.com/vi/83FpwuschCQ/hqdefault.jpg", |
Ryosuke Matsuuchi | 2fb3dc2 | 2015-04-14 18:44:35 +0900 | [diff] [blame] | 3641 | "type": "youtube" |
| 3642 | }, |
| 3643 | { |
| 3644 | "lang": "ko", |
| 3645 | "title": "안드로이드 5.0 롤리팝을 맞이하는 개발자를 위한 안내서", |
| 3646 | "titleFriendly": "", |
| 3647 | "summary": "", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3648 | "url": "https://googledevkr.blogspot.com/2014/11/android50guidefordevelopers.html", |
Ryosuke Matsuuchi | 2fb3dc2 | 2015-04-14 18:44:35 +0900 | [diff] [blame] | 3649 | "group": "", |
| 3650 | "keywords": [], |
| 3651 | "tags": [], |
| 3652 | "image": "https://lh5.googleusercontent.com/0Gx4Ob_WvIgNOMv3hVMuUm4O7KuSWyxCEFIvy39_6fgXh2q2azqjZf3bpZoEk-LMW-K8GwYMfyYfMUAwp38hhPQ6WFNnddhN2E2_GF3-XBQI_qjhISviz10h_mGgDWsZKA", |
| 3653 | "type": "blog" |
| 3654 | }, |
| 3655 | { |
| 3656 | "lang": "ko", |
| 3657 | "title": "안드로이드 앱을 위한 머티리얼 디자인 체크 리스트", |
| 3658 | "titleFriendly": "", |
| 3659 | "summary": "", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3660 | "url": "https://googledevkr.blogspot.com/2014/10/material-design-on-android-checklist.html", |
Ryosuke Matsuuchi | 2fb3dc2 | 2015-04-14 18:44:35 +0900 | [diff] [blame] | 3661 | "group": "", |
| 3662 | "keywords": [], |
| 3663 | "tags": [], |
| 3664 | "image": "https://lh4.googleusercontent.com/JKoxeDdmsj6gYHV8rmp96U1jHj7FKeMzGBaaFu35kXp5EpJR9Ei9MQFAYghjwJoycdgydw-FZTuFNY8pDx63MWhy37rKC96ajoDXEMzvo9W0sj5yC2-uSYJdhpazVOP2cA", |
| 3665 | "type": "blog" |
| 3666 | }, |
| 3667 | { |
| 3668 | "lang": "ko", |
| 3669 | "title": "App Compat 라이브러리", |
| 3670 | "titleFriendly": "", |
| 3671 | "summary": "", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3672 | "url": "https://googledevkr.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html", |
Ryosuke Matsuuchi | 2fb3dc2 | 2015-04-14 18:44:35 +0900 | [diff] [blame] | 3673 | "group": "", |
| 3674 | "keywords": [], |
| 3675 | "tags": [], |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3676 | "image": "https://2.bp.blogspot.com/-7fF9ayZ6PgI/U9iFpk5FNEI/AAAAAAAAAs0/4P4SCvdB_4M/s640/image00.png", |
Ryosuke Matsuuchi | 2fb3dc2 | 2015-04-14 18:44:35 +0900 | [diff] [blame] | 3677 | "type": "blog" |
| 3678 | }, |
| 3679 | { |
| 3680 | "lang": "ko", |
| 3681 | "title": "Alpha and Beta Testing", |
| 3682 | "titleFriendly": "", |
| 3683 | "summary": "출시 전에 완벽한 사전 테스트 [영문]", |
| 3684 | "url": "intl/ko/distribute/googleplay/developer-console.html#alpha-beta", |
| 3685 | "group": "", |
| 3686 | "keywords": [], |
| 3687 | "tags": [], |
| 3688 | "image": "images/gp-dc-ab.png", |
| 3689 | "type": "distribute" |
| 3690 | }, |
| 3691 | { |
| 3692 | "lang": "ko", |
| 3693 | "title": "Finding Success on Google Play", |
| 3694 | "titleFriendly": "", |
| 3695 | "summary": "구글 플레이에서 성공하는 비결 [영문]", |
| 3696 | "url": "intl/ko/distribute/googleplay/guide.html", |
| 3697 | "group": "", |
| 3698 | "keywords": [], |
| 3699 | "tags": [], |
| 3700 | "image": "distribute/images/play_dev_guide_b.jpg", |
| 3701 | "type": "distribute" |
| 3702 | }, |
| 3703 | { |
| 3704 | "lang": "ko", |
| 3705 | "title": "Core App Quality", |
| 3706 | "titleFriendly": "", |
| 3707 | "summary": "고품질 안드로이드 앱 개발 가이드 [영문]", |
| 3708 | "url": "intl/ko/distribute/essentials/quality/core.html", |
| 3709 | "group": "", |
| 3710 | "keywords": [], |
| 3711 | "tags": [], |
| 3712 | "image": "images/gp-core-quality.png", |
| 3713 | "type": "distribute" |
| 3714 | }, |
| 3715 | { |
| 3716 | "lang": "ko", |
| 3717 | "title": "Policy Guidelines and Practices", |
| 3718 | "titleFriendly": "", |
| 3719 | "summary": "숙지해야할 중요한 정책 [영문]", |
| 3720 | "url": "https://support.google.com/googleplay/android-developer/answer/4430948?hl=ko", |
| 3721 | "group": "", |
| 3722 | "keywords": [], |
| 3723 | "tags": [], |
| 3724 | "image": "https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389356_en_v0", |
| 3725 | "type": "distribute" |
| 3726 | }, |
| 3727 | { |
| 3728 | "lang": "ko", |
| 3729 | "title": "Developer Support", |
| 3730 | "titleFriendly": "", |
| 3731 | "summary": "개발자 지원 센터 활용 [영문]", |
| 3732 | "url": "intl/ko/support.html", |
| 3733 | "group": "", |
| 3734 | "keywords": [], |
| 3735 | "tags": [], |
| 3736 | "image": "https://lh3.googleusercontent.com/-mGTYed3Uh-E/AAAAAAAAAAI/AAAAAAAAF58/qNYbk4mMhI0/s120-c/photo.jpg", |
| 3737 | "type": "distribute" |
| 3738 | }, |
| 3739 | { |
| 3740 | "lang": "ko", |
| 3741 | "title": "Wear App Quality", |
| 3742 | "titleFriendly": "", |
| 3743 | "summary": "웨어러블 앱 개발 가이드 [영문]", |
| 3744 | "url": "intl/ko/distribute/essentials/quality/wear.html", |
| 3745 | "group": "", |
| 3746 | "keywords": [], |
| 3747 | "tags": [], |
| 3748 | "image": "distribute/images/gp-wear-quality.png", |
| 3749 | "type": "distribute" |
| 3750 | }, |
| 3751 | { |
| 3752 | "lang": "ko", |
| 3753 | "title": "Android TV 어플리케이션 개발", |
| 3754 | "titleFriendly": "", |
| 3755 | "summary": "앱과 게임을 거실에서 가족과 함께 [영문]", |
| 3756 | "url": "intl/ko/tv/index.html", |
| 3757 | "group": "", |
| 3758 | "keywords": [], |
| 3759 | "tags": [], |
| 3760 | "image": "design/tv/images/atv-home.jpg", |
| 3761 | "type": "distribute" |
| 3762 | }, |
| 3763 | { |
| 3764 | "lang": "ko", |
| 3765 | "title": "구글 플레이 게임 서비스", |
| 3766 | "titleFriendly": "", |
| 3767 | "summary": "다양한 구글 플레이 게임 서비스 기능 알아보기 [영문]", |
| 3768 | "url": "intl/ko/google/play-services/games.html", |
| 3769 | "group": "", |
| 3770 | "keywords": [], |
| 3771 | "tags": [], |
| 3772 | "image": "https://developers.google.com/games/services/images/gamescreen3.jpg", |
| 3773 | "type": "distribute" |
| 3774 | }, |
| 3775 | { |
| 3776 | "lang": "ko", |
| 3777 | "title": "Monetize with Ads", |
| 3778 | "titleFriendly": "", |
| 3779 | "summary": "광고로 수익 창출하기 [영문]", |
| 3780 | "url": "intl/ko/distribute/monetize/ads.html", |
| 3781 | "group": "", |
| 3782 | "keywords": [], |
| 3783 | "tags": [], |
| 3784 | "image": "distribute/images/advertising.jpg", |
| 3785 | "type": "distribute" |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3786 | }, |
| 3787 | { |
| 3788 | "url":"https://www.youtube.com/watch?v=QDM52bblwlg", |
| 3789 | "image": "images/distribute/hero-family-discovery.jpg", |
| 3790 | "title": "Introducing the new family discovery experience on Google Play", |
| 3791 | "summary": "Help families create little moments on Google Play. Opt-in your apps now.", |
| 3792 | "tags":["families","googleplay"], |
| 3793 | "type":"youtube" |
| 3794 | }, |
| 3795 | { |
| 3796 | "url":"https://www.youtube.com/watch?v=wcjqBSei3a0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3797 | "image": "https://i1.ytimg.com/vi/wcjqBSei3a0/maxresdefault.jpg", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3798 | "title": "Developers connecting the world through Google Play", |
| 3799 | "summary": "The mobile ecosystem is empowering developers to make good on the dream of connecting the world through technology to improve people's lives.", |
| 3800 | "tags":["io15","googleplay"], |
| 3801 | "keywords":["Google I/O 2015","io"], |
| 3802 | "type":"youtube" |
| 3803 | }, |
| 3804 | { |
| 3805 | "url":"https://www.youtube.com/watch?v=B6ydLpkhq04&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3806 | "image": "https://i1.ytimg.com/vi/B6ydLpkhq04/maxresdefault.jpg", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3807 | "title": "Store Listing Experiments for Google Play", |
| 3808 | "summary": "Learn how to use Google Play’s new store listing optimization feature to get more installs of your app, and how to test different graphics and text to find out which options perform the best. ", |
| 3809 | "tags":["io15","googleplay","store listing"], |
| 3810 | "tags":["google i/o","google play","store listing"], |
| 3811 | "type":"youtube" |
| 3812 | }, |
| 3813 | { |
| 3814 | "url":"https://www.youtube.com/watch?v=jyO3-rF4Mu0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS", |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3815 | "image": "https://i1.ytimg.com/vi/jyO3-rF4Mu0/maxresdefault.jpg", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3816 | "title": "Growing games with Google", |
| 3817 | "summary": "The games industry has never been more promising and full of opportunities. This talk covers how Google is helping developers across a broad range of existing and emerging platforms.", |
| 3818 | "tags":["io15","android", "googleplay","games"], |
| 3819 | "keywords":["Google I/O","google play","games"], |
| 3820 | "type":"youtube" |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3821 | }, |
| 3822 | { |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3823 | "url":"https://www.youtube.com/watch?v=yJisuP94lHU", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3824 | "image": "images/distribute/hero-playtime-opener.jpg", |
| 3825 | "title": "Playtime 2015: Innovation happens everywhere", |
| 3826 | "type":"Video", |
| 3827 | "tags":["googleplay"], |
| 3828 | "summary": "Watch the opening video from Google Play's annual event series, Playtime, which celebrates inspirational developers who are changing the world around them.", |
| 3829 | }, |
| 3830 | { |
Joe Fernandez | a5ce59d | 2016-01-25 13:45:22 -0800 | [diff] [blame] | 3831 | "url":"https://www.youtube.com/watch?v=JrR6o5tYMWQ", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3832 | "image": "images/distribute/hero-acquisition-devbyte.jpg", |
| 3833 | "title": "User acquisition and tracking on Google Play", |
| 3834 | "type" : "Video", |
| 3835 | "tags" : "users,googleplay,googleio", |
| 3836 | "summary": "Learn how to get new users, using Universal app campaigns directly within the Google Play Developer Console to increase your installs from ads, and find out how your acquisition channels perform.", |
| 3837 | }, |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3838 | ]); |
| 3839 | |
| 3840 | var CAROUSEL_OVERRIDE = { |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3841 | "distribute/googleplay/guide.html": { |
| 3842 | "image": "images/distribute/hero-secrets-to-app-success.jpg", |
| 3843 | "title": "The Secrets to App Success on Google Play", |
| 3844 | "summary": "Get the updated guide full of useful features, tips, and best practices that will help you grow a successful app or game business on Google Play.", |
| 3845 | }, |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3846 | "about/versions/lollipop.html": { |
| 3847 | "image": "images/home/hero-lollipop_2x.png", |
| 3848 | "heroColor": "#263238", |
| 3849 | "heroInvert": true, |
| 3850 | "title": "Android 5.0 Lollipop", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3851 | "summary": "The Android 5.0 update adds a variety of new features for your apps, such as notifications on the lock screen, an all-new camera API, OpenGL ES 3.1, the new naterial design interface, and much more.", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3852 | }, |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3853 | "http://www.youtube.com/watch?v=Pms0pcyPbAM": { |
Andrew Solovay | 9b7a159 | 2016-04-01 18:15:22 +0000 | [diff] [blame] | 3854 | "url":"https://www.youtube.com/watch?v=Pms0pcyPbAM&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c]", |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3855 | "image": "images/distribute/hero-carousel-giftedmom.jpg", |
| 3856 | "title": "Gifted Mom reaches more mothers across Africa with Android", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3857 | "type":"youtube", |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3858 | "summary": "Gifted Mom is an app developed in Cameroon which provides users with critical information about pregnancy, breastfeeding and child vaccinations. Hear the creators explain how they built their business on Google Play.", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3859 | }, |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3860 | "http://www.youtube.com/watch?v=9m6MoBM-sFI": { |
| 3861 | "url":"https://www.youtube.com/watch?v=9m6MoBM-sFI&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c&index=3", |
| 3862 | "image": "images/distribute/hero-carousel-sgn.jpg", |
| 3863 | "title": "SGN increases installs with Store Listing Experiments", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3864 | "type" : "youtube", |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3865 | "summary": "Watch mobile game developer SGN talk about how using Store Listing Experiments to test multiple variants across their portfolio of games helped improve their ROI, conversion rates and gamer retention.", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3866 | }, |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3867 | "http://www.youtube.com/watch?v=e7t3svG9PTk": { |
| 3868 | "url":"https://www.youtube.com/watch?v=e7t3svG9PTk&index=2&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c", |
| 3869 | "image": "images/distribute/hero-carousel-djit.jpg", |
| 3870 | "title": "DJiT builds higher quality experiences on Android", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3871 | "type" : "youtube", |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3872 | "summary": "Learn how Music app developer DJiT create higher quality apps with improved latency on Android Marshmallow, as well as other Android and Google Play features.", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3873 | }, |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3874 | "http://www.youtube.com/watch?v=J3IvOfvH1ys": { |
| 3875 | "url":"https://www.youtube.com/watch?v=J3IvOfvH1ys&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c&index=1", |
| 3876 | "image": "images/distribute/hero-carousel-wego.jpg", |
| 3877 | "title": "Wego increases user retention with material design", |
Dirk Dougherty | 7a0a1f6 | 2015-10-27 13:25:57 -0700 | [diff] [blame] | 3878 | "type" : "youtube", |
Dirk Dougherty | 8713a03 | 2016-02-21 16:57:49 -0800 | [diff] [blame] | 3879 | "summary": "Hear how online travel marketplace Wego, increased monthly user retention by 300% and reduced uninstall rates by up to 25% with material design.", |
Dirk Dougherty | 1933234 | 2015-06-12 19:41:35 -0700 | [diff] [blame] | 3880 | }, |
| 3881 | "https://www.youtube.com/watch?v=QDM52bblwlg": { |
| 3882 | "url":"distribute/googleplay/families/about.html", |
| 3883 | "image": "images/distribute/hero-family-discovery.jpg", |
| 3884 | "title": "Designed for families", |
| 3885 | "summary": "Introducing the new family discovery experience in Google Play. Your apps can benefit from enhanced discoverability and maintain their existing categories, rankings, and reviews elsewhere in the store. Opt-in your apps today.", |
| 3886 | "type":"distribute", |
| 3887 | }, |
| 3888 | "https://www.youtube.com/watch?v=wcjqBSei3a0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS": { |
| 3889 | "url":"https://www.youtube.com/watch?v=wcjqBSei3a0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS", |
| 3890 | "image": "images/distribute/hero-IO15-google-play.jpg", |
| 3891 | "title": "Connecting the world through Google Play", |
| 3892 | "tags":["io15"], |
| 3893 | "summary": "In this this Google I/O talk, hear how the mobile ecosystem is empowering developers to connect the world through technology and improve people's lives.", |
| 3894 | }, |
| 3895 | "https://www.youtube.com/watch?v=B6ydLpkhq04&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS": { |
| 3896 | "image": "images/distribute/hero-store-listing-experience.jpg", |
| 3897 | "title": "Using Google Play store listing experiments", |
| 3898 | "tags":["io15"], |
| 3899 | "summary": "Learn how to use Google Play store listing experiments to get more installs in this Google I/O talk. Test different graphics and text to find out which options perform the best. ", |
| 3900 | }, |
| 3901 | "https://www.youtube.com/watch?v=jyO3-rF4Mu0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS": { |
| 3902 | "image": "images/distribute/hero-IO15-growing-games.jpg", |
| 3903 | "title": "Growing games with Google", |
| 3904 | "tags":["io15"], |
| 3905 | "summary": "The games industry has never been more promising and full of opportunities. This talk from Google I/O 2015 covers how Google is helping developers across a broad range of existing and emerging platforms.", |
Dirk Dougherty | 6c1c263 | 2015-05-02 16:31:11 -0700 | [diff] [blame] | 3906 | } |
Andrew Solovay | 827b802 | 2015-11-13 13:09:12 -0800 | [diff] [blame] | 3907 | }; |