Spreading holiday cheer with great deals on Google Play

As temperatures drop, stay warm and entertained with these hot holiday deals on Google Play. Starting today, you’ll be able to find your favorite movies, apps, games, music, TV and books at deep discounts. Just in time for the holidays, these deals for Black Friday and Cyber Monday run through November 27 in select markets.

Battle in your favorite games—not the crowds—on Black Friday.

Avoid store crowds and battle it out with a favorite game instead. Google Play offers discounts of up to 80 percent for premium games, including Call of Duty: Black Ops Zombies, LEGO Ninjago: Shadow of Ronin and LEGO® Jurassic World™  and more. You’ll also get special discounts, power ups and unlimited lives for the perennially popular Gardenscapes and Homescapes games on Google Play.

Set the mood with Google Play Music.

‘Tis the season to start playing songs of cheer. You can get a Google Play Music subscription free for four months, for the right songs to suit your mood anytime.

Survive the season with must-have apps.

When you need a last-minute recipe or a mental break from those holiday errands, Google Play has you covered with discounts on hundred of apps, including a 50 percent discount on a monthly subscription to Colorfy.

Take a turkey break with a movie or TV show.

Once the meal is done and the dishes are cleared, wind down with a favorite classic or a new release as Google Play offers 50 percent off any one movie to own and 25 percent off a TV season of your choice starting on November 23. You’ll also be able to rent any movie for 99 cents for one day only on November 25.

Whether it’s catching up on the latest episodes of “The Walking Dead” or “Outlander,” the latest Minion antics in “Despicable Me 3” or a young Peter Parker in “Spider-Man: Homecoming,” there’s something the entire family can enjoy.

Snuggle in with a good book.

The weather outside may be frightful, but a good book can be delightful. Whether it’s a bedtime story or the latest mystery, Google Play is offering a $5 credit towards any book over $5 and discounts on top titles starting on November 23. You can also find some of the most popular omnibus comics books, including Batman: The Complete Hush, Thor and Flashpoint, for $5 or less on November 25 only.

For more information on these and other deals throughout the season, head to Google Play’s Holiday Hub.

Tune in for the world’s first Google Translate music tour

Eleven years ago, Google Translate was created to break down language barriers. Since then, it has enabled billions of people and businesses all over the world to talk, connect and understand each other in new ways.

And we’re still re-imagining how it can be used—most recently, with music. The music industry in Sweden is one of the world’s most successful exporters of hit music in English—with artists such Abba, The Cardigans and Avicii originating from the country. But there are still many talented Swedish artists who may not get the recognition or success they deserve except for in a small country up in the north.

This sparked an idea: might it be possible to use Google Translate with the sole purpose of breaking a Swedish band internationally?

Today, we’re presenting Translate Tour, in which up and coming Swedish indie pop group Vita Bergen will be using Google Translate to perform their new single “Tänd Ljusen” in three different languages—English, Spanish and French—on the streets of three different European cities. In just a couple of days, the band will set off to London, Paris and Madrid to sing their locally adapted songs in front of the eyes of the public—with the aim of spreading Swedish music culture and inviting people all over the world to tune into the band’s cross-European indie pop music.

Translate Tour 2_Credit Anton Olin.jpg

William Hellström from Vita Bergen will be performing his song in English, Spanish and French.

Last year Google Translate switched from phrase-based translation to Google Neural Machine Translation, which means that the tool now translates whole sentences at a time, rather than just piece by piece. It uses this broader context to figure out the most relevant translation, which it then rearranges and adjusts to be more like a human speaking with proper grammar.

Using this updated version of Google Translate, the English, Spanish and French translations of the song were close to flawless. The translations will also continue to improve, as the system learns from the more people using it.

Tune in to Vita Bergen’s release event, live streamed on YouTube today at 5:00 p.m. CEST, or listen to the songs in Swedish (“Tänd Ljusen”), English (“Light the Lights”), Spanish (“Enciende las Luces”) and French (“Allumez les Lumières”).

