Kartlar Sınıfları ve Nesnelerine genel bakış

Son kullanıcının Google Cüzdan'ına kaydetmek üzere düzenleyebileceğiniz kartların neredeyse tamamı iki bileşene göre tanımlanır: Kartlarla İlgili Sınıf ve Kart Nesnesi. Bir kullanıcıya her kart gönderdiğinizde hem Kartlar Sınıfı hem de Kartlar Nesnesi örneğine ihtiyacınız vardır. Bu nesne, Google Cüzdan API'sine kartın türünü ve kartta gösterilecek ayrıntıları (ör. hediye kartının değeri veya bilet sahibinin adı) bildirir.

Google Cüzdan API'si, örneklerini oluşturup kullanıcıya verilen bir kart (ör. GiftCardClass, GiftCardObject, GenericClass, GenericObject) oluşturmak için kullanabileceğiniz önceden tanımlanmış kart sınıfları ve geçiş nesneleri kümesi sunar.

Her Passes Class and Passes Object örneği, söz konusu kart türüne yönelik özel kullanım alanına karşılık gelen bir dizi gerekli ve isteğe bağlı özelliğe sahip bir JSON nesnesi olarak tanımlanır.

Geçilen Sınıflar

Kartlar kursunu, bir veya daha fazla kart oluşturmak için kullanılan paylaşılan bir şablon olarak düşünebilirsiniz. ortaya çıkarmanıza yardımcı olabilir. Kartlar Sınıfı, dahil edilecek ortak bir özellik kümesini tanımlar tüm geçişlerde gösterilir.

Örneğin, aşağıdaki EventTicketClass örneği, yaklaşan bir etkinlik için verilen tüm biletlerde ortak olan alanları(mekan, etkinlik adı, düzenleyen, tarih/saat) tanımlar.

{
  "id": "ISSUER_ID.EVENT_CLASS_ID",
  "issuerName": "[TEST ONLY] Heraldic Event",
  "localizedIssuerName": {
    "defaultValue": {
      "language": "en-US",
      "value": "[TEST ONLY] Heraldic Event"
    }
  },
  "eventName": {
    "defaultValue": {
      "language": "en-US",
      "value": "Google Live"
    }
  },
  "venue": {
    "name": {
      "defaultValue": {
        "language": "en-US",
        "value": "Shoreline Amphitheater"
      }
    },
    "address": {
      "defaultValue": {
        "language": "en-US",
        "value": "ADDRESS_OF_THE_VENUE"
      }
    }
  },
  "dateTime": {
    "start": "2023-04-12T11:30"
  },
  "reviewStatus": "UNDER_REVIEW"
}
  

Her Passes Class örneği için sizin belirttiğiniz bir id özelliği gerekir. Bu sınıf kimliği yeni bir Geçiş Nesnesi oluşturmak için kullandığınızda başvuracağınız benzersiz bir tanımlayıcı işlevi görür kullanır.

Nesneleri Geçirir

Passes Sınıfı örneği, bir veya daha fazla Passes Nesnesi, belirli bir kullanıcıya verilen belirli bir kartın benzersiz ayrıntılarını belirtir.

Örneğin, Google Cüzdan API'si ile bir Etkinlik Bileti Kartı oluşturulduğunda EventTicketObject örneği, bu bilete atanan koltuk için özellikleri içerir. Çünkü bu değerler, her bir bilet için destek kaydı oluşturuldu.

{
  "id": "ISSUER_ID.OBJECT_ID",
  "classId": "ISSUER_ID.EVENT_CLASS_ID",
  "state": "ACTIVE",
  "seatInfo": {
    "seat": {
      "defaultValue": {
        "language": "en-us",
        "value": "9"
      }
    },
    "row": {
      "defaultValue": {
        "language": "en-us",
        "value": "L"
      }
    },
    "section": {
      "defaultValue": {
        "language": "en-us",
        "value": "45"
      }
    },
    "gate": {
      "defaultValue": {
        "language": "en-us",
        "value": "7C"
      }
    }
  },
  "barcode": {
    "type": "BARCODE_TYPE_UNSPECIFIED",
    "value": "BARCODE_VALUE",
    "alternateText": ""
  }
}
  

Passes Nesnesi'nin her örneği, sizin belirttiğiniz bir id özelliğini gerektirir. Bu Nesne Kimliği kartı bir kullanıcıya gönderirken başvuracağınız benzersiz bir tanımlayıcı işlevi görür.

Kartlar Sınıfları, Kart Nesneleri ile nasıl çalışır?

Passes Nesneleri, Class ID'sine referans vererek veya Passes Class tanımını ekleyerek bir Passes Sınıfı örneğini genişletmelidir. Passes Class ve Passes Object örneği arasındaki bu ilişki Passes Class örneği üzerinden verilen tüm kartlarda ortak olan özellikleri ayarlayıp güncelleyebilirsiniz. Passes Object örneğindeki tek bir karta özel benzersiz özellikler.

Örneğin, basit bir Etkinlik Bileti biletinin aşağıdaki diyagramı, paylaşılan EventTicketClass içinde tanımlanan alanların ve EventTicketObject içinde tanımlanan belirli bir bilet alanlarının, verilen nihai kartı oluşturmak için nasıl birleştiğini gösterir. Passes Class (Geçişler Sınıfı) kimliğinin, Passes Object'in classId özelliğinde nasıl belirtildiğine dikkat edin.

Passes Class örneği örneğinde yapılan değişiklikler tüm Passes Object örneklerine hemen uygulanır bir liste hazırlayabilirsiniz. Kullanıcılar, Passes Class örneğinde yaptığınız tüm değişiklikleri görür Google Cüzdan uygulamasındaki karttaki Play Store'a ekleyin.

Kullanıcının Google Cüzdan'ına kart ekleme

Kullanıcının Google Cüzdan'ına kart eklemek için hak talepleri içeren bir JSON Web Token (JWT) oluşturmanız gerekir kartı veren kuruluş, kullanıcının Google Cüzdan'ına kaydedilecek Passes Object örneğiyle ilgili bildirimde bulunursanız en önemlisi, kullanıcıya verdiğiniz Passes Object örneğinin nesne kimliğidir. JWT Ardından, Google Cüzdan'a ekle düğmesi veya Google Cüzdan'a ekle düğmesiyle kullanıcıya teslim edilir. bağlantısını tıklayın.

Kullanıcı, Google Cüzdan'ına verilmiş bir kart eklemek için düğmeyi veya bağlantıyı tıkladıktan sonra JWT'de kodlanan Object örneğini geçer, söz konusu kullanıcının Google hesabına bağlıdır. Bunun anlamı, Kullanıcı düğmeyi tekrar tıkladığında, Passes Object için zaten bir bağlantı mevcuttur. Dolayısıyla, kullanıcının cüzdanına kopya eklenmez.

Kullanıcı bir kartı Google Cüzdan uygulamasından kaldırırsa ilgili Passes Object örneği ile bağlantısı otomatik olarak kaldırılır, ancak kullanıcı silinmez. Bu, kullanıcının Kartı Google Cüzdan'a eklemek için Google Cüzdan'a ekle düğmesini veya tekrar bağlayın. yeni Passes Object örneği veya JWT'si oluşturulmalıdır.