New permissions requirements for Android TV

Posted by Anirudh Dewani, Developer Advocate



Android 6.0 introduces a new runtime permission model that gives users more granular control over granting permissions requested from their apps and leads to faster app installs. Users can also revoke these permissions from Settings at any point of time. If an app running on the M Preview supports the new permissions model, the user does not have to grant any permissions when they install or upgrade the app. Developers should check for permissions that require runtime grant from users, and request them if the app doesn’t already have them.



To list all permissions that require runtime grant from users on Android 6.0 -




adb shell pm list permissions -g -d


RECORD_AUDIO



Apps should generally request as few permissions as possible. Voice search is an integral part of Android TV content discovery experience. When using the internal SpeechRecognizer to enable Voice Search, apps must declare RECORD_AUDIO permission in the manifest. RECORD_AUDIO requires explicit user grant during runtime in Android 6.0. When using the Android TV Leanback support library, apps can eliminate the need for requesting RECORD_AUDIO during runtime by using SpeechRecognitionCallback instead of SpeechRecognizer.



SearchActivity.java



Commit from Android TV Leanback Sample repository.





mFragment = (SearchFragment) getFragmentManager()
.findFragmentById(R.id.search_fragment);

if (!USE_INTERNAL_SPEECH_RECOGNIZER) {

mSpeechRecognitionCallback = new SpeechRecognitionCallback() {

@Override
public void recognizeSpeech() {
if (DEBUG) Log.v(TAG, "recognizeSpeech");

// ACTION_RECOGNIZE_SPEECH
startActivityForResult(mFragment.getRecognizerIntent(), REQUEST_SPEECH);
}
};
mFragment.setSpeechRecognitionCallback(mSpeechRecognitionCallback);
}




When SpeechRecognitionCallback is set, Android Leanback support library will let the your activity process the voice search action instead of using the internal SpeechRecognizer. The app can then use RecognizerIntent to support speech recognition.



If you have an Android TV app targeting API Level 23, please update the app to use SpeechRecognitionCallback and remove RECORD_AUDIO permission from your manifest.

Play Games Loot Drop for Developers

Posted by Ben Frenkel, Product Manager Google Play Games



Launched last March, Player Analytics is already becoming an important tool for many game developers, helping them to manage their games businesses and optimize in-game player behavior. Today we’re expanding Player Analytics with two new analytics reports that give you better visibility into time-based player activity and custom game events. We’re also introducing a new Player Stats API to let you tune your game experience for specific segments of players across the game lifecycle. Along with those, we’re rolling out a new version of our C++/iOS SDKs and Unity plug-in and giving you better tools to manage repeating Quests.



New useful reports for developers



We are launching two new reports later this week in the Play Games developer console: the Player Time Series Explorer and the Events Viewer. We’ve also made improvements to our player retention report.



Player Time Series Explorer



Ever wondered what your players are doing in the first few minutes of gameplay? What happens just before players spend or churn? The time-series explorer lets you understand what happens in these critical moments for your players.



For example, you carefully built out the first set of experiences in your game, but are surprised by how many players never get through even the first set of challenges. With the Player Time Series Explorer, you can now see which challenges are impeding player progress most, and make targeted improvements to decrease the rate of churn. Learn more.



Customize settings to explore player time series





Select from a list of preset questions





Find out what happens before your players spend for the first time



Select “What happens before first spend” to see what happens just before your players spend for the first time. Time series are aligned by first spend event so you can easily explore what happened just before and after first purchase.





Find out what happens before your players churn



Select “What happens before churn” to see what happens before your players stop playing. In the example below, all the churn events are right aligned to make it easier to compare player time series.





Hovering over events shows you additional details

You can see more details for all event types by holding your cursor over the event’s shape. In this example, you can see that “Player 03” spent $4.99 after earning six achievements. Hovering over the achievement shapes will show you which specific achievements were earned.





Events Viewer



Now you can create your own reports based on your custom Play Games’ events. You can select multiple events to display and bookmark the report for easy access. Learn more.