Learn more about the world around you with Google Lens and the Assistant

Looking at a landmark and not sure what it is? Interested in learning more about a movie as you stroll by the poster? With Google Lens and your Google Assistant, you now have a helpful sidekick to tell you more about what’s around you, right on your Pixel.

lens assistant

When we introduced the new Pixel 2 last month, we talked about how Google Lens builds on Google’s advancements in computer vision and machine learning. When you combine that with the Google Assistant, which is built on many of the same technologies, you can get quick help with what you see. That means that you can learn more about what’s in front of you—in real time—by selecting the Google Lens icon and tapping on what you’re interested in.

Here are the key ways your Assistant and Google Lens can help you today:

  • Text: Save information from business cards, follow URLs, call phone numbers and navigate to addresses.
  • Landmarks: Explore a new city like a pro with your Assistant to help you recognize landmarks and learn about their history.
  • Art, books and movies: Learn more about a movie, from the trailer to reviews, right from the poster. Look up a book to see the rating and a short synopsis. Become a museum guru by quickly looking up an artist’s info and more. You can even add events, like the movie release date or gallery opening, to your calendar right from Google Lens.
  • Barcodes: Quickly look up products by barcode, or scan QR codes, all with your Assistant.

Google Lens in the Assistant will be rolling out to all Pixel phones set to English in the U.S., U.K., Australia, Canada, India and Singapore over the coming weeks. Once you get the update, go to your Google Assistant on your phone and tap the Google Lens icon in the bottom right corner.

lens assistant image

We can’t wait to see how Google Lens helps you explore the world around you, with the help of your Google Assistant. And don’t forget, Google Lens is also available in Google Photos, so even after you take a picture, you can continue to explore and get more information about what’s in your photo. 

Moving Past GoogleApiClient

Posted by Sam Stern, Developer Programs Engineer

The release of version 11.6.0 of the Google Play services SDK moves a number of popular APIs to a new paradigm for accessing Google APIs on Android. We have reworked the APIs to reduce boilerplate, improve UX, and simplify authentication and authorization.

The primary change in this release is the introduction of new Task
and GoogleApi
based APIs to replace the GoogleApiClient access pattern.

The following APIs are newly updated to eliminate the use of
GoogleApiClient:

  • Auth – updated the Google Sign In and Credentials APIs.
  • Drive – updated the Drive and Drive Resource APIs.
  • Fitness – updated the Ble, Config, Goals, History,
    Recording, Sensors, and Sessions APIs.
  • Games – updated the Achievements, Events, Games, Games
    Metadata, Invitations, Leaderboards, Notifications, Player Stats, Players,
    Realtime Multiplayer, Snapshots, Turn Based Multiplayer, and Videos APIs.
  • Nearby – updated the Connections and Messages
    APIs.

These APIs join others that made the switch in previous releases, such as the
Awareness, Cast, Places, Location, and Wallet APIs.

The Past: Using GoogleApiClient

Here is a simple Activity that demonstrates how one would access the Google
Drive API using GoogleApiClient using a previous version of the
Play services SDK:

public class MyActivity extends AppCompatActivity implements
        GoogleApiClient.OnConnectionFailedListener,
        GoogleApiClient.ConnectionCallbacks {

    private static final int RC_SIGN_IN = 9001;

    private GoogleApiClient mGoogleApiClient;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        GoogleSignInOptions options =
               new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                        .requestScopes(Drive.SCOPE_FILE)
                        .build();

        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .enableAutoManage(this, this)
                .addConnectionCallbacks(this)
                .addApi(Auth.GOOGLE_SIGN_IN_API, options)
                .addApi(Drive.API)
                .build();
    }

    // ...
    // Not shown: code to handle sign in flow
    // ...

    @Override
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
        // GoogleApiClient connection failed, most API calls will not work...
    }

    @Override
    public void onConnected(@Nullable Bundle bundle) {
        // GoogleApiClient is connected, API calls should succeed...
    }

    @Override
    public void onConnectionSuspended(int i) {
        // ...
    }

    private void createDriveFile() {
        // If this method is called before "onConnected" then the app will crash,
        // so the developer has to manage multiple callbacks to make this simple
        // Drive API call.
        Drive.DriveApi.newDriveContents(mGoogleApiClient)
            .setResultCallback(new ResultCallback<DriveApi.DriveContentsResult>() {
                // ...
            });
    }
}

The code is dominated by the concept of a connection, despite using the
simplified “automanage” feature. A GoogleApiClient is only
connected when all APIs are available and the user has signed in (when APIs
require it).

This model has a number of pitfalls:

  • Any connection failure prevents use of any of the requested APIs, but using
    multiple GoogleApiClient objects is unwieldy.
  • The concept of a “connection” is inappropriately overloaded. Connection
    failures can be result from Google Play services being missing or from
    authentication issues.
  • The developer has to track the connection state, because making some calls
    before onConnected is called will result in a crash.
  • Making a simple API call can mean waiting for two callbacks. One to wait
    until the GoogleApiClient is connected and another for the API call
    itself.

The Future: Using GoogleApi

Over the years the need to replace GoogleApiClient became apparent,
so we set out to completely abstract the “connection” process and make it easier
to access individual Google APIs without boilerplate.

Rather than tacking multiple APIs onto a single API client, each API now has a
purpose-built client object class that extends GoogleApi. Unlike
with GoogleApiClient there is no performance cost to creating many
client objects. Each of these client objects abstracts the connection logic,
connections are automatically managed by the SDK in a way that maximizes both
speed and efficiency.

Authenticating with GoogleSignInClient

When using GoogleApiClient, authentication was part of the
“connection” flow. Now that you no longer need to manage connections, you
should use the new GoogleSignInClient class to initiate
authentication:

public class MyNewActivity extends AppCompatActivity {

    private static final int RC_SIGN_IN = 9001;

    private GoogleSignInClient mSignInClient;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        GoogleSignInOptions options =
               new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                        .requestScopes(Drive.SCOPE_FILE)
                        .build();

        mSignInClient = GoogleSignIn.getClient(this, options);
    }

    private void signIn() {
        // Launches the sign in flow, the result is returned in onActivityResult
        Intent intent = mSignInClient.getSignInIntent();
        startActivityForResult(intent, RC_SIGN_IN);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == RC_SIGN_IN) {
            Task<GoogleSignInAccount> task = 
                    GoogleSignIn.getSignedInAccountFromIntent(data);
            if (task.isSuccessful()) {
                // Sign in succeeded, proceed with account
                GoogleSignInAccount acct = task.getResult();
            } else {
                // Sign in failed, handle failure and update UI
                // ...
            }
        }
    }
}

Making Authenticated API Calls

Making API calls to authenticated APIs is now much simpler and does not require
waiting for multiple callbacks.

    private void createDriveFile() {
        // Get currently signed in account (or null)
        GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this);

        // Synchronously check for necessary permissions
        if (!GoogleSignIn.hasPermissions(account, Drive.SCOPE_FILE)) {
            // Note: this launches a sign-in flow, however the code to detect
            // the result of the sign-in flow and retry the API call is not
            // shown here.
            GoogleSignIn.requestPermissions(this, RC_DRIVE_PERMS, 
                    account, Drive.SCOPE_FILE);
            return;
        }

        DriveResourceClient client = Drive.getDriveResourceClient(this, account);
        client.createContents()
                .addOnCompleteListener(new OnCompleteListener<DriveContents>() {
                    @Override
                    public void onComplete(@NonNull Task<DriveContents> task) {
                        // ...
                    }
                });
    }

Before making the API call we add an inline check to make sure that we have
signed in and that the sign in process granted the scopes we require.

The call to createContents() is simple, but it’s actually taking
care of a lot of complex behavior. If the connection to Play services has not
yet been established, the call is queued until there is a connection. This is in
contrast to the old behavior where calls would fail or crash if made before
connecting.

In general, the new GoogleApi-based APIs have the following
benefits:

  • No connection logic, calls that require a connection are queued until a
    connection is available. Connections are pooled when appropriate and torn down
    when not in use, saving battery and preventing memory leaks.
  • Sign in is completely separated from APIs that consume
    GoogleSignInAccount which makes it easier to use authenticated APIs
    throughout your app.
  • Asynchronous API calls use the new Task API rather than
    PendingResult, which allows for easier management and
    chaining.

These new APIs will improve your development process and enable you to make
better apps.

Next Steps

Ready to get started with the new Google Play services SDK?

Happy building!

Making Visual Messaging Even Better – Introducing High Resolution Photos in Messenger

By Sean Kelly & Hagen Green, Product Managers, Messenger The way people message today is no longer limited by just text; visual messaging as our new universal language is much more emotional and expressive. Whether you’re catching up over moments big and small — like a recent vacation, an amazing meal at a new restaurant, […]

Iterative Design Done Right: Insights and Tips from Wealthsimple’s Design Director

Tom Creighton is a hands-on kind of design director. As head of UX for Wealthsimple, an online investment management service, he believes in the power of iterative design to build and release features on his company’s apps, across multiple devices. We asked why he’s such an advocate of the iterative design approach and asked him to share some of his tips for UX designers who want to work more iteratively in their own careers.

Two years of Google.org grants for racial justice

For many years, bold leaders across the U.S. have been using technology to foster a national dialogue on systemic inequity. Through painful moments like the Charleston church shooting, Googlers, like many others, asked what we could do to advance a more inclusive society. Two years ago, alongside our Black Googler Network and its allies, Google.org started a formal grant portfolio to advance racial and social justice in the United States.

In the spirit of understanding and getting closer to these complex issues, we began funding nonprofits fighting for racial justice in the California Bay Area—home to Google and many deep-rooted justice movements. In 2016, we doubled down on our commitment by supporting national organizations using data science and research to measure disparities in our system of mass incarceration. And today, we’re building on this commitment with another $7.5 million in grants to organizations advancing reform in our justice system, bringing our support to $32 million total.

Through these latest grants, we continue to support data and research demonstrating the impact of mass incarceration. Last month, we supported LatinoJustice with a $1 million grant to improve the quality of Latinx criminal justice data and shape the narrative and storytelling on the impact of mass incarceration in Latinx communities. And today we’re providing a $4 million grant to the Vera Institute of Justice to help them build an authoritative data set that will allow researchers to measure the true economic impact of incarceration rates in rural areas.

Vera Institute: In Our Backyards

Vera Institute: In Our Backyards

Many of our initial grantees are focused on data gathering, research and analysis. We’re now also investing in organizations working on systemic solutions. For example, we’re supporting the Leadership Conference Education Fund with a $2 million grant to bolster their effort to help more law enforcement jurisdictions work with community groups, who are a critical partner in policing. The Leadership Conference has a well-known track record in this area, and they will help establish best practices that lead to more constitutional policing, less crime, and more trust and accountability. Our $500,000 grant to the R Street Institute’s Justice for Work Coalition will support their efforts aimed to bring bipartisan support for criminal justice reform and to reduce barriers to employment following incarceration.

We’ll also continue to multiply the impact of our grants with skills-based volunteer support from Googlers. Just last month, 10 Google software engineers and data scientists volunteered with Google.org grantee the Center for Policing Equity (CPE) on a full-time basis for six weeks in New York. These 10 Googlers helped build and improve CPE’s National Justice Database, the nation’s first-ever database tracking national statistics on policing. They also built software, audited tools, and improved automation efforts to help CPE better process and analyze the reports they send to partner police departments.

A Googler working with the Center for Policing Equity rides along with an officer to understand community-informed policing
Googler Austin Swift, a lead on the CPE Impact Immersion, rides along with an officer to understand his efforts to implement community-informed policing.

This isn’t the only time we’ve teamed up Googler volunteers with grantees. Earlier this year, we helped the Equal Justice Initiative launch Lynching in America, an interactive site that explores this difficult time in U.S. history. More than 200 Googlers have volunteered in grantee Defy Ventures‘ prison and post-release programs for aspiring business owners, known as Entrepreneurs-in-Training. Working with Defy, Googlers have hosted small business training courses on digital marketing, digital skills and public speaking.

In the year ahead, Google will continue to stand in solidarity with the fight for racial justice. We believe in a justice system based on equity for all, informed by data and supported by community-based solutions. We’re proud to support organizations tackling this complex and worthy challenge.

Turn customers into advocates with #SmallThanks

The holiday season is a time to be grateful for friends, family and community. For me, that gratitude includes the small businesses who are a part of my everyday life in California. From my friends at Zombie Runner whose post-run coffee is the best part of my workout, to the folks at Tin-Pot Creamery who make it impossible to give up ice cream; these small businesses make my day-to-day life better and add heart to our community, and for that, I am thankful. I firmly believe when we support the businesses we love, we make the places we live better.

I also spend much of my time at work thinking about how to help small businesses grow using the web. Our products play a pivotal role in helping people and small businesses connect with each other.  As this year’s holiday shopping season and Small Business Saturday approach us, we’re doing something extra to help small businesses stand out and succeed, both online and in their neighborhoods.

We’ve created the #SmallThanks Hub to help you get free, customized marketing materials to promote your business. Simply search for your business name on the site, and we’ll automatically create posters, social media posts, window clings, stickers and more—based on the reviews and local love from your customers on Google. And now, it is available nationally in U.S. to any verified Google listing with an address. (Don’t yet have a verified listing? Signing up is free and only takes a few minutes. Start here.)  

Reviews from your fans are like digital thank you notes, and they’re one of the first things people notice about your business in search results. A few positive small thanks can mean the difference between a potential customer choosing your business or going elsewhere. 71 percent of consumers say that positive reviews in search results make them more likely to use that the business, and listings with positive reviews see 360 percent higher clicks to their site.

Keyword BlogPost-Social+Storefront.png
Show why your customers love you with posters in your store, and posts on social media.

Here are a few tips on how to use the materials from the #SmallThanks Hub to gain new customers and turn existing ones into advocates.

  1. Personalize your assets: Choose the reviews you want to feature, and select from several layouts, colors and styles to match your business’s aesthetics. You can create as many versions as you want.
  2. Show why your customers love you: Print and hang your customized posters in a visible area in your store, and share the social media versions with #SmallThanks to join in the conversation and show what makes you unique. Post the flyers around your neighborhood where potential customers might see them. 
  3. Ask customers to support you with reviews: Some customers may not remember to leave you a review, or realize the impact that it can have, so why not give them a little nudge? Place stickers in your window, receipt booklets, point-of-sale machine or anywhere else it can be prominently displayed to remind them to support you with a review. 
  4. Remind people to search for you: Post the “Find us on Google” stickers in your store and on your social media channels with #SmallThanks hashtag to tell potential customers how to connect with you.
  5. Keep your Google listing up to date: The holiday season usually means different hours and special offerings. Let customers know when you’ll be open using the special hours feature, and promote holiday specials with Local Posts
Sticker+Tent for KW.png

Encourage customers to support you on Google by placing these in visible spots.

Happy holidays and best wishes from all of us at Google.

A merry mobile holiday with Google Shopping

In those spare moments between basting the turkey, assembling gingerbread houses, and planning your ugly-sweater party, you might find yourself reaching for your phone to research holiday gifts you still need to buy. You’re not alone: With information readily available at the swipe of a finger, holiday shoppers are doing more research before buying than ever before. Indeed, Black Friday searches containing “best” have more than doubled over the past two years on mobile. People are also scrutinizing products from every angle, including the packaging—mobile watchtime of unboxing videos is equivalent to watching “Love Actually” over 20 million times!

Before you head “over the river and through the woods” to deliver your presents this season, we’re introducing improvements to mobile shopping experiences on Google that’ll help you browse, research, compare, and get the items crossed off your holiday gift list.

What’s hot on the list this year  

As always, there’s a new crop of gifts climbing the trends chart. Here’s a look at popular searches going into Black Friday:

Get the shopping scoop in a snap

To help you search for gifts on the go, we recently redesigned mobile shopping on Google, bringing more product information to the forefront. Click the “Quick View” button in the Google Shopping ad to preview details like a bigger image, product description, reviews and seller rating—and to see if you can score a good deal by checking if it’s on sale. If you see an item that’s almost perfect but not quite what you want, scroll down to view visually similar or related products underneath, or to discover more products from the same brands or retailers.

1.0 - 5th ave.gif

More quickly and easily research, compare and narrow down your gift options

We know you’ve got limited time and lots of gifts to buy. Knowing that researching items and comparing prices are two of the most common mobile shopping activities, we recently introduced enhancements to the knowledge panel on Google.com to help you quickly find product photos, videos, reviews, descriptions and more.

To help you further narrow down your options and give you deeper insight into potential purchases, we’re now showing buying guides on Google for broad categories (like sewing machines or coffee grinders).

2.0 - Research.png

Also, when you search for a specific product, Google.com now shows you other helpful information, like related items, and allows you to compare reviews, prices and other specs, side by side. And if you’re searching for tech gadgets, we’ll help ensure that you’re looking at the latest and greatest. You’ll now see a label alerting you there’s a “newer model available” if you’re browsing last year’s product.

3.0 - ALL.png

Shop by voice with the Google Assistant

As much as we try to plan ahead, procrastination happens. If you find yourself looking for something at the last minute, try using your Google Assistant to see where you can purchase needed items nearby by saying “Ok Google, where can I buy…”, or to get it sent right to your doorstep by saying “Ok Google, buy…”. Heading into the holidays, we see people with a Google Home device—which enables voice shopping with the Google Assistant—are using their voice to most frequently buy or add everyday essentials like paper towels or pet food to their shopping lists. We’re also seeing people using voice to find other types of products to prep for the holidays —including kitchen tools like basting brushes to perfectly glaze those Thanksgiving dishes, toys to slip under the tree, or fuzzy blankets to keep warm by the fireplace.

Whether you’re researching on your phone or shopping with your voice, we wish you happy deal-hunting this holiday season!

Once again, Proud to Be First – IoT Performance

Over the past three decades, industry standard bodies like the TPC and SPEC have developed several standards for performance benchmarking. These standards have been a significant driving force behind the development of faster, less expensive, and more energy efficient systems. The two most influential database benchmark standards have been: TPC-C, the industry standard for benchmarking transaction processing systems, and TPC-D and its […]

Customer Success: Your Most Powerful Weapon in the Battle for Customer Retention

As part of my more than 20 years with Cisco, my family and I were fortunate to spend three years on assignment in Singapore. When we relocated back to the U.S. in 2016, we had an immediate need to purchase two cars. Without a specific vehicle preference in mind, we relied heavily on the recommendation […]

Google Play Referrer API: Track and measure your app installs easily and securely

Posted by Neto Marin, Developer Advocate

Understanding how people find your app and what they do once they’ve installed
it is crucial to helping you make the right product and marketing decisions.
This is especially important when you’re deciding your advertising strategy and
budget. Today many app measurement companies and ad networks offer ad
attribution solutions based on referral data. As such accurate install referral
data is vital for correctly attributing app installs, as well as discounting
fraudulent attempts for install credit.

To help you obtain more accurate and reliable data about your installs, we’re
introducing the Google Play Install Referrer API, a reliable
way to securely retrieve install referral content. Using this API, your app will
get precise information straight from the Play Store, including:

  • The referrer URL of the installed package.
  • The timestamp, in seconds, of when the referrer click happened.
  • The timestamp, in seconds, of when the installation began.

We’ve tested the API with our App Attribution
Program
partners including Adjust,
AppsFlyer, Singular and TUNE.

“The new Play API provides us with the data we need to effectively detect
and prevent click injection; it’s a monumental step in securing a crucial
information exchange on Android.”

– Paul Müller, CTO & Co-Founder, Adjust

“The new Google Play API introduces fresh insights into both mobile ad fraud
and the mobile user journey, two key domains with impact across the ecosystem.”

– Elad Mashiach, VP, AppsFlyer

“This additional data directly from the Play Store provides increased precision for the Kochava fraud suite to further minimize fraud for our customers.”

– Charles Manning, CEO, Kochava

“Google’s new API is a game changer that will help marketing analytics
platforms like Singular identify and prevent a significant portion of Ad Fraud,
and provide security and accuracy to mobile advertisers”

– Gadi Eliashiv, CEO &
Co-Founder, Singular

“This new data from Google Play is essential for marketers who demand
accountability out of their mobile app install advertising spend. At TUNE, this
data is allowing us to outright eliminate entire forms of mobile app install
fraud while providing new insight into how mobile app installs are driven.”

– Dan Koch, Chief Technical Officer, TUNE

Starting today, the API works with the Play Store app from version
8.3.73 and later for all developers.

Play Install Referrer Library 1.0 now available

To make it easy to integrate the Install Referrer API, we’ve released the
Install Referrer Library 1.0 for Android. The library is available in our Maven
repository. To start using it, add the following dependency to your app module
build.gradle file:

dependencies {
          ...
          compile 'com.android.installreferrer:installreferrer:1.0'
      }

All communication with the Play Store app happens through a Service, so the
first step is to establish the connection between your app and the Play Store.
Also, to receive the connection result and updates it’s necessary to implement a
listener, InstallReferrerStateListener. This listener could be your
current Activity or any other class you want to use:

public class MainActivity extends AppCompatActivity 
    implements InstallReferrerStateListener {
    …
}

Now that you have an InstallReferrerStateListener, you can start
binding your app to the Play Store app service. To establish the connection, you
must build an InstallReferrerClient instance and call the
startConnection() method:

InstallReferrerClient mReferrerClient
...
mReferrerClient = newBuilder(this).build();
mReferrerClient.startConnection(this);

Then, handle the connection result in the
onInstallReferrerSetupFinished() method. If the connection is OK,
the app can retrieve install referrer information, by calling the
getInstallReferrer() method:

@Override
public void onInstallReferrerSetupFinished(int responseCode) {
   switch (responseCode) {
       case InstallReferrerResponse.OK:
           try {
               Log.v(TAG, "InstallReferrer conneceted");
               ReferrerDetails response = mReferrerClient.getInstallReferrer();
               handleReferrer(response);
               mReferrerClient.endConnection();
           } catch (RemoteException e) {
               e.printStackTrace();
           }
           break;
       case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
           Log.w(TAG, "InstallReferrer not supported");
           break;
       case InstallReferrerResponse.SERVICE_UNAVAILABLE:
           Log.w(TAG, "Unable to connect to the service");
           break;
       default:
           Log.w(TAG, "responseCode not found.");
   }
}

For more details about the new API and the client library, visit the Install
Referrer Client Library page
and the reference
documentation
.

Other Implementations

If you are not able to use our client library, you can use the AIDL interface
and establish the connection with Google Play Store on your own. Check out the
IGetInstallReferrerService
AIDL reference
for details of the methods and the service
specification.

What’s next?

Check out the Play
Install Referrer API documentation
for details about the new API, the library’s
reference docs
, and our Quick
Start guide
.

Experimenting with VR at the South China Morning Post

Having spent my pre-Google career as a reporter and editor at legacy media organizations, I can tell you that digital transformation in the news industry is challenging. Even when news organizations have the will, resources and technical expertise, the obstacles to transformation can be daunting.

In Asia, few news organization have plunged headlong into digital transformation like South China Morning Post, Hong Kong’s top English-language daily newspaper. With a daily weekday circulation of roughly 105K, SCMP is a midsize paper, but its language and geography give it outsized influence.

For more than a century, SCMP has been documenting Greater China for the English-speaking diaspora across Asia-Pacific. Before the internet, expatriates and visitors would pick up the paper, sometimes days old, on airplanes and in hotels across the region. For those living in mainland China (like I did in the 1990s), the paper offered a window into the place where they lived, from a familiar yet discrete vantage point.

Now, SCMP uses the web to reach the growing global community of readers interested in news about China, and experiment with new methods of storytelling along the way. After its purchase by Alibaba’s founder Jack Ma in 2016, the newspaper suddenly had a mandate to evolve, and was given the runway and resources to experiment.

“Culture and identity are massively important when you are trying to turn around a 114-year-old company … until you have a company that is ready to experiment, willing to fail, and able to move with agility … you can talk all day long about transformation and where you’re heading but you’ll never get there,” said SCMP CEO Gary Liu in an interview with Harvard’s Shorenstein Center on Media, Politics and Policy.

That entrepreneurial spirit led SCMP to take on an immersive virtual reality project that would trace the history of Hong Kong from British rule to the present day, mining a century’s worth of archival photos and illustrations and presenting them alongside modern-day 360-degree video and drone footage. The project was Google News Lab’s first immersive storytelling partnership in the Asia-Pacific region, part of the team’s broader effort to accelerate immersive storytelling across the news industry.

Title-screen.gif

“It had to be big, bold, and beautiful—and leverage new formats, technologies and platforms to tell the story,” according to SCMP online editor Brett McKeehan, who helmed the project and talked about the process at a recent Google News Lab event.

In order to make the project accessible to as many readers as possible, especially in the smartphone-dominant Asian market, the SCMP team built a responsive website that was optimized for mobile, tablet and desktop. Animations of 3D Google Earth imagery helped to tell the story and orient the reader across time and space throughout the piece.

rain_new_2.JPG
One of Hong Kong’s wettest Junes in history.

They set a deadline to complete the project within two months—an eternity for a newspaper used to daily deadlines. “What can’t you do in two months? What could possibly go wrong? Two months—I thought, we could do anything in two months,” McKeehan said. Shooting and production schedules were set, everyone was ready to go…

And then it rained. And rained and rained—for six straight weeks—one of Hong Kong’s wettest Junes in history.

While it rained, the Hong Kong government changed its drone restrictions, rendering certain planned shots illegal. Meanwhile, SCMP’s developer team of three learned how to build, for the first time, a responsive HTML webframe that would work for both iOS and Android.

SCMP_Back 2017-07-10 at 3.19.46 pm.png
A drone is being readied to capture footage across Hong Kong.

In the end, Brett and his team had to change their project scope and push back their release date to overcome the many unforeseen logistical and development challenges that sprang up throughout the process.

“It’s not a tale of of pixies and rainbows…It is a tale of toil and frustration, and the headaches that come with doing something new.”

Despite the pain, Brett said the experience was worthwhile, because it brought new skills that were now embedded in the newsroom. But for anyone embarking on the journey, he offered the following tips:

  • Embrace the medium: 360, VR, AR offer incredible storytelling possibilities. The sooner you take the plunge, the better. 
  • Experiment with new technologies, but start small before taking on more ambitious projects.
  • Don’t outsource: Bite the bullet, buy your own equipment (get cheap stuff and play). Own your ideas and develop your own talent.

“We’re an aspirational publisher. We’re doing something for the first time. So we made it; we’re happy with that,” McKeehan said.

And that is success, Gary Liu, SCMP’s CEO,  told me after it was published. “The point was to do it and learn in the process.”

#CiscoChat Recap — How Do You Compete for the Digital Sports Fan of 2020 and Beyond?

When it comes to competing for the attention of digital sports fans, the game is constantly changing. Digital technology innovations are paving the way to more connected, more engaging, and, ultimately, more memorable experiences — and also leading to heightened fan expectations. It’s not enough just to keep score from the sidelines. To make the […]