Son kullanıcıların Google Cüzdan'larına kaydetmeleri için oluşturabileceğiniz kartların neredeyse tamamı iki bileşenden oluşur: Kart Sınıfı ve Kart Nesnesi. Bir kullanıcıya kart verdiğinizde hem Kart Sınıfı hem de Kart Nesnesi örneğine ihtiyacınız olur. Bu örnekler, Google Wallet API'ye hangi tür kart oluşturulacağını ve kartta gösterilecek ayrıntıları (ör. hediye kartının değeri veya bilet sahibinin adı) bildirir.
Google Wallet API, örneklerini oluşturduğunuz ve ardından kullanıcıya verilen bir kart (ör. GiftCardClass ve GiftCardObject, GenericClass ve GenericObject) oluşturmak için kullandığınız önceden tanımlanmış bir Kart Sınıfları ve Kart Nesneleri kümesi sağlar.
Her Kart Sınıfı ve Kart Nesnesi örneği, JSON nesnesi olarak tanımlanır. Bu nesne, ilgili kart türü için amaçlanan belirli kullanım alanına karşılık gelen bir dizi zorunlu ve isteğe bağlı özelliğe sahiptir.
Kart sınıfı oluşturma
Kart sınıfı, kartların oluşturulduğu paylaşılan bir şablon olarak düşünülebilir. Kart sınıfı, kendisini kullanan tüm kartlara dahil edilecek belirli özellikleri tanımlar. Kart verenler birden fazla sınıf oluşturabilir. Her sınıfın stil ve görünüm gibi özellikleri tanımlayan kendine özgü özellikleri ve Smart Tap, kayıt ve oturum açma gibi ek özellikleri vardır.
Kart Sınıfları, Google Cüzdan REST API, Google Cüzdan Android SDK'sı veya Google Cüzdan İşletme Konsolu kullanılarak oluşturulabilir.
Google Cüzdan REST API'yi kullanma
Google Cüzdan REST API'yi kullanarak bir kart sınıfı oluşturmak için https://walletobjects.googleapis.com/walletobjects/v1/genericClass adresine bir POST isteği gönderin. Daha fazla bilgi için referans dokümanlarına bakın.
Java
Java'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/** * Create a class. * * @param issuerId The issuer ID being used for this request. * @param classSuffix Developer-defined unique ID for this pass class. * @return The pass class ID: "{issuerId}.{classSuffix}" */ public String createClass(String issuerId, String classSuffix) throws IOException { // Check if the class exists try { service.genericclass().get(String.format("%s.%s", issuerId, classSuffix)).execute(); System.out.printf("Class %s.%s already exists!%n", issuerId, classSuffix); return String.format("%s.%s", issuerId, classSuffix); } catch (GoogleJsonResponseException ex) { if (ex.getStatusCode() != 404) { // Something else went wrong... ex.printStackTrace(); return String.format("%s.%s", issuerId, classSuffix); } } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericclass GenericClass newClass = new GenericClass().setId(String.format("%s.%s", issuerId, classSuffix)); GenericClass response = service.genericclass().insert(newClass).execute(); System.out.println("Class insert response"); System.out.println(response.toPrettyString()); return response.getId(); }
PHP
PHP'de entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/** * Create a class. * * @param string $issuerId The issuer ID being used for this request. * @param string $classSuffix Developer-defined unique ID for this pass class. * * @return string The pass class ID: "{$issuerId}.{$classSuffix}" */ public function createClass(string $issuerId, string $classSuffix) { // Check if the class exists try { $this->service->genericclass->get("{$issuerId}.{$classSuffix}"); print("Class {$issuerId}.{$classSuffix} already exists!"); return "{$issuerId}.{$classSuffix}"; } catch (Google\Service\Exception $ex) { if (empty($ex->getErrors()) || $ex->getErrors()[0]['reason'] != 'classNotFound') { // Something else went wrong... print_r($ex); return "{$issuerId}.{$classSuffix}"; } } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericclass $newClass = new GenericClass([ 'id' => "{$issuerId}.{$classSuffix}" ]); $response = $this->service->genericclass->insert($newClass); print "Class insert response\n"; print_r($response); return $response->id; }
Python
Python'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
def create_class(self, issuer_id: str, class_suffix: str) -> str: """Create a class. Args: issuer_id (str): The issuer ID being used for this request. class_suffix (str): Developer-defined unique ID for this pass class. Returns: The pass class ID: f"{issuer_id}.{class_suffix}" """ # Check if the class exists try: self.client.genericclass().get(resourceId=f'{issuer_id}.{class_suffix}').execute() except HttpError as e: if e.status_code != 404: # Something else went wrong... print(e.error_details) return f'{issuer_id}.{class_suffix}' else: print(f'Class {issuer_id}.{class_suffix} already exists!') return f'{issuer_id}.{class_suffix}' # See link below for more information on required properties # https://developers.google.com/wallet/generic/rest/v1/genericclass new_class = {'id': f'{issuer_id}.{class_suffix}'} response = self.client.genericclass().insert(body=new_class).execute() print('Class insert response') print(response) return f'{issuer_id}.{class_suffix}'
C#
C# dilinde entegrasyonunuza başlamak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/// <summary> /// Create a class. /// </summary> /// <param name="issuerId">The issuer ID being used for this request.</param> /// <param name="classSuffix">Developer-defined unique ID for this pass class.</param> /// <returns>The pass class ID: "{issuerId}.{classSuffix}"</returns> public string CreateClass(string issuerId, string classSuffix) { // Check if the class exists Stream responseStream = service.Genericclass .Get($"{issuerId}.{classSuffix}") .ExecuteAsStream(); StreamReader responseReader = new StreamReader(responseStream); JObject jsonResponse = JObject.Parse(responseReader.ReadToEnd()); if (!jsonResponse.ContainsKey("error")) { Console.WriteLine($"Class {issuerId}.{classSuffix} already exists!"); return $"{issuerId}.{classSuffix}"; } else if (jsonResponse["error"].Value<int>("code") != 404) { // Something else went wrong... Console.WriteLine(jsonResponse.ToString()); return $"{issuerId}.{classSuffix}"; } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericclass GenericClass newClass = new GenericClass { Id = $"{issuerId}.{classSuffix}" }; responseStream = service.Genericclass .Insert(newClass) .ExecuteAsStream(); responseReader = new StreamReader(responseStream); jsonResponse = JObject.Parse(responseReader.ReadToEnd()); Console.WriteLine("Class insert response"); Console.WriteLine(jsonResponse.ToString()); return $"{issuerId}.{classSuffix}"; }
Node.js
Node'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/** * Create a class. * * @param {string} issuerId The issuer ID being used for this request. * @param {string} classSuffix Developer-defined unique ID for this pass class. * * @returns {string} The pass class ID: `${issuerId}.${classSuffix}` */ async createClass(issuerId, classSuffix) { let response; // Check if the class exists try { response = await this.client.genericclass.get({ resourceId: `${issuerId}.${classSuffix}` }); console.log(`Class ${issuerId}.${classSuffix} already exists!`); return `${issuerId}.${classSuffix}`; } catch (err) { if (err.response && err.response.status !== 404) { // Something else went wrong... console.log(err); return `${issuerId}.${classSuffix}`; } } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericclass let newClass = { 'id': `${issuerId}.${classSuffix}` }; response = await this.client.genericclass.insert({ requestBody: newClass }); console.log('Class insert response'); console.log(response); return `${issuerId}.${classSuffix}`; }
Go
Go'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamına bakın GitHub'daki kod örnekleri.
// Create a class. func (d *demoGeneric) createClass(issuerId, classSuffix string) { genericClass := new(walletobjects.GenericClass) genericClass.Id = fmt.Sprintf("%s.%s", issuerId, classSuffix) res, err := d.service.Genericclass.Insert(genericClass).Do() if err != nil { log.Fatalf("Unable to insert class: %v", err) } else { fmt.Printf("Class insert id:\n%v\n", res.Id) } }
Kart nesnesi oluşturma
Kart nesnesi, kart sınıfının bir örneğidir. Kart nesnesi oluşturmak için aşağıdaki özellikleri sağlamanız gerekir:
classId: Kart sınıfınıniddeğeriid: Müşteriniz için benzersiz bir kimlikKart nesnesi oluşturmak için kod örneği:
Java
Java'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/** * Create an object. * * @param issuerId The issuer ID being used for this request. * @param classSuffix Developer-defined unique ID for this pass class. * @param objectSuffix Developer-defined unique ID for this pass object. * @return The pass object ID: "{issuerId}.{objectSuffix}" */ public String createObject(String issuerId, String classSuffix, String objectSuffix) throws IOException { // Check if the object exists try { service.genericobject().get(String.format("%s.%s", issuerId, objectSuffix)).execute(); System.out.printf("Object %s.%s already exists!%n", issuerId, objectSuffix); return String.format("%s.%s", issuerId, objectSuffix); } catch (GoogleJsonResponseException ex) { if (ex.getStatusCode() != 404) { // Something else went wrong... ex.printStackTrace(); return String.format("%s.%s", issuerId, objectSuffix); } } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericobject GenericObject newObject = new GenericObject() .setId(String.format("%s.%s", issuerId, objectSuffix)) .setClassId(String.format("%s.%s", issuerId, classSuffix)) .setState("ACTIVE") .setHeroImage( new Image() .setSourceUri( new ImageUri() .setUri( "https://farm4.staticflickr.com/3723/11177041115_6e6a3b6f49_o.jpg")) .setContentDescription( new LocalizedString() .setDefaultValue( new TranslatedString() .setLanguage("en-US") .setValue("Hero image description")))) .setTextModulesData( List.of( new TextModuleData() .setHeader("Text module header") .setBody("Text module body") .setId("TEXT_MODULE_ID"))) .setLinksModuleData( new LinksModuleData() .setUris( Arrays.asList( new Uri() .setUri("http://maps.google.com/") .setDescription("Link module URI description") .setId("LINK_MODULE_URI_ID"), new Uri() .setUri("tel:6505555555") .setDescription("Link module tel description") .setId("LINK_MODULE_TEL_ID")))) .setImageModulesData( List.of( new ImageModuleData() .setMainImage( new Image() .setSourceUri( new ImageUri() .setUri( "http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg")) .setContentDescription( new LocalizedString() .setDefaultValue( new TranslatedString() .setLanguage("en-US") .setValue("Image module description")))) .setId("IMAGE_MODULE_ID"))) .setBarcode(new Barcode().setType("QR_CODE").setValue("QR code value")) .setCardTitle( new LocalizedString() .setDefaultValue( new TranslatedString().setLanguage("en-US").setValue("Generic card title"))) .setHeader( new LocalizedString() .setDefaultValue( new TranslatedString().setLanguage("en-US").setValue("Generic header"))) .setHexBackgroundColor("#4285f4") .setLogo( new Image() .setSourceUri( new ImageUri() .setUri( "https://developers.google.com/static/wallet/site-assets/images/pass-builder/pass_google_logo.jpg")) .setContentDescription( new LocalizedString() .setDefaultValue( new TranslatedString() .setLanguage("en-US") .setValue("Generic card logo")))); GenericObject response = service.genericobject().insert(newObject).execute(); System.out.println("Object insert response"); System.out.println(response.toPrettyString()); return response.getId(); }
PHP
PHP'de entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/** * Create an object. * * @param string $issuerId The issuer ID being used for this request. * @param string $classSuffix Developer-defined unique ID for this pass class. * @param string $objectSuffix Developer-defined unique ID for this pass object. * * @return string The pass object ID: "{$issuerId}.{$objectSuffix}" */ public function createObject(string $issuerId, string $classSuffix, string $objectSuffix) { // Check if the object exists try { $this->service->genericobject->get("{$issuerId}.{$objectSuffix}"); print("Object {$issuerId}.{$objectSuffix} already exists!"); return "{$issuerId}.{$objectSuffix}"; } catch (Google\Service\Exception $ex) { if (empty($ex->getErrors()) || $ex->getErrors()[0]['reason'] != 'resourceNotFound') { // Something else went wrong... print_r($ex); return "{$issuerId}.{$objectSuffix}"; } } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericobject $newObject = new GenericObject([ 'id' => "{$issuerId}.{$objectSuffix}", 'classId' => "{$issuerId}.{$classSuffix}", 'state' => 'ACTIVE', 'heroImage' => new Image([ 'sourceUri' => new ImageUri([ 'uri' => 'https://farm4.staticflickr.com/3723/11177041115_6e6a3b6f49_o.jpg' ]), 'contentDescription' => new LocalizedString([ 'defaultValue' => new TranslatedString([ 'language' => 'en-US', 'value' => 'Hero image description' ]) ]) ]), 'textModulesData' => [ new TextModuleData([ 'header' => 'Text module header', 'body' => 'Text module body', 'id' => 'TEXT_MODULE_ID' ]) ], 'linksModuleData' => new LinksModuleData([ 'uris' => [ new Uri([ 'uri' => 'http://maps.google.com/', 'description' => 'Link module URI description', 'id' => 'LINK_MODULE_URI_ID' ]), new Uri([ 'uri' => 'tel:6505555555', 'description' => 'Link module tel description', 'id' => 'LINK_MODULE_TEL_ID' ]) ] ]), 'imageModulesData' => [ new ImageModuleData([ 'mainImage' => new Image([ 'sourceUri' => new ImageUri([ 'uri' => 'http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg' ]), 'contentDescription' => new LocalizedString([ 'defaultValue' => new TranslatedString([ 'language' => 'en-US', 'value' => 'Image module description' ]) ]) ]), 'id' => 'IMAGE_MODULE_ID' ]) ], 'barcode' => new Barcode([ 'type' => 'QR_CODE', 'value' => 'QR code value' ]), 'cardTitle' => new LocalizedString([ 'defaultValue' => new TranslatedString([ 'language' => 'en-US', 'value' => 'Generic card title' ]) ]), 'header' => new LocalizedString([ 'defaultValue' => new TranslatedString([ 'language' => 'en-US', 'value' => 'Generic header' ]) ]), 'hexBackgroundColor' => '#4285f4', 'logo' => new Image([ 'sourceUri' => new ImageUri([ 'uri' => 'https://developers.google.com/static/wallet/site-assets/images/pass-builder/pass_google_logo.jpg' ]), 'contentDescription' => new LocalizedString([ 'defaultValue' => new TranslatedString([ 'language' => 'en-US', 'value' => 'Generic card logo' ]) ]) ]) ]); $response = $this->service->genericobject->insert($newObject); print "Object insert response\n"; print_r($response); return $response->id; }
Python
Python'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
def create_object(self, issuer_id: str, class_suffix: str, object_suffix: str) -> str: """Create an object. Args: issuer_id (str): The issuer ID being used for this request. class_suffix (str): Developer-defined unique ID for the pass class. object_suffix (str): Developer-defined unique ID for the pass object. Returns: The pass object ID: f"{issuer_id}.{object_suffix}" """ # Check if the object exists try: self.client.genericobject().get(resourceId=f'{issuer_id}.{object_suffix}').execute() except HttpError as e: if e.status_code != 404: # Something else went wrong... print(e.error_details) return f'{issuer_id}.{object_suffix}' else: print(f'Object {issuer_id}.{object_suffix} already exists!') return f'{issuer_id}.{object_suffix}' # See link below for more information on required properties # https://developers.google.com/wallet/generic/rest/v1/genericobject new_object = { 'id': f'{issuer_id}.{object_suffix}', 'classId': f'{issuer_id}.{class_suffix}', 'state': 'ACTIVE', 'heroImage': { 'sourceUri': { 'uri': 'https://farm4.staticflickr.com/3723/11177041115_6e6a3b6f49_o.jpg' }, 'contentDescription': { 'defaultValue': { 'language': 'en-US', 'value': 'Hero image description' } } }, 'textModulesData': [{ 'header': 'Text module header', 'body': 'Text module body', 'id': 'TEXT_MODULE_ID' }], 'linksModuleData': { 'uris': [{ 'uri': 'http://maps.google.com/', 'description': 'Link module URI description', 'id': 'LINK_MODULE_URI_ID' }, { 'uri': 'tel:6505555555', 'description': 'Link module tel description', 'id': 'LINK_MODULE_TEL_ID' }] }, 'imageModulesData': [{ 'mainImage': { 'sourceUri': { 'uri': 'http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg' }, 'contentDescription': { 'defaultValue': { 'language': 'en-US', 'value': 'Image module description' } } }, 'id': 'IMAGE_MODULE_ID' }], 'barcode': { 'type': 'QR_CODE', 'value': 'QR code' }, 'cardTitle': { 'defaultValue': { 'language': 'en-US', 'value': 'Generic card title' } }, 'header': { 'defaultValue': { 'language': 'en-US', 'value': 'Generic header' } }, 'hexBackgroundColor': '#4285f4', 'logo': { 'sourceUri': { 'uri': 'https://developers.google.com/static/wallet/site-assets/images/pass-builder/pass_google_logo.jpg' }, 'contentDescription': { 'defaultValue': { 'language': 'en-US', 'value': 'Generic card logo' } } } } # Create the object response = self.client.genericobject().insert(body=new_object).execute() print('Object insert response') print(response) return f'{issuer_id}.{object_suffix}'
C#
C# dilinde entegrasyonunuza başlamak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/// <summary> /// Create an object. /// </summary> /// <param name="issuerId">The issuer ID being used for this request.</param> /// <param name="classSuffix">Developer-defined unique ID for this pass class.</param> /// <param name="objectSuffix">Developer-defined unique ID for this pass object.</param> /// <returns>The pass object ID: "{issuerId}.{objectSuffix}"</returns> public string CreateObject(string issuerId, string classSuffix, string objectSuffix) { // Check if the object exists Stream responseStream = service.Genericobject .Get($"{issuerId}.{objectSuffix}") .ExecuteAsStream(); StreamReader responseReader = new StreamReader(responseStream); JObject jsonResponse = JObject.Parse(responseReader.ReadToEnd()); if (!jsonResponse.ContainsKey("error")) { Console.WriteLine($"Object {issuerId}.{objectSuffix} already exists!"); return $"{issuerId}.{objectSuffix}"; } else if (jsonResponse["error"].Value<int>("code") != 404) { // Something else went wrong... Console.WriteLine(jsonResponse.ToString()); return $"{issuerId}.{objectSuffix}"; } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericobject GenericObject newObject = new GenericObject { Id = $"{issuerId}.{objectSuffix}", ClassId = $"{issuerId}.{classSuffix}", State = "ACTIVE", HeroImage = new Image { SourceUri = new ImageUri { Uri = "https://farm4.staticflickr.com/3723/11177041115_6e6a3b6f49_o.jpg" }, ContentDescription = new LocalizedString { DefaultValue = new TranslatedString { Language = "en-US", Value = "Hero image description" } } }, TextModulesData = new List<TextModuleData> { new TextModuleData { Header = "Text module header", Body = "Text module body", Id = "TEXT_MODULE_ID" } }, LinksModuleData = new LinksModuleData { Uris = new List<Google.Apis.Walletobjects.v1.Data.Uri> { new Google.Apis.Walletobjects.v1.Data.Uri { UriValue = "http://maps.google.com/", Description = "Link module URI description", Id = "LINK_MODULE_URI_ID" }, new Google.Apis.Walletobjects.v1.Data.Uri { UriValue = "tel:6505555555", Description = "Link module tel description", Id = "LINK_MODULE_TEL_ID" } } }, ImageModulesData = new List<ImageModuleData> { new ImageModuleData { MainImage = new Image { SourceUri = new ImageUri { Uri = "http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg" }, ContentDescription = new LocalizedString { DefaultValue = new TranslatedString { Language = "en-US", Value = "Image module description" } } }, Id = "IMAGE_MODULE_ID" } }, Barcode = new Barcode { Type = "QR_CODE", Value = "QR code" }, CardTitle = new LocalizedString { DefaultValue = new TranslatedString { Language = "en-US", Value = "Generic card title" } }, Header = new LocalizedString { DefaultValue = new TranslatedString { Language = "en-US", Value = "Generic header" } }, HexBackgroundColor = "#4285f4", Logo = new Image { SourceUri = new ImageUri { Uri = "https://developers.google.com/static/wallet/site-assets/images/pass-builder/pass_google_logo.jpg" }, ContentDescription = new LocalizedString { DefaultValue = new TranslatedString { Language = "en-US", Value = "Generic card logo" } }, } }; responseStream = service.Genericobject .Insert(newObject) .ExecuteAsStream(); responseReader = new StreamReader(responseStream); jsonResponse = JObject.Parse(responseReader.ReadToEnd()); Console.WriteLine("Object insert response"); Console.WriteLine(jsonResponse.ToString()); return $"{issuerId}.{objectSuffix}"; }
Node.js
Node'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamını inceleyin.
/** * Create an object. * * @param {string} issuerId The issuer ID being used for this request. * @param {string} classSuffix Developer-defined unique ID for the pass class. * @param {string} objectSuffix Developer-defined unique ID for the pass object. * * @returns {string} The pass object ID: `${issuerId}.${objectSuffix}` */ async createObject(issuerId, classSuffix, objectSuffix) { let response; // Check if the object exists try { response = await this.client.genericobject.get({ resourceId: `${issuerId}.${objectSuffix}` }); console.log(`Object ${issuerId}.${objectSuffix} already exists!`); return `${issuerId}.${objectSuffix}`; } catch (err) { if (err.response && err.response.status !== 404) { // Something else went wrong... console.log(err); return `${issuerId}.${objectSuffix}`; } } // See link below for more information on required properties // https://developers.google.com/wallet/generic/rest/v1/genericobject let newObject = { 'id': `${issuerId}.${objectSuffix}`, 'classId': `${issuerId}.${classSuffix}`, 'state': 'ACTIVE', 'heroImage': { 'sourceUri': { 'uri': 'https://farm4.staticflickr.com/3723/11177041115_6e6a3b6f49_o.jpg' }, 'contentDescription': { 'defaultValue': { 'language': 'en-US', 'value': 'Hero image description' } } }, 'textModulesData': [ { 'header': 'Text module header', 'body': 'Text module body', 'id': 'TEXT_MODULE_ID' } ], 'linksModuleData': { 'uris': [ { 'uri': 'http://maps.google.com/', 'description': 'Link module URI description', 'id': 'LINK_MODULE_URI_ID' }, { 'uri': 'tel:6505555555', 'description': 'Link module tel description', 'id': 'LINK_MODULE_TEL_ID' } ] }, 'imageModulesData': [ { 'mainImage': { 'sourceUri': { 'uri': 'http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg' }, 'contentDescription': { 'defaultValue': { 'language': 'en-US', 'value': 'Image module description' } } }, 'id': 'IMAGE_MODULE_ID' } ], 'barcode': { 'type': 'QR_CODE', 'value': 'QR code' }, 'cardTitle': { 'defaultValue': { 'language': 'en-US', 'value': 'Generic card title' } }, 'header': { 'defaultValue': { 'language': 'en-US', 'value': 'Generic header' } }, 'hexBackgroundColor': '#4285f4', 'logo': { 'sourceUri': { 'uri': 'https://developers.google.com/static/wallet/site-assets/images/pass-builder/pass_google_logo.jpg' }, 'contentDescription': { 'defaultValue': { 'language': 'en-US', 'value': 'Generic card logo' } } } }; response = await this.client.genericobject.insert({ requestBody: newObject }); console.log('Object insert response'); console.log(response); return `${issuerId}.${objectSuffix}`; }
Go
Go'da entegrasyonunuzu başlatmak için GitHub'daki kod örneklerimizin tamamına bakın GitHub'daki kod örnekleri.
// Create an object. func (d *demoGeneric) createObject(issuerId, classSuffix, objectSuffix string) { genericObject := new(walletobjects.GenericObject) genericObject.Id = fmt.Sprintf("%s.%s", issuerId, objectSuffix) genericObject.ClassId = fmt.Sprintf("%s.%s", issuerId, classSuffix) genericObject.State = "ACTIVE" genericObject.Barcode = &walletobjects.Barcode{ Type: "QR_CODE", Value: "QR code", } genericObject.CardTitle = &walletobjects.LocalizedString{ DefaultValue: &walletobjects.TranslatedString{ Language: "en-us", Value: "Card title", }, } genericObject.Header = &walletobjects.LocalizedString{ DefaultValue: &walletobjects.TranslatedString{ Language: "en-us", Value: "Header", }, } genericObject.HeroImage = &walletobjects.Image{ SourceUri: &walletobjects.ImageUri{ Uri: "https://farm4.staticflickr.com/3723/11177041115_6e6a3b6f49_o.jpg", }, } genericObject.LinksModuleData = &walletobjects.LinksModuleData{ Uris: []*walletobjects.Uri{ &walletobjects.Uri{ Id: "LINK_MODULE_URI_ID", Uri: "http://maps.google.com/", Description: "Link module URI description", }, &walletobjects.Uri{ Id: "LINK_MODULE_TEL_ID", Uri: "tel:6505555555", Description: "Link module tel description", }, }, } genericObject.ImageModulesData = []*walletobjects.ImageModuleData{ &walletobjects.ImageModuleData{ Id: "IMAGE_MODULE_ID", MainImage: &walletobjects.Image{ SourceUri: &walletobjects.ImageUri{ Uri: "http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg", }, }, }, } genericObject.TextModulesData = []*walletobjects.TextModuleData{ &walletobjects.TextModuleData{ Body: "Text module body", Header: "Text module header", Id: "TEXT_MODULE_ID", }, } res, err := d.service.Genericobject.Insert(genericObject).Do() if err != nil { log.Fatalf("Unable to insert object: %v", err) } else { fmt.Printf("Object insert id:\n%s\n", res.Id) } }
İşlem tamamlandığında müşterinizin Kart Nesnesi sunucuda oluşturulur. Ancak bu aşamada, kart nesnesi bir Google kullanıcısına veya cihazına bağlanmamıştır. Kartın bir Google Cüzdan kullanıcısıyla ilişkilendirilmesi için kartı vermeniz gerekir.