이 페이지에서는 Google Pay API for Passes 작동 방식의 기초 사항인 클래스와 객체의 관계를 설명하며 객체가 사용자에게 연결되는 방식도 다룹니다.
클래스와 객체
Google Pay API for Passes는 단일 사용자의 실제 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 디지털 방식으로 나타내기 위해 객체라는 개념을 사용합니다. 그리고 모든 사용자에게 공통된 데이터를 관리하기 위해 클래스라는 개념을 사용합니다. 특정한 사용 사례를 처리하기 위해 카테고리마다 고유한 객체와 클래스가 있습니다.
예를 들어 사용자의 Google Pay 앱에 있는 각 포인트 카드는 LoyaltyClass
를 참조하는 하나의 LoyaltyObject
로 표현됩니다. 마찬가지로 사용자의 Google Pay 앱에 있는 각 기프트 카드는 GiftCardClass
를 참조하는 하나의 GiftCardObject
로 표현됩니다.
각 객체는 하나의 클래스를 참조하므로 모든 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 더 쉽게 변경할 수 있습니다.
클래스에는 여러 객체에 공통되는 데이터가 포함됩니다. 예를 들어 LoyaltyClass
는 programName
을 저장하고 LoyaltyObject
는 개인의 accountId
를 저장합니다. 객체와 클래스는 일대일 관계일 수 있지만 항상 그런 것은 아닙니다. 여러 객체에서 클래스를 참조할 수 있습니다.
클래스나 객체를 변경하면 해당 내용이 즉시 적용됩니다. 사용자는 Google Pay 앱에서 동기화할 때 이러한 변경사항을 확인할 수 있습니다.
객체와 링크
Google Pay API for Passes는 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 나타내기 위해 Object
라는 개념을 사용합니다. 예를 들어 사용자의 Google Pay 앱에 있는 각 포인트 카드는 하나의 LoyaltyObject
로 표현됩니다.
사용자가 Google Pay에 저장 버튼을 사용하여 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 저장하면 API가 Object
를 삽입한 후 객체와 사용자를 연결하는 링크를 만듭니다. 즉, 사용자가 이 버튼을 다시 클릭해도 새 Object
가 삽입되지 않습니다. 링크가 이미 존재하므로 해당 Object
는 다시 링크되지 않습니다.
사용자가 Google Pay 앱에서 자신의 패스를 삭제해도 패스가 연결된 Object
는 삭제되지 않으며, 링크만 해제됩니다. Google Pay에 저장 버튼을 다시 클릭하면 새 Object
가 생성되지 않고 링크가 다시 활성화됩니다.
패스가 만들어지는 동안 저장할 때마다 새 Object
id
가 사용되는데, 그 이유는 API가 기존 id
와 일치하는 Object
를 다시 삽입하지 않기 때문입니다.
패스를 계정에서 삭제해도 실제로 Object
가 삭제되지는 않습니다. Object
와 사용자 계정의 연결만 해제될 뿐입니다.