Here’s an example showing how a developer can compare the rates at which Players are entering contests, winning, and almost winning. This report would identify opportunities to improve the balance of its contest modes. You can then bookmark the settings so you can easily track improvements.





28x28 day retention grid



We added a 28-day-by-28-day retention grid to help you compare retention rates across a larger number of new user cohorts.





Tailor player experiences with the Player Stats API



Stats and reports give you insights into your what your players are doing, but wouldn’t it be nice to take action on those insights in your game? That’s what the Player Stats API is all about. The Player Stats API lets you tailor player experiences to specific segments of players across the game lifecycle. Player segments are based on player progression, spend, and engagement.



Here are some examples of what you can do with Player Stats API:



  • For highly engaged players that just aren’t spending, you can show them special bonuses that are aimed at recruiting others to play instead of spending

  • For your most prolific spenders, you can provide occasional free gifts and upgrades

  • For users that haven’t found their stride in your game, you can show them a video that directs them to community features, like clan attacks or alliances, that drive deeper engagement

  • For players that have been away from the game for a while, you can give them a welcome back message that acknowledges impressive accomplishments, and award a badge designed to encourage return play


The Player Stats API is launching in the next few weeks.



C++/iOS SDK and Unity Plug-in updates



iOS support for Play game services just got a lot better. This update includes improved CocoaPods support, which will make it easier to configure Play game services in Xcode. This also means you’ll have a much easier time building for iOS using the Unity plug-in as well.



The latest build of the C++/iOS SDKs is now built on the new Google Sign-In framework, which adds support for authentication via multiple Google apps, including Gmail and YouTube. More importantly, if a player does not have any applicable Google apps installed, the Sign-In framework will bring up a webview within the app for authentication. Opening up a webview inside the app, instead of switching to a separate browser instance, makes for a much better user experience, and addresses a top developer request. For more on the new Google Sign-in library on iOS, check out this video. Learn more.



Improved Quests



Quests are a great way of engaging your players with new goals, and with this update we have made managing Quests easier with the introduction of repeating Quests. You can create Quests that run weekly or monthly by checking the repeating quest box. This will make it easier for you to engage your players with regularly occurring challenges. Repeating Quests will be launching in the next few weeks.



If you have previously integrated Quests, you can easily convert them into repeating quests by following two easy steps.



1. Go to Quests section of developer console, and open up an existing Quest. Click the copy Quest button at the top of the page





2. Scroll down to the Schedule section of the Quest form, check the “Repeating quest” box, select between monthly and weekly quests under “Repeats”, and leave the “Ends:” field set to “Never”. After hitting save, you are done! From then on, the quest will run weekly or monthly until you decide to end it.





Google Play game services (GPGS) docs and SDK downloads



New Course: Android Design for Developers

Posted by Nick Butcher, pixel pusher





What makes an app intuitive and easy to use? What makes it hard or frustrating? How can your app stand out in a competitive market? Learn the fundamentals of good Android design and the patterns that have proven to work on Android to help you to build better apps.



This 5-lesson series, available on Udacity, begins with a crash course on the fundamentals of Android UI design. It helps you to sort your DIPs from your pixels, to pick the right layouts and navigation structures and shows you how to style your app to match your brand. The rest of the course is a deep dive into the principles and implementation of material design to show you how to build beautiful consistent experiences that are right at home on Android.






Lesson 2 dives into the concept of tangible surfaces, and how they establish hierarchy to make your UI more understandable. Lesson 3 looks at applying bold graphic design, or how the principles of space, color, typography and imagery help you to create a beautiful, branded experience. Lesson 4 studies the use of meaningful motion to bring your apps to life and create a seamless and more intuitive experience. Finally, lesson 5 shows how adaptive design makes your app shine on any screen size.



This course is aimed at developers familiar with Android who want to boost their design skills or designers who want to understand more about the platform they’re creating for. The full course is available for free or you can enroll in Udacity’s Android Nanodegree for extra help and support. So sign up for the Android design for developers course and go build something brilliant!

Android Wear: New watch styles and sizes


