パスはさまざまな用途で利用できますが、それらすべてに共通する使用方法があります。たとえば、ポイントカード、ギフトカード、クーポン、イベント チケット、搭乗券、乗車券はすべて、いくつかの方法で Google Pay アプリに追加できます。以下のいずれかの方法を選択して、詳細をご覧ください。
メールまたは SMS にリンクを追加する
メールを使用してパスを Google Pay に保存するには、ディープリンクが設定されたボタンをメールに追加します。
[Google Pay に保存] ボタンは、次の 3 つのステップでメールまたは SMS に統合できます。
次のステップではポイントパスを使用しますが、プロセスはすべてのパスで共通です。
1. オブジェクトを拡張するクラスを定義する
最初に LoyaltyClass
を定義します。LoyaltyClass
を挿入するには、次の REST URI に POST
リクエストを送信します。
https://walletobjects.googleapis.com/walletobjects/v1/loyaltyClass
厳密なエラー解析を有効にして ID フィールド重複などのエラーも検出するには、次の例のように strict=true
パラメータを REST URI に追加します。
https://walletobjects.googleapis.com/walletobjects/v1/loyaltyClass?strict=true
次の例は、LoyaltyClass
を表す JSON リソースを示しています。JSON は POST
リクエストの本文に含めて送信する必要があります。次のコードサンプルは、LoyaltyClass
を定義して挿入する方法を具体的に示しています。
リソース
{ "accountIdLabel": "Member Id", "accountNameLabel": "Member Name", "id": "2945482443380251551.ExampleClass1", "issuerName": "Baconrista", "kind": "walletobjects#loyaltyClass", "textModulesData": [ { "header": "Rewards details", "body": "Welcome to Baconrista rewards. Enjoy your rewards for being a loyal customer. " + "10 points for every dollar spent. Redeem your points for free coffee, bacon and more!" } ], "linksModuleData": { "uris": [ { "kind": "walletobjects#uri", "uri": "https://maps.google.com/map?q=google", "description": "Nearby Locations" }, { "kind": "walletobjects#uri", "uri": "tel:6505555555", "description": "Call Customer Service" } ] }, "imageModulesData": [ { "mainImage": { "kind": "walletobjects#image", "sourceUri": { "kind": "walletobjects#uri", "uri": "https://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg", "description": "Coffee beans" } } } ], "messages": [{ "header": "Welcome to Banconrista Rewards!", "body": "Featuring our new bacon donuts.", "kind": "walletobjects#walletObjectMessage" }], "locations": [{ "kind": "walletobjects#latLongPoint", "latitude": 37.424015499999996, "longitude": -122.09259560000001 },{ "kind": "walletobjects#latLongPoint", "latitude": 37.424354, "longitude": -122.09508869999999 },{ "kind": "walletobjects#latLongPoint", "latitude": 37.7901435, "longitude": -122.39026709999997 },{ "kind": "walletobjects#latLongPoint", "latitude": 40.7406578, "longitude": -74.00208940000002 }], "programLogo": { "kind": "walletobjects#image", "sourceUri": { "kind": "walletobjects#uri", "uri": "https://farm8.staticflickr.com/7340/11177041185_a61a7f2139_o.jpg" } }, "programName": "Baconrista Rewards", "rewardsTier": "Gold", "rewardsTierLabel": "Tier", "reviewStatus": "underReview", "hexBackgroundColor": "#ffffff", "heroImage": { "kind": "walletobjects#image", "sourceUri": { "kind": "walletobjects#uri", "uri": "https://farm8.staticflickr.com/7302/11177240353_115daa5729_o.jpg" } } }
Java
// Define the Image Module Data List<ImageModuleData> imageModuleData = new ArrayList<ImageModuleData>(); ImageModuleData image = new ImageModuleData().setMainImage( new Image().setSourceUri( new ImageUri().setUri("http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg"))); imageModuleData.add(image); // Define Text Module Data List<TextModuleData> textModulesData = new ArrayList<TextModuleData>(); TextModuleData textModuleData = new TextModuleData().setHeader("Rewards details") .setBody( "Welcome to Baconrista rewards. Enjoy your rewards for being a loyal customer. 10 points for ever dollar spent. Redeem your points for free coffee, bacon and more!"); textModulesData.add(textModuleData); // Define Links Module Data List<Uri> uris = new ArrayList<Uri>(); Uri uri1 = new Uri().setDescription("Nearby Locations").setUri("http://maps.google.com/?q=google"); Uri uri2 = new Uri().setDescription("Call Customer Service").setUri("tel:6505555555"); uris.add(uri1); uris.add(uri2); LinksModuleData linksModuleData = new LinksModuleData().setUris(uris); // Define general messages List<Message> messages = new ArrayList<Message>(); Message message = new Message() .setHeader("Welcome to Baconrista") .setBody("Featuring our new bacon donuts."); messages.add(message); // Define Geofence locations List<LatLongPoint> locations = new ArrayList<LatLongPoint>(); locations.add(new LatLongPoint().setLatitude(37.422601).setLongitude( -122.085286)); locations.add(new LatLongPoint().setLatitude(37.424354).setLongitude( -122.09508869999999)); locations.add(new LatLongPoint().setLatitude(40.7406578).setLongitude( -74.00208940000002)); // Create class LoyaltyClass wobClass = new LoyaltyClass() .setId('2945482443380251551.ExampleClass1') .setIssuerName("Baconrista") .setProgramName("Baconrista Rewards") .setProgramLogo( new Image().setSourceUri(new ImageUri() .setUri("http://farm8.staticflickr.com/7340/11177041185_a61a7f2139_o.jpg"))) .setRewardsTierLabel("Tier").setRewardsTier("Gold") .setImageModulesData(imageModuleData) .setTextModulesData(textModulesData) .setLinksModuleData(linksModuleData) .setAccountNameLabel("Member Name").setAccountIdLabel("Member Id") .setMessages(messages) .setReviewStatus("underReview").setMultipleDevicesAndHoldersAllowedStatus("multipleHolders") .setLocations(locations); LoyaltyClass response = client.loyaltyclass().insert(wobClass).execute();
PHP
// Define text module data. $textModulesData = array( array( 'header' => 'Rewards details', 'body' => 'Welcome to Baconrista rewards. Enjoy your rewards for being a loyal customer. ' . '10 points for every dollar spent. Redeem your points for free coffee, bacon and more!' ) ); // Define links module data. $linksModuleData = new Google_Service_Walletobjects_LinksModuleData(); $uris = array ( array( 'uri' => 'http://maps.google.com/map?q=google', 'kind' => 'walletobjecs#uri', 'description' => 'Nearby Locations' ), array( 'uri' => 'tel:6505555555', 'kind' => 'walletobjecs#uri', 'description' => 'Call Customer Service' ) ); $linksModuleData->setUris($uris); $uriModuleImageInstance = new Google_Service_Walletobjects_ImageUri(); $uriModuleImageInstance->setUri( 'http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg' ); $uriModuleImageInstance->setDescription('Coffee beans'); $imageModuleImageInstance = new Google_Service_Walletobjects_Image(); $imageModuleImageInstance->setSourceUri($uriModuleImageInstance); $imagesModuleData = new Google_Service_Walletobjects_ImageModuleData(); $imagesModuleData->setMainImage($imageModuleImageInstance); $imagesModuleDataArr = array ($imagesModuleData); // Messages to be displayed to all users of Wallet Objects. $messages = array(array( 'header' => 'Welcome to Banconrista Rewards!', 'body' => 'Featuring our new bacon donuts.', 'kind' => 'walletobjects#walletObjectMessage' )); $locations = array( array( 'kind' => 'walletobjects#latLongPoint', 'latitude' => 37.424015499999996, 'longitude' => -122.09259560000001 ), array( 'kind' => 'walletobjects#latLongPoint', 'latitude' => 37.424354, 'longitude' => -122.09508869999999 ), array( 'kind' => 'walletobjects#latLongPoint', 'latitude' => 37.7901435, 'longitude' => -122.39026709999997 ), array( 'kind' => 'walletobjects#latLongPoint', 'latitude' => 40.7406578, 'longitude' => -74.00208940000002 ) ); // Source uri of program logo. $uriInstance = new Google_Service_Walletobjects_ImageUri(); $imageInstance = new Google_Service_Walletobjects_Image(); $uriInstance->setUri( 'http://farm8.staticflickr.com/7340/11177041185_a61a7f2139_o.jpg' ); $imageInstance->setSourceUri($uriInstance); // Create wallet class. $wobClass = new Google_Service_Walletobjects_LoyaltyClass(); $wobClass->setId('2945482443380251551.ExampleClass1'); $wobClass->setIssuerName('Baconrista'); $wobClass->setProgramName('Baconrista Rewards'); $wobClass->setProgramLogo($imageInstance); $wobClass->setRewardsTierLabel('Tier'); $wobClass->setRewardsTier('Gold'); $wobClass->setAccountNameLabel('Member Name'); $wobClass->setAccountIdLabel('Member Id'); $wobClass->setLinksModuleData($linksModuleData); $wobClass->setTextModulesData($textModulesData); $wobClass->setImageModulesData($imagesModuleDataArr); $wobClass->setMessages($messages); $wobClass->setReviewStatus('underReview'); $wobClass->setMultipleDevicesAndHoldersAllowedStatus('multipleHolders'); $wobClass->setLocations($locations); $service->loyaltyclass->insert($wobClass);
Python
loyalty_class = { 'accountIdLabel': 'Member Id', 'accountNameLabel': 'Member Name', 'multipleDevicesAndHoldersAllowedStatus': 'multipleHolders', 'id': '2945482443380251551.ExampleClass1', 'issuerName': 'Baconrista', 'kind': 'walletobjects#loyaltyClass', 'locations': [{ 'kind': 'walletobjects#latLongPoint', 'latitude': 37.424015499999996, 'longitude': -122.09259560000001 },{ 'kind': 'walletobjects#latLongPoint', 'latitude': 37.424354, 'longitude': -122.09508869999999 },{ 'kind': 'walletobjects#latLongPoint', 'latitude': 37.7901435, 'longitude': -122.39026709999997 },{ 'kind': 'walletobjects#latLongPoint', 'latitude': 40.7406578, 'longitude': -74.00208940000002 }], 'textModulesData': [{ 'header': 'Rewards details', 'body': 'Welcome to Baconrista rewards. Enjoy your rewards for being a loyal customer. ' + '10 points for ever dollar spent. Redeem your points for free coffee, bacon and more! ' }], 'linksModuleData': { 'uris': [ { 'kind': 'walletobjects#uri', 'uri': 'http://maps.google.com/map?q=google', 'description': 'Nearby Locations' },{ 'kind': 'walletobjects#uri', 'uri': 'tel:6505555555', 'description': 'Call Customer Service' }] }, 'imageModulesData': [ { 'mainImage': { 'kind': 'walletobjects#image', 'sourceUri': { 'kind': 'walletobjects#uri', 'uri': 'http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg', 'description': 'Coffee beans' } } } ], 'messages': [{ 'header': 'Welcome to Banconrista Rewards!', 'body': 'Featuring our new bacon donuts.', 'kind': 'walletobjects#walletObjectMessage' }], 'programLogo': { 'kind': 'walletobjects#image', 'sourceUri': { 'kind': 'walletobjects#uri', 'uri': 'http://farm8.staticflickr.com/7340/11177041185_a61a7f2139_o.jpg' } }, 'programName': 'Baconrista Rewards', 'rewardsTier': 'Gold', 'rewardsTierLabel': 'Tier', 'reviewStatus': 'underReview', } api_request = service.loyaltyclass().insert(body=loyalty_class) api_response = api_request.execute()
すべての LoyaltyClass
フィールドの一覧については、LoyaltyClass のリファレンスをご覧ください。
2. オブジェクトを表す JWT を生成する
最初に、次のスニペットに示すように LoyaltyObject
を定義します。
リソース
{ "classId": "2945482443380251551.ExampleClass1", "id": "2945482443380251551.ExampleObject1", "accountId": "1234567890", "accountName": "Jane Doe", "barcode": { "alternateText": "12345", "type": "qrCode", "value": "28343E3" }, "textModulesData": [{ "header": "Jane's Baconrista Rewards", "body": "Save more at your local Mountain View store Jane. " + "You get 1 bacon fat latte for every 5 coffees purchased. " + "Also just for you, 10% off all pastries in the Mountain View store." }], "linksModuleData": { "uris": [ { "kind": "walletobjects#uri", "uri": "https://www.baconrista.com/myaccount?id=1234567890", "description": "My Baconrista Account" }] }, "infoModuleData": { "labelValueRows": [{ "columns": [{ "label": "Next Reward in", "value": "2 coffees" }, { "label": "Member Since", "value": "01/15/2013" }] }, { "columns": [{ "label": "Local Store", "value": "Mountain View" }] }], "showLastUpdateTime": "true" }, "loyaltyPoints": { "balance": { "string": "5000" }, "label": "Points", "pointsType": "points" }, "messages": [{ "header": "Jane, welcome to Banconrista Rewards!", "body": "Thanks for joining our program. Show this message to " + "our barista for your first free coffee on us!" }], "state": "active" }
Java
// Define Barcode Barcode barcode = new Barcode().setType("qrCode") .setValue("28343E3") .setAlternateText("12345"); // Define Points LoyaltyPoints points = new LoyaltyPoints() .setLabel("Points") .setPointsType("points") .setBalance(new LoyaltyPointsBalance().setString("500")); // Define Text Module Data List<TextModuleData> textModulesData = new ArrayList<TextModuleData>(); TextModuleData textModuleData = new TextModuleData() .setHeader("Jane's Baconrista Rewards") .setBody( "Save more at your local Mountain View store Jane. You get 1 bacon fat latte for every 5 coffees purchased. Also just for you, 10% off all pastries in the Mountain View store."); textModulesData.add(textModuleData); // Define Links Module Data List<Uri> uris = new ArrayList<Uri>(); Uri uri1 = new Uri().setDescription("My Baconrista Account") .setUri("http://www.baconrista.com/myaccount?id=1234567890"); uris.add(uri1); LinksModuleData linksModuleData = new LinksModuleData().setUris(uris); // Define Info Module List<LabelValue> row0cols = new ArrayList<LabelValue>(); LabelValue row0col0 = new LabelValue().setLabel("Next Reward in") .setValue("2 coffees"); LabelValue row0col1 = new LabelValue().setLabel("Member Since") .setValue("01/15/2013"); row0cols.add(row0col0); row0cols.add(row0col1); List<LabelValue> row1cols = new ArrayList<LabelValue>(); LabelValue row1col0 = new LabelValue().setLabel("Local Store") .setValue("Mountain View"); row1cols.add(row1col0); List<LabelValueRow> rows = new ArrayList<LabelValueRow>(); LabelValueRow row0 = new LabelValueRow().setColumns(row0cols); LabelValueRow row1 = new LabelValueRow().setColumns(row1cols); rows.add(row0); rows.add(row1); InfoModuleData infoModuleData = new InfoModuleData() .setShowLastUpdateTime(true) .setLabelValueRows(rows); // Define general messages List<Message> messages = new ArrayList<Message>(); Message message = new Message() .setHeader("Hi Jane!") .setBody("Thanks for joining our program. Show this message to " + "our barista for your first free coffee on us!"); messages.add(message); // Define Wallet Instance LoyaltyObject object = new LoyaltyObject() .setClassId('2945482443380251551.ExampleClass1').setId('2945482443380251551.ExampleObject1') .setState("active").setBarcode(barcode).setInfoModuleData(infoModuleData) .setAccountName("Jane Doe").setTextModulesData(textModulesData) .setMessages(messages).setLinksModuleData(linksModuleData) .setAccountId("1234567890").setLoyaltyPoints(points);
PHP
$barcode = new Google_Service_Walletobjects_Barcode(); $barcode->setAlternateText('12345'); $barcode->setType('qrCode'); $barcode->setValue('28343E3'); // Define text module data. $textModulesData = array( array( 'header' => 'Janes Baconrista Rewards', 'body' => 'Save more at your local Mountain View store Jane. ' . 'You get 1 bacon fat latte for every 5 coffees purchased. ' . 'Also just for you, 10% off all pastries in the Mountain View store.' ) ); // Define links module data. $linksModuleData = new Google_Service_Walletobjects_LinksModuleData(); $uris = array ( array( 'uri' => 'http://www.baconrista.com/myaccount?id=1234567890', 'kind' => 'walletobjecs#uri', 'description' => 'My Baconrista Account' ) ); $linksModuleData->setUris($uris); // Define label values. $labelValueRows = array( array( 'columns' => array( array( 'label' => 'Next Reward in', 'value' => '2 coffees' ), array( 'label' => 'Member Since', 'value' => '01/15/2013' ) ) ), array( 'columns' => array( array( 'label' => 'Local Store', 'value' => 'Mountain View' ) ) ) ); // Define info module data. $infoModuleData = new Google_Service_Walletobjects_InfoModuleData(); $infoModuleData->setShowLastUpdateTime(true); $infoModuleData->setLabelValueRows($labelValueRows); // Messages to be displayed. $messages = array(array( 'header' => 'Jane, welcome to Banconrista Rewards!', 'body' => 'Thanks for joining our program. Show this message to '. 'our barista for your first free coffee on us!', 'kind' => 'walletobjects#walletObjectMessage' )); // Reward points a user has. $points = new Google_Service_Walletobjects_LoyaltyPoints(); $balance = new Google_Service_Walletobjects_LoyaltyPointsBalance(); $balance->setString('500'); $points->setBalance($balance); $points->setLabel('Points'); $points->setPointsType('points'); // Create wallet object. $wobObject = new Google_Service_Walletobjects_LoyaltyObject(); $wobObject->setClassId('2945482443380251551.ExampleClass1'); $wobObject->setId('2945482443380251551.ExampleObject1'); $wobObject->setState('active'); $wobObject->setBarcode($barcode); $wobObject->setInfoModuleData($infoModuleData); $wobObject->setLinksModuleData($linksModuleData); $wobObject->setTextModulesData($textModulesData); $wobObject->setAccountName('Jane Doe'); $wobObject->setAccountId('1234567890'); $wobObject->setLoyaltyPoints($points); $wobObject->setMessages($messages);
Python
loyalty_object = { 'classId' : '2945482443380251551.ExampleClass1', 'id' : '2945482443380251551.ExampleObject1', 'accountId': '1234567890', 'accountName': 'Jane Doe', 'barcode': { 'alternateText' : '12345', 'type' : 'qrCode', 'value' : '28343E3' }, 'textModulesData': [{ 'header': 'Jane\'s Baconrista Rewards', 'body': 'Save more at your local Mountain View store Jane. ' + ' You get 1 bacon fat latte for every 5 coffees purchased. ' + 'Also just for you, 10% off all pastries in the Mountain View store.' }], 'linksModuleData': { 'uris': [ { 'kind': 'walletobjects#uri', 'uri': 'http://www.baconrista.com/myaccount?id=1234567890', 'description': 'My Baconrista Account' }] }, 'infoModuleData': { 'labelValueRows': [{ 'columns': [{ 'label': 'Next Reward in', 'value': '2 coffees' }, { 'label': 'Member Since', 'value': '01/15/2013' }] },{ 'columns': [{ 'label': 'Local Store', 'value': 'Mountain View' }] }], 'showLastUpdateTime': 'true' }, 'messages': [{ 'header': 'Jane, welcome to Banconrista Rewards', 'body': 'Thanks for joining our program. Show this message to ' + 'our barista for your first free coffee on us!', 'kind': 'walletobjects#walletObjectMessage' }], 'loyaltyPoints': { 'balance': { 'string': '500' }, 'label': 'Points', 'pointsType': 'points' }, 'state': 'active' }
OAuth 2.0 サービス アカウントの秘密鍵を使用して、LoyaltyObject
を JWT にエンコードします。次のスニペットは、JWT をさまざまな言語でエンコードする方法を示しています。プロトコルタブにはエンコードされていない JWT が示されています。JWT のフィールドの説明については、Google Pay API for Passes JWT をご覧ください。
プロトコル
{ "iss": "example_service_account@developer.gserviceaccount.com", "aud": "google", "typ": "savetoandroidpay", "iat": 1368029586, "payload": { "eventTicketClasses": [{ ... //Event ticket Class JSON }], "eventTicketObjects": [{ ... //Event ticket Object JSON }], "flightClasses": [{ ... //Flight Class JSON }], "flightObjects": [{ ... //Flight Object JSON }], "giftCardClasses": [{ ... //Gift card Class JSON }], "giftCardObjects": [{ ... //Gift card Object JSON }], "loyaltyClasses": [{ ... //Loyalty Class JSON }], "loyaltyObjects": [{ ... //Loyalty Object JSON }], "offerClasses": [{ ... //Offer Class JSON }], "offerObjects": [{ ... //Offer Object JSON }], "transitClasses": [{ ... //Transit Class JSON }], "transitObjects": [{ ... //Transit Object JSON }] }, "origins": ["http://baconrista.com", "https://baconrista.com"] }
Java
WobCredentials credentials = null; WobUtils utils = null; // Instantiate the WobUtils class which contains handy functions // Wob utils can be found in the quickstart sample try { credentials = new WobCredentials( ServiceAccountEmailAddress, ServiceAccountPrivateKeyPath, ApplicationName, IssuerId); utils = new WobUtils(credentials); } catch (GeneralSecurityException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // Add valid domains for the Save to Wallet button List<String> origins = new ArrayList<String>(); origins.add("http://baconrista.com"); origins.add("https://baconrista.com"); origins.add(req.getScheme() + "://" + req.getServerName() + ":" + req.getLocalPort()); //Generate Objects and Classes here //........ WobPayload payload = new WobPayload(); payload.addObject({WalletObject/WalletClass}); // Convert the object into a Save to Android Pay Jwt String jwt = null; try { jwt = utils.generateSaveJwt(payload, origins); } catch (SignatureException e) { e.printStackTrace(); }
PHP
$requestBody = [ "iss"=> SERVICE_ACCOUNT_EMAIL_ADDRESS, "aud" => "google", "typ" => "savetoandroidpay", "iat"=> time(), "payload" => { "eventTicketClasses" => [ ], # Event ticket classes "eventTicketObjects" => [ ], # Event ticket objects "flightClasses" => [ ], # Flight classes "flightObjects" => [ ], # Flight objects "giftCardClasses" => [ ], # Gift card classes "giftCardObjects" => [ ], # Gift card objects "loyaltyClasses" => [ ], # Loyalty classes "loyaltyObjects" => [ ], # Loyalty objects "offerClasses" => [ ], # Offer classes "offerObjects" => [ ], # Offer objects "transitClasses" => [ ], # Transit classes "transitObjects" => [ ] # Transit objects }, "origins" => ["http://baconrista.com", "https://baconrista.com"] ] // Generate the Save to Android Pay Jwt echo $jwt = $assertObj->makeSignedJwt($requestBody, $client);
Python
jwt = { 'iss': config.SERVICE_ACCOUNT_EMAIL_ADDRESS, 'aud': 'google', 'typ': 'savetoandroidpay', 'iat': int(time.time()), 'payload': { 'webserviceResponse': { 'result': 'approved', 'message': 'Success.' }, 'eventTicketClasses': [], # Event ticket classes 'eventTicketObjects': [], # Event ticket objects 'flightClasses': [], # Flight classes 'flightObjects': [], # Flight objects 'giftCardClasses': [], # Gift card classes 'giftCardObjects': [], # Gift card objects 'loyaltyClasses': [], # Loyalty classes 'loyaltyObjects': [], # Loyalty objects 'offerClasses': [], # Offer classes 'offerObjects': [], # Offer objects 'transitClasses': [], # Transit classes 'transitObjects': [] # Transit objects }, 'origins' : ['http://baconrista.com', 'https://baconrista.com'] } // Generate the Save to Android Pay Jwt signer = crypt.Signer.from_string(app_key) signed_jwt = crypt.make_signed_jwt(signer, jwt) response = webapp2.Response(signed_jwt)
エンコードされた JWT の安全な長さは 1,800 文字までです。この上限を超えないようにしてください。1,800 文字を超えると、ウェブブラウザによる切り捨てが発生し、保存できないことがあります。JWT でエンコードされるオブジェクトは小さくし、ユーザー固有のデータのみが含まれるようにします。JWT を作成する前に、できる限りのデータをオブジェクトのクラスに保存してください。上限を超える大きなオブジェクトについては、REST API を使用してオブジェクトを作成し、オブジェクト ID のみを JWT で送信するようにしてください。
3. [Google Pay に保存] ボタンをメールまたは SMS に追加する
生成された JWT とクラス ID を入力します。
https://pay.google.com/gp/v/save/{jwt_generated}
URL の最後に必ずスラッシュを付けてからパラメータを続けて入力してください。
ディープリンク URL の安全な長さは 1,800 文字までです。この上限を超えないようにしてください。1,800 文字を超えると、ウェブブラウザによる切り捨てが発生し、保存できないことがあります。JWT でエンコードされるオブジェクトは小さくし、ユーザー固有のデータのみが含まれるようにします。JWT を作成する前に、できる限りのデータをオブジェクトのクラスに保存してください。上限を超える大きなオブジェクトについては、REST API を使用してオブジェクトを作成し、オブジェクト ID のみを JWT で送信するようにしてください。
ブランド ガイドラインをご覧になり、[Google Pay に保存] ボタンの画像をダウンロードしてリンクに正しく適用してください。ディープリンクと [Google Pay に保存] ボタンについて詳しくは、Introduction to Save to Android Pay Deep Links(Save to Android Pay ディープリンクの紹介)をご覧ください。
Gmail では、Go-To アクションを使用してトップレベルのボタンをメールの件名に表示できます。たとえば、[Google Pay に保存] ボタンをメールの件名に表示すると、ユーザーは自分の受信トレイからクーポンを直接保存できるようになります。この機能を有効にするには、メールに View アクションを追加し、上述のディープリンクを設定します。