クラスとオブジェクトの関係

このページでは、Google Wallet API の仕組みの基礎となるクラスとオブジェクトの関係について説明します。また、オブジェクトがユーザーにどのようにしてリンクされるかについても説明します。

クラスとオブジェクト

Google Wallet API は、オブジェクトのコンセプトを使用して、1 人のユーザーの実際のクーポンをデジタル化します。この API は、クラスのコンセプトを使用して、すべてのユーザーに共通するデータの管理を可能にします。特定のユースケースに対応するため、それぞれのカテゴリに独自のオブジェクトとクラスがあります。

たとえば、ユーザーが Google ウォレット アプリに保存している各 Google ウォレットは 1 つの OfferObject で表されます。これは OfferClass を参照します。

すべてのクーポンに適用する変更を簡単に実装できるように、すべてのオブジェクトがクラスを参照します。

クラスには、オブジェクト全体の共通データが含まれます。たとえば、OfferClassredemptionChannel を格納しますが、OfferObject は個々の barcode を格納します。クラスとオブジェクトの関係は 1 対 1 にできますが、1 つのクラスを複数のオブジェクトから参照することも可能です。

クラスまたはオブジェクトに対する変更はすぐに適用されます。こうした変更は、同期後に Google ウォレット アプリに反映されます。

オブジェクトとリンク

Google Wallet API は、Object のコンセプトを使用してクーポンを表します。たとえば OfferObject は、ユーザーが Google ウォレット アプリに保存している各クーポンを表します。

ユーザーが [Google ウォレットに追加] ボタンをクリックしてクーポンを追加すると、API によって Object が挿入され、そのオブジェクトとユーザー間のリンクが確立されます。つまり、ユーザーがボタンを再度クリックしたとき、Object へのリンクはすでに存在します。

ユーザーが Google ウォレット アプリからパスを削除すると、対応する Object へのリンクが解除されます。つまり、ユーザーが [Google ウォレットに追加] ボタンをもう一度クリックすると、新しい Object を作成せずにリンクが再確立されます。

パスを開発する際は、オブジェクトを追加するたびに新しい Object id を使用することをおすすめします。これは、id が一致する場合、API は Object を再挿入しないためです。

アカウントからパスを削除しても、Object は失われません。Object とアカウントのリンクが解除されるだけであり、再びリンクできます。