Google Wallet API tutorial for Google Developers | Google I/O 2022

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[AUDIO LOGO] KEVIN FLANAGAN: Hi. I'm Kevin Flanagan, a partner engineer at Google. PETRA CROSS: And I'm Petra Cross, a software engineer at Google. Today, we're excited to introduce the Google Wallet for Android, which will soon be available in over 40 countries, with plans to expand access to all Android users globally. I'll talk about how this will affect existing integrations with the Google Pay API for passes. Then, we'll explore new features that let you create any type of pass and visually group passes together. I'll also introduce you to the new Android SDK, updates we made to the Business Console, and some of the other integration options using Wallet API. But first, Kevin is going to give you a general overview of what Google Wallet has to offer. Over to you, Kevin. KEVIN FLANAGAN: Thanks, Petra. In the last couple of years, the use of digital wallets has grown significantly. Initially, they were just for credit and debit cards, but now they can manage so much more than that. Like a physical wallet, they can store all kinds of tickets and passes, but unlike a physical wallet, there's never any rummaging at the checkout line for the right loyalty card, or worrying about leaving your passes behind at home. We're excited about the wallet we've built, and we think developers will be too. That's because with Google Wallet, we're building a common platform that makes it easier for device makers to provide a digital wallet on every Android device. And developers can enable their users to have quick, convenient access to wallet objects across the Android ecosystem. In the next few months, Google Wallet will be available in over 40 countries across Android phones and Wear OS devices. And we will expand access for millions more users later this year as we continue to add countries. We know that fumbling through your phone at the checkout line or at a boarding gate is stressful. So Google Wallet will be quickly accessible from the device lock screen and from the pull down shade. Your users will be able to quickly access their passes when they need them. And your users will never have to worry about selecting which cards to carry in their Google Wallet. They can store their loyalty cards, gift cards, maybe some special offers or event tickets. How about boarding passes, transit tickets, their vaccine cards. And soon, users in select areas will be able to store their driver's license in the Google Wallet. In addition to these pass types, we're excited to announce a new API that supports passes that don't fit into one of these types. The new Generic Passes API will allow developers to digitize passes of any kind. We've partnered with AAA on the use of this new API so AAA members will be able to easily store their membership cards in their wallet. You'll also be able to offer your users a helpful grouping feature during those moments when more than one item is necessary. For example, say you're going to a concert and you have your entry ticket, a parking pass, maybe you have some food vouchers. In your Passes list, you'll see a pass tile with a badge showing the number of items in that group. When you tap on this tile, a carousel will appear, allowing you to easily swipe between all passes in the group, so everything you need for your night is in one place. And in addition to being broadly available to Android users, Google Wallet allows you to share wallet objects with other Google Apps when the sharing option is enabled. For example, users who have transit cards saved to their wallet will be able to see information about their card and balance while searching for directions using Google Maps. And users can easily save their cards and passes from Gmail and Photos to their wallet. It's really important to mention that this sharing option doesn't apply to sensitive objects like vaccine cards. Those are private to the user and stored only on their device. Driving all of these features are powerful privacy and security controls. Wallet brings all of the security features that you're already familiar with in Android as its first line of defense, such as authentication, Find My Phone, remote data wipe, and more. Your users can rest easy knowing that their valuables stored in Google Wallet are safe and secure. On top of that, all payments made using the wallet are encrypted, and card information is never shared with third parties. Privacy controls allow users to maintain full control over their data, with transparency about what is shared and who has access to it. Now Petra is going to show you how to enable these features with an overview of the Google Wallet API. PETRA CROSS: Thank you, Kevin. Now that you've seen the vision, let's talk about the Google Wallet API. Formerly known as Google Pay API for Passes, the Google Wallet API lets you digitize everything from boarding passes to loyalty programs and engage your customers with notifications and real-time updates. All existing developer integrations with the Passes API will continue to work once we launch Google Wallet. The only thing that has changed is the new look of the GPay Save to Phone button, which now says Add to Google Wallet. So if your integration is using buttons that say GPay Save to Phone, we ask you to please update these buttons to reflect the change in branding after Google Wallet launches in a few weeks. Let's talk about new features in our API. The Google Pay API for Passes supported seven types of passes-- offers, loyalty cards, gift cards, event tickets, boarding passes, transit tickets, and vaccine cards. But what if you want to issue passes or cards that do not fit into any of these categories? You may want to issue your users other things, such as membership cards or insurance cards. We do not have a pass type for each of these other use cases, so we added support for generic passes to the Google Wallet API. It's for all the cards that do not fit into the seven already supported pass types. The options are endless. If it is a card and has some text and a barcode or a QR code, it can be saved as a generic card. And you will have the flexibility to control the look and design of the card itself. You do this by providing a card template that may contain a maximum of three rows with up to three fields per row. You can configure a number of attributes such as the barcode, QR code, or your image. While generic passes can be used to emulate appearance of any existing supported pass types, such as a loyalty card, developers should continue to use an existing pass type when available for type-specific specializations. For example, you should use the Boarding Pass type for boarding passes in order to receive the benefit of flight-delay notifications and other features that only exist for boarding passes. Generic cards are different from other pass types, in that they contain most of the pass data on the object, not the class. Class only contains template information. Object contains most of the pass data, which makes it easier to rapidly develop generic passes. Here you can see a generic object. It has a small set of self-explanatory fields. And this is a generic class. You can add up to three rows and three fields per row by populating class template info with card template override with up to three card row template infos. We also implemented another cool feature, grouping of passes in user's Google Wallet, and mixing multiple pass types together. This feature lets you issue multiple passes to the same user and ensure they're all displayed together in their Google Wallet. You can also use this feature if you are issuing passes over a longer period of time. For example, your user saves your event ticket and three days later you send them a voucher to get a free drink at the event. You can include the same grouping ID in both saves, and we will make sure to group these two passes together in the user's wallet. You also get to control the order in which these passes get displayed within the group. Here is an example of JSON web token payload showing one offer and one event ticket mixed together and sharing the same grouping ID. The event ticket will be displayed within the group first, because it has Sort Index 1. You can use the same grouping ID in future passes you issue to the same user if you want to keep adding more passes to their group. If you need to update the grouping info of a previously saved pass, or separate one pass from the rest of the group, you can use our REST API to update the grouping ID on the object. At the beginning of this video, I mentioned that there is a new Android SDK. As you might know, our existing Android SDK only supports saving offers, loyalty cards, and gift cards. But you've been asking us to add support for other pass types. We heard you. That's why we created a new, more extensible Android SDK that allows you to save all existing pass types and also future pass types. It also lets you mix and match multiple pass types in a single save and supports grouping passes. This SDK receives passes in JSON or JSON Web Token, a.k.a. JWT format. If you have already integrated with one of our JWT-based APIs, you are already generating the same JSON and turning it into a signed JWT. Please note that the Android SDK allows you to only save passes from your Android app. If you do need to update or edit previously saved passes, you would still need to integrate with our REST API. If you have already integrated with the old Android SDK, don't worry. There is no current plan to deprecate it. But we do encourage you to please use the new JSON or JWT-based Android SDK. Using Android SDK is very easy. First, you create a JSON payload with the pass data. You can either build it within your Android app, or you can fetch it from your server. You can pass this unsigned JSON directly into our SDK, or you can first turn it into a signed JWT by signing it with your OAuth 2.0 service account private key. You then call the API, in this case, payClient.savePasses JWT method, like so. Our SDK then takes over the user experience and guides the user through the safe flow for this pass, allowing them to preview the pass and save it. Once the SDK completes or the save flow encounters an error, your app will handle the result by overwriting onActivityResult method, where you can implement your own custom behavior. We've created an Android SDK codelab, which you can follow to integrate with an Android app. The codelab has more code examples showing you how to check for availability of the Pay API on the Android device, how to handle errors, and how to add Android SDK button to your app. We have also redesigned our developer documentation to make the content easier to follow, and added plenty of code samples to reflect additional languages that you commonly use, including Java, PHP, Python, Node.js, C# and Kotlin. Don't forget to play with our interactive Pass Builder tool, which lets you fill in the fields and create your own custom pass prototype without writing a single line of code. You can show this prototype to your broader team at your company before your company decides to invest in an integration with the Google Wallet API. Not only will you see what the pass will look like with your company's logo and any additional details, the tool will also generate code samples that show you how you would build the pass data structures, which we call classes and objects. You can manage your passes directly from Google Pay and Wallet Console, previously known as Google Pay's Business Console. Find the new Google Wallet API section in the Console's left-hand navigation bar, and from there you can access your tickets, loyalty programs, offers, and other passes resources. The Google Pay and Wallet Console has a more intuitive user interface and lets you easily navigate and discover new features. The new Google Wallet API section lets you onboard, request access to the Google Wallet API, create and manage your passes, validate API calls, and onboard and manage smart tap authentication keys. Very soon, we're also going to launch a trial mode for Passes, where we give you instant access to the Passes sandbox environment so that you can develop and test Google Wallet API in a safe environment while waiting for approval for your service account. Now let's talk about your integration options. Integrating with Wallet API does not take much time at all. In fact, we've had partners who integrated and went live in two days. You can choose from multiple integration methods, depending on where you want your customers to be saving your passes from. If you want your customers to save passes from your Android app, integrate with our new JSON and JWT-based Android SDK. If you want your customers to save passes from your website, integrate with our JavaScript web button. And if you want your customers to save your passes from SMS, email, and/or web, then you should integrate using JWT links. For SMS email or web integration, if your pass data requires more than 1,800 characters, you would need to preinsert a pass to Google servers ahead of time using our REST API or JWT POST method. After you preinsert the pass object, you only need to include its object ID in the skinny JWT link that you give to your users. This will make the resulting URL much shorter and acceptable by web browsers. Share this link with your customers to let them save your pass to their wallets. Remember, you can allow the same pass object to be saved into multiple Google Wallets of multiple users. Users who saved your pass own the association to the object you preinserted. But you, the issuer, own the actual object. Only you can make changes to the object or disable it. Users can only delete the pass in their Wallet, which only removes their association to your object. That's all from me. Over to you, Kevin. KEVIN FLANAGAN: Thanks, Petra. So let's summarize. We explored how we're making Wallet more accessible, comprehensive, and secure for users. We introduced support for a new Generic Passes API and a Pass Grouping feature. And we talked about the new JSON or JWT-based Android SDK as well as additional integration options. And finally, we shared a preview of the updated developer documentation, with useful samples and developer tools which can simplify your integration. We're really excited to build a great digital wallet experience with you, and we're here to guide you through the process. Check out our hands-on workshop called Digitize Any Wallet Object with the Google Wallet API during this year's I/O. Thanks for listening. Have a great rest of your day. [AUDIO LOGO]
Info
Channel: Google for Developers
Views: 62,455
Rating: undefined out of 5
Keywords: Google Wallet, Google Pay, Google Pay Passes, Android developers, Android, accessibility, app accessibility, Google I/O, Google IO, I/O, IO, Google I/O 2022, IO 2022
Id: 2gTCghy-dU4
Channel Id: undefined
Length: 16min 16sec (976 seconds)
Published: Wed May 11 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.