As the season turns, it's the perfect time to update your look: out with swimsuits and flip flops, and in with scarves and Fall coats! Regardless of where your wardrobe lands, today's new Android Wear watches let you express your style—whether you rock Android or iPhone.
  • Get the Huawei Watch in six different designs with silver, gold, and black metal finishes. With an ultra-high resolution display, you’ll get a crystal clear view of all 40+ built-in watch faces. The watch’s sensors let you track not only running and walking, but also stair climbing.
  • Choose between the small or large ASUS ZenWatch 2, starting at $129. Both come in silver, rose gold, and gunmetal finishes with bands of different styles and materials. Get instant access to agenda and email with the built-in productivity app as well as fitness reminders with the wellness app. 
  • Check out four new Moto 360 watches: Moto 360 for Women, Moto 360 in two different sizes, and Moto 360 Sport. Pick among rose gold, gold, silver, and black metal finishes for Moto 360 and a variety of stainless steel and leather bands. Want to go on a run without your phone? The Moto 360 Sport features built-in GPS and a display that’s easy to read outdoors. 
All of today's watches also include improved battery life, always-on displays, and quick-release bands, so it's even easier to glance at your important info, and make your watch your own.

The Huawei Watch, Moto 360 for Women, and new Moto 360 are available for pre-order today. And all other watches will go on sale in the coming weeks. So choose the watch that fits your style and wear exactly what you want!

Posted by Ryan Barnett, Partner Technology Manager, Android Wear

Chrome custom tabs smooth the transition between apps and the web

Originally posted on the Chromium blog




Posted by Yusuf Ozuysal, Chief Tab Customizer




Android app developers face a difficult tradeoff when it comes to showing web content in their Android app. Opening links in the browser is familiar for users and easy to implement, but results in a heavy-weight transition between the app and the web. You can get more granular control by building a custom browsing experience on top of Android’s WebView, but at the cost of more technical complexity and an unfamiliar browsing experience for users. A new feature in the most recent version of Chrome called custom tabs addresses this tradeoff by allowing an app to customize how Chrome looks and feels, making the transition from app to web content fast and seamless.





Chrome custom tabs with pre-loading vs. Chrome and WebView



Chrome custom tabs allow an app to provide a fast, integrated, and familiar web experience for users. Custom tabs are optimized to load faster than WebViews and traditional methods of launching Chrome. As shown above, apps can pre-load pages in the background so they appear to load nearly instantly when the user navigates to them. Apps can also customize the look and feel of Chrome to match their app by changing the toolbar color, adjusting the transition animations, and even adding custom actions to the toolbar so users can perform app-specific actions directly from the custom tab.



Custom tabs benefit from Chrome’s advanced security features, including its multi-process architecture and robust permissions model. They use the same cookie jar as Chrome, allowing a familiar browsing experience while keeping users’ information safe. For example, if a user has signed in to a website in Chrome, they will also be signed in if they visit the same site in a custom tab. Other features that help users browse the web, like saved passwords, autofill, Tap to Search, and Sync, are also available in custom tabs.











Custom tabs are easy for developers to integrate into their app by tweaking a few parameters of their existing VIEW intents. Basic integrations require only a few extra lines of code, and a support library makes more complex integrations easy to accomplish, too. Since custom tabs is a feature of Chrome, it’s available on any version of Android where recent versions of Chrome are available.



Users will begin to experience custom tabs in the coming weeks in Feedly, The Guardian, Medium, Player.fm, Skyscanner, Stack Overflow, Tumblr, and Twitter, with more coming soon. To get started integrating custom tabs into your own application, check out the developer guide.

Games developer, Dots, share their Do’s and Don’ts for improving your visibility on Google Play


Posted by Lily Sheringham, Developer Marketing at Google Play


Editor’s note: A few weeks ago we shared some tips from game developer, Seriously, on how they’ve been using notifications successfully to drive ongoing engagement. This week, we’re sharing tips from Christian Calderon at US game developer, Dots, on how to successfully optimize your Play Store Listing. -Ed.









A well thought-out Google Play store listing can significantly improve the discoverability of your app or game and drive installations. With the recent launch of Store Listing Experiments on the Google Play Developer Console, you can now conduct A/B tests on the text and graphics of your store listing page and use the data to make more informed decisions.



Dots is a US-founded game developer which released the popular game, Dots, and its addictive sequel, TwoDots. Dots used its store listings to showcase its brands and improve conversions by letting players know what to expect.






Christian Calderon, Head of Marketing for Dots, shared his top tips with us on store listings and visibility on Google Play.






Do’s and Don’ts for optimizing store listings on Google Play
























Do’s
Don’ts
Do be creative and unique with the icon. Try to visually convince the user that your product is interesting and in alignment with what they are looking for.

Don’t spam keywords in your app title. Keep the title short, original and thoughtful and keep your brand in mind when representing your product offering.
Do remember to quickly respond to reviews and implement a scalable strategy to incorporate feedback into your product offering. App ratings are important social proof that your product is well liked.
Don’t overload the ‘short description’. Keep it concise. It should be used as a call-to-action to address your product’s core value proposition and invite the user to install the application. Remember to consider SEO best practices.

Do invest in a strong overall paid and organic acquisition strategy. More downloads will make your product seem more credible to users, increasing the likeliness that a user will install your app.
Don’t overuse text in your screenshots. They should create a visual narrative for what’s in your game and help users visualize your product offering, using localization where possible.
Do link your Google Play store listing to your website, social media accounts, press releases and any of your consumer-facing channels that may drive organic visibility to your target market. This can impact your search positioning.
Don’t have a negative, too short or confusing message in your “What’s New” copy. Let users know what updates, product changes or bug fixes have been implemented in new versions. Keep your copy buoyant, informative, concise and clear.
Do use Video Visualization to narrate the core value proposition. For TwoDots, our highest converting videos consist of gameplay, showcasing features and events within the game that let the player know exactly what to expect.
Don’t flood the user with information in the page description. Keep the body of the page description organized and concise and test different structural patterns that works best for you and your product!






Use Google Play Store Listing Experiments to increase your installs


As part of the 100 Days of Google Dev video series, Kobi Glick from the Google Play team explains how to test different graphics and text on your app or game’s Play Store listing to increase conversions using the new Store Listing Experiments feature in the Developer Console.










Find out more about using Store Listing Experiments to turn more of your visits into installs.

Android Wear now works with iPhones

Editor's note: As of September 2, you can check out new watches from Huawei, ASUS, and Motorola that all work with iPhones. 

(Cross posted on the Official Google Blog)

When you wear something every day, you want to be sure it really works for you. That’s why Android Wear offers countless design choices, so you can find the watch that fits your style. Want a round watch with a more classic look? Feel like a new watch band? How about changing things up every day with watch faces from artists and designers? With Android Wear you can do all of that. And now, Android Wear watches work with iPhones.

Android Wear for iOS is rolling out today. Just pair your iPhone (iPhone 5, 5c, 5s, 6, or 6 Plus running iOS 8.2+) with an Android Wear watch to bring simple and helpful information right to your wrist:
  • Get your info at a glance: Check important info like phone calls, messages, and notifications from your favorite apps. Android Wear features always-on displays, so you’ll never have to move your wrist to wake up your watch.
  • Follow your fitness: Set fitness goals, and get daily and weekly views of your progress. Your watch automatically tracks walking and running, and even measures your heart rate.
  • Save time with smart help: Receive timely tips like when to leave for appointments, current traffic info, and flight status. Just say “Ok Google” to ask questions like “Is it going to rain in London tomorrow?” or create to-dos with “Remind me to pack an umbrella.”

Today, Android Wear for iOS works with the LG Watch Urbane. All future Android Wear watches, including those from Huawei (pictured above), ASUS, and Motorola will also support iOS, so stay tuned for more. 

Dr. Seuss once said: “Today you are You, that is truer than true. There is no one alive who is Youer than You.” We agree. So whoever You are, and whatever You like—Android Wear lets you wear what you want.

Posted by David Singleton, Director of Engineering, Android Wear