Aug 28

Verifying your Google Assistant media action integrations on Android


Posted by Nevin Mital, Partner Developer Relations

The Media Controller Test (MCT) app is a powerful tool that allows you to test the intricacies of media playback on Android, and it’s just gotten even more useful. Media experiences including voice interactions via the Google Assistant on Android phones, cars, TVs, and headphones, are powered by Android MediaSession APIs. This tool will help you verify your integrations. We’ve now added a new verification testing framework that can be used to help automate your QA testing.

The MCT is meant to be used in conjunction with an app that implements media APIs, such as the Universal Android Music Player. The MCT surfaces information about the media app’s MediaController, such as the PlaybackState and Metadata, and can be used to test inter-app media controls.

The Media Action Lifecycle can be complex to follow; even in a simple Play From Search request, there are many intermediate steps (simplified timeline depicted below) where something could go wrong. The MCT can be used to help highlight any inconsistencies in how your music app handles MediaController TransportControl requests.

Timeline of the interaction between the User, the Google Assistant, and the third party Android App for a Play From Search request.

Previously, using the MCT required a lot of manual interaction and monitoring. The new verification testing framework offers one-click tests that you can run to ensure that your media app responds correctly to a playback request.

Running a verification test

To access the new verification tests in the MCT, click the Test button next to your desired media app.

MCT Screenshot of launch screen; contains a list of installed media apps, with an option to go to either the Control or Test view for each.

The next screen shows you detailed information about the MediaController, for example the PlaybackState, Metadata, and Queue. There are two buttons on the toolbar in the top right: the button on the left toggles between parsable and formatted logs, and the button on the right refreshes this view to display the most current information.

MCT Screenshot of the left screen in the Testing view for UAMP; contains information about the Media Controller's Playback State, Metadata, Repeat Mode, Shuffle Mode, and Queue.

By swiping to the left, you arrive at the verification tests view, where you can see a scrollable list of defined tests, a text field to enter a query for tests that require one, and a section to display the results of the test.

MCT Screenshot of the right screen in the Testing view for UAMP; contains a list of tests, a query text field, and a results display section.

As an example, to run the Play From Search Test, you can enter a search query into the text field then hit the Run Test button. Looks like the test succeeded!

MCT Screenshot of the right screen in the Testing view for UAMP; the Play From Search test was run with the query 'Memories' and ended successfully.

Below are examples of the Pause Test (left) and Seek To test (right).

MCT Screenshot of the right screen in the Testing view for UAMP; a Pause test was run successfully.

MCT Screenshot of the right screen in the Testing view for UAMP; a Seek To test was run successfully.

Android TV

The MCT now also works on Android TV! For your media app to work with the Android TV version of the MCT, your media app must have a MediaBrowserService implementation. Please see here for more details on how to do this.

On launching the MCT on Android TV, you will see a list of installed media apps. Note that an app will only appear in this list if it implements the MediaBrowserService.

Android TV MCT Screenshot of the launch screen; contains a list of installed media apps that implement the MediaBrowserService.

Selecting an app will take you to the testing screen, which will display a list of verification tests on the right.

Android TV MCT Screenshot of the testing screen; contains a list of tests on the right side.

Running a test will populate the left side of the screen with selected MediaController information. For more details, please check the MCT logs in Logcat.

Android TV MCT Screenshot of the testing screen; the Pause test was run successfully and the left side of the screen now displays selected MediaController information.

Tests that require a query are marked with a keyboard icon. Clicking on one of these tests will open an input field for the query. Upon hitting Enter, the test will run.

Android TV MCT Screenshot of the testing screen; clicking on the Seek To test opened an input field for the query.

To make text input easier, you can also use the ADB command:

adb shell input text [query]

Note that ‘%s’ will add a space between words. For example, the command adb shell input text hello%sworld will add the text “hello world” to the input field.

What’s next

The MCT currently includes simple single-media-action tests for the following requests:

  • Play
  • Play From Search
  • Play From Media ID
  • Play From URI
  • Pause
  • Stop
  • Skip To Next
  • Skip To Previous
  • Skip To Queue Item
  • Seek To

For a technical deep dive on how the tests are structured and how to add more tests, visit the MCT GitHub Wiki. We’d love for you to submit pull requests with more tests that you think are useful to have and for any bug fixes. Please make sure to review the contributions process for more information.

