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

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

クラスとオブジェクト

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

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

すべての搭乗券に適用する必要がある変更を簡単に実装できるように、すべてのオブジェクトがクラスを参照します。

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

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

オブジェクトとリンク

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

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

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

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

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