Check out the latest updates on GitHub!


Android Developers Blog

Jul 11

How creating an Action can complement your Android app


Posted by Neto Marin – Actions on Google Developer Advocate

There are millions of apps in the Android ecosystem, so helping yours get discovered can require some investment. Your app needs to offer something that differentiates it from other similar apps to stand out to users.

Building a companion Action is a fast and simple way to increase your Android app’s potential reach by creating a new entrypoint from devices covered by the Google Assistant. This lets you bring your services to users without needing to install anything through voice, and can bring people into your app when it can provide more value.

Your companion Action complements your Android app’s experience by offering some of your services through the Google Assistant, which is available on more than 500 million devices including speakers, phones, cars, headphones, and more. Creating an Action provides a frictionless way for users to start engaging with your services wherever the Google Assistant is available.

Creating an Action for the Assistant will extend your brand presence, bringing your services to new devices and contexts as users interact with the Google Assistant.

Feature what your app does better

It is probably a mistake to try to rewrite all of your Android app as a conversational Action, since voice is a different modality with different constraints and usage patterns. Instead, you should start by selecting the most important or popular features in your app that translate well into a voice context and can be more easily accomplished there. Then, you can create your conversational experience to offer these features on Google Assistant devices. Check out the Conversation design site, which has several articles and guides about how to create a great voice UI.

Let’s take a look at a hypothetical example. Imagine you have a mobile commerce app. Some features include searching for products, navigating to different categories, adding payment information, and checking out. You could build an Action for the Assistant with most of the same functionality, but we encourage you to look for what makes the most sense in a conversational experience.

In this case, your Action could focus on everything that a user would want to know after they’ve purchased a product through your Android app or web page. You could offer a quick way to get updates about a purchase’s status (if you provide different states for payment/purchase process) and shipment information, or provide an interface for re-ordering a user’s favorite products. Then, your users would be able to ask something like, “Hey Google, ask Voice Store about my last purchase.”

Or, to reach users who have never made a purchase before, you could create an Action to offer exciting deals for common products. For example, you could create an Action that is invoked with, “Hey Google, ask Voice Store what are the deals on TVs today”.

As you can see, starting with a “hero” use case for your Action is an exciting way to introduce conversational features that complement your Android app, and it will take less time than you think.

At Google I/O 2018, we presented a talk, “Integrating your Android apps with the Google Assistant” which contains more details and examples for developers.

Delivering user’s purchases across surfaces

In-app purchases, subscriptions, and one-time products have proven successful for Android developers when it comes to monetization, allowing developers to offer different kinds of digital goods and additional value for paying users. These types of monetization are proven to drive user conversion and make the app more profitable.

Google Play Billing offers a series of tools, APIs, and documentation to help developers manage the subscription life-cycle, build server-side validation, and much more. If you are new to in-app billing, check out the Google Play Billing Overview page.

Now, Android developers can expand where users can access these goods or upgraded experiences by offering them through Actions, as well. This expansion is accomplished by honoring the user’s entitlements on Google Play across different surfaces and devices, reaching users when they can’t (or don’t want to) use an app, like while cooking or driving.

For non-Android platforms, you’ll need to ask your users to link their accounts. You can then use your user’s account history to identify what purchases they’ve made on other surfaces.

Check the Accessing Digital Purchases page for a step-by-step guide on how to enable access to the user’s purchases and request and parse the purchase data.

What’s next?

If you are not familiar with Actions on Google yet, start by checking out our overview page, which describes the platform in detail and tells you all you need to know to create your Actions for the Google Assistant.

Stay tuned for more posts about how to improve your Android app experience with Actions on Google.

Thanks for reading!


Android Developers Blog

Aug 02

Mirillis Action 2.6.0 Crack + Lifetime Serial Key 2017

Mirillis Action 2.6.0  crack License key permits streaming and recording that’s time period of Windows desktop in HD video clip quality. you’ll be able to record and stream your gameplay, internet player videos, record music, and capture screenshots. Mirillis Action 2.6.0  Crack provides outstanding performance and GPU utilization that enables the time period that’s smoothest HD gameplay moving-picture show recording. you’ll be able to show gift and game that’s average value (FPS) throughout gameplay and save yourself your benchmark results. The applying to boot offers the speed that’s most of your recorded content too.

In regards to digital quality, there’s actually very little left to the imagination as a results of professional-grade hardware acceleration. This games utility employs full-HD/4k recording that’s 60p being encoded directly into Associate in Nursing MP4 format. Mirillis Action a pair of.5.1 Crack files ar encrypted creating use of the hardware acceleration technologies that ar latest like AMD APP, NVIDIA NVENC, and Intel fast set Video. extremely sleek videos could record whereas their quality won’t use a lot of house on a drive that’s exhausting.

Mirillis Action 2.6.0 Serial key+ defines a fresh expertise for time period desktop recording software package. Record sleek framerate that’s high videos of one’s desktop and applications activity, add electro-acoustic transducer audio comment and turn out nice tutorials with simplicity, time period internet videos recording. Record everything you see. no matter that video service you may be utilising with Action, you’ll be able to record videos from ANY internet player.

Mirillis Action 2.6.0  Key Features:-

  1. It will record something you hear in your laptop.
  2. Effortless video tracks playback.
  3. The performance that’s outstanding
  4. Control your gameplay or screen video recordings with free Action! RCU app for golem
  5. Include sound that’s real time to your screen and gameplay tracks
  6. Excellent motion that’s sluggish for your gameplay tracks
  7. The most easy and interface that’s trendy of screen recorders
  8. Capturing multiple screenshots of your games or desktop is feasible.
  9. Smooth screen recording for time period web videos recording.
  10. Record Windows gameplay and desktop in outstanding 4K
  11. Keep all game that’s spectacular with Time-Shift

Free Software Download

Mar 03

Amstrad ACTION!

Greetings Humanoids!

It’s always exciting when new releases get added to the Psytronik catalogue (well, I get excited about it anyway!) and it’s even MORE exciting when it’s releases for a new format that I haven’t supported before. I was particularly pleased to add two titles for the Amstrad CPC to the Psytronik range this month as I’ve always had a bit of a soft spot for the Amstrad (and I’m not talking about the marsh at the bottom of the garden – Badum-tish!)

Anyway, I actually got into the Amstrad CPC kind of by mistake originally. Before I owned an Amstrad I was an avid ZX Spectrum user. I LOVED playing games on my Speccy and I can’t imagine how many HOURS I used to wile away playing classic Ultimate games and various other Speccy related goodies – until one fateful day I went round to my friends house and played on his Commodore 64. My little computer-mad mind was blown apart by the beige wonderbox. I had NEVER seen a C64 in action until that moment. One of the games he showed me was Uridium and I just couldn’t believe what I was seeing. Stunning bas-relief arcade style graphics, absolutely silky smooth scrolling and THAT music. And so started my love affair with the Commodore 64 and its awesome SID sound chip. From that moment on I was certain of just one thing … I WANTED A COMMODORE 64! I lived and DREAMED about C64 games, I listened to C90 tapes filled with the latest Commodore 64 tunes that my friend compiled me and spent many a happy Saturday round at my friends house playing on his C64.

And then my Dad decided to buy me a new computer to upgrade my ageing Speccy. He obviously sought advice from Mr Computer Store bloke as to what computer to get me – and I can just picture the bloke in the store saying THIS computer comes with a colour monitor, a built-in tape deck, a better version of BASIC, stereo sound and MORE colours. You don’t want to buy your son a Commodore 64, you want to buy him THIS computer … Which was an Amstrad CPC 464 … And so he did. Instead of zooming around in my Manta class starfighter blowing up dreadnoughts in Uridium what did I get instead? Roland on the sodding ropes!!

This is NOT Uridium!

BUT, before all you Amstrad fans start typing angry emails, fear not my retro chums. I stuck with this strange machine that my Dad had given me and after a while I discovered some real gaming gems were available for the Amstrad. I have many happy memories of playing delights such as Get Dexter, Tempest, Mercenary (faster than the C64 and higher-res too!), Feud (with THAT tune that blows away the C64 version), Knight Lore, Alien 8 and Head Over Heels (4 colour bitmap screens – NICE!) I even began to appreciate the AY-3-8912 sound chip thanks to the likes of David Whittaker and Dave Rogers who churned out some great tunes. It was those years spent dabbling with the Amstrad that game me a certain amount of fondness for the machine.

This computer is NOT s**t with sugar on top.
(see what I did there?)

Of course, all that came to an abrupt end when I eventually bought myself a C64 and sold my Amstrad, but the Amstrad love still remains to this day. :)

Now flash forward to 2010 and my little Psytronik Software label is churning out releases like billy’o. I received an email from Paul Koositra, an Australian programmer who was looking for a publisher for the 128K version of his awesome Star Sabre shoot ‘em up and forthcoming title Dead on Time – both for the Amstrad CPC. I naturally jumped at the chance to support the Amstrad CPC once again and so we worked together on the Psytronik release of the games. Thanks to the wonders of email it was easy for Paul to send me Beta versions of the games but things got a bit more tricky when it came to actually mastering the games. The first obvious problem is that Paul lives over 8000 miles away from me. The second problem is getting hold of a supply of blank 3″ disks – which ended up with me fighting in my PANTS on eBay over a box of the mythical (and rather pricey) 3″ disks. The disks I received then had to have gooey labels removed (not a result of my pant-fighting, I might add), shiny new Psytronik labels added and then the disks had to be shipped all the way to Australia for Paul to copy the game onto them. The disks then had to be shipped all the back to the UK (a round-trip of over 16000 miles!) before I could add the Star Sabre disks to the Binary Zone store.

Only one other problem remained. I always like to test any Psytronik games before they go in the post. This wasn’t a problem for Dead on Time becuase, in a moment of retro weakness, I had actually obtained an Amstrad CPC 464 with a colour monitor, and although it had been languishing in my shed for a while, it was nice to set it up once again so I could test the Dead on Time tapes.

My CPC 464 – no longer based in the shed!

BUT … Star Sabre is a DISK game – and it’s 128K only. So, in ANOTHER moment of retro weakness, I managed to win a CPC 6128 on eBay. A bit of a risky purchase I might add as it was an untested machine (and it cost me a tad more than I expected!) Luckily for me, the Amstrad itself worked fine. The built-in disk-drive didn’t work however – but Paul warned me that the CPC drives were prone to the drive belts breaking. I followed the CPC Wiki guide to opening up a CPC in order to replace the drive belt, and sure enough, the belt had completely disintegrated! So after an hour of faffing about I managed to clear out all the bits of broken belt-belt, removed the gooey bits that were stuck to the spindle (what IS it with Amstrad disks and goo?) and I managed to fit a new drive belt. I reassembled the Amstrad, fired it up, inserted a Star Sabre disk and you know what happened? It only bloody worked!! This meant I could test the disks before they went in the post. Yay!

Red-hot CPC disk loading ACTION!

BUT, the CPC game saga didn’t end there! Star Sabre was originally meant to be packaged in a 5.25″ disk case – and I actually produced an inlay to fit inside one of these cases. As Dead on Time was a tape game Paul asked me if the game could be packaged in one of those clear twin-tape boxes that were popular with 8-bit games back in the day (I’m not quite sure why exactly so many single-tape games were released in double tape boxes, but I’m pretty sure it’s just because they looked cooler on the shop-shelves). Anyway, when I put the two Amstrad games together it looked a bit strange having them in mis-matched packaging – but as a 3″ disk will easily fit into a twin-tape box I decided at the very last minute to re-package the game so it would match Dead on Time. Phew!!

And that, my friends, is how the Amstrad CPC titles were added to the Psytronik range. It involved a heck of a lot of time, a lot of faffing (that’s my word of the day) and a lot of cash outlay which I totally don’t expect to get back with the sales of the games. But hey, that’s not what Psytronik is about. It’s putting those nice packages containing shiny Psytronik releases into the hands of retro gamers that makes it all worthwhile. :)

One last thing … If there’s anyone based in the UK who would be willing to duplicate some Star Sabre disks for me, please get in touch – kenz@binaryzone.org … It would sure make things easier than sending the disks 16000 miles to be duplicated! The first batch of Star Sabre disks have now sold out but as soon as I sort out a way of getting more disks duplicated I shall make the game available in the Binary Zone Retro Store once again.

Thanks for reading, see you … IN THE FUTURE!

Kenz / www.psytronik.com (16/04/10)
Psytronik Software