Store API はアプリケーションで In-App Purchase (アプリ内購入) の管理を可能にする GeneXus Smart Devices API のコンポーネントです。
これは、1つの 外部オブジェクト (Store メインコンポーネント)、Store 外部オブジェクトメソッドによって使用される 3つの Structured Data Types (SDT) (PurchaseReceiptInformation、PurchaseResult、および StoreProductCollection)、および 1つのプロシージャー (ストアプラットフォームで購入の検証プロセスの呼び出しに使用される ValidatePurchase) から構成されています。
Store 外部オブジェクト
メソッド
Store.GetProducts(ProductsIdentifications) : StoreProductCollection
ProductIdentifications は VarChar(100) のコレクションです。 |
プロダクトのリストを取得し、製品に関する詳細情報のコレクションを返します。ユーザーの言語でタイトルを取得したり、ユーザーの通貨で金額を取得したりする場合に有用です。
Store.PurchaseProduct(ProductIdentifier, Quantity) : PurchaseResult
ProductIdentifier は VarChar(100) です。 |
Quantity は Numeric(8.0) です。 |
In-App Purchase ストアのプラットフォームに製品の購入リクエストを送信します。
Store.GetPurchasedProducts() : VarChar(100) コレクション
ユーザーの購入した製品の識別子のリストを取得します。
注:このメソッドは、GeneXus X Evolution 3 Upgrade 5 以降、非推奨です。代わりに GetPurchases を使用してください。
Store.GetPurchases(): Collection (PurchaseResult)
ユーザーの購入した製品の情報のリストを取得します。
使用可能バージョン
GeneXus X Evolution 3 Upgrade 5
Store.IsEnabled(ProductIdentifier) : ブール値
ProductIdentifier は VarChar(100) です。 |
指定された製品が購入された場合、In-App Purchase ストアのプラットフォームでチェックされます。
Store.EnableProduct(ProductIdentifier)
Store.DisableProduct(ProductIdentifier)
ProductIdentifier は VarChar(100) です。 |
これらのメソッドは、In-App Purchases プラットフォームで製品の購入状況を設定するために使用されます。一般的に、EnableProduct メソッドは、PurchaseProduct メソッドを使用する場合、成功結果を取得した直後に呼び出されます。DisableProduct メソッドは、In-App 製品 (ストアの "消耗" 製品) が使用された直後に呼び出されます。この目的は、再びその製品を選択できないよう、無効にすることです。
成功結果を取得したときでさえ、PurchaseProduct メソッドは暗黙的に EnableProduct アクションを実行しません。製品の購入手続きの有効/無効の状況を管理するのは、GeneXus ユーザーのタスクだからです。
PurchaseResult SDT
Success :ブール値 |
購入プロセスが無事に完了したかどうかを示します。 |
ProductIdentifier :VarChar (100) |
購入された製品の識別子です。 |
TransactionData :VarChar (100) |
ValidatePurchase プロシージャーの呼び出しにオプションとして使用することができる Purchase トランザクションの暗号化されたデータ (iOS のIn-App Purchase でのみ使用可能) |
StoreProductCollection SDT
コレクションには以下が含まれます:
LocalizedTitle :VarChar (100) |
ユーザーのローカル言語の製品タイトルです。 |
LocalizedDescription :VarChar (100) |
ユーザーのローカル言語の製品説明です。 |
LocalizedPriceAsString :VarChar (100) |
ユーザーのローカル通貨で表示される製品価格のストリングです。 |
ProductIdentifier :VarChar (100) |
製品の識別子です。 |
Purchased :ブール値 |
ユーザーによって該当製品が購入されたかどうかを示します。 |
ValidatePurchase プロシージャー
このプロシージャーは TransactionData -VarChar(100) のパラメーターを受け取り PurchaseReceiptInformation SDT に基づく領収書の情報を返します。TransactionData は Store 外部オブジェクトの PurchaseProduct メソッドへの前の呼び出しから取得されます。一般的に (EnableProduct メソッドを使用して) ストアのプラットフォームで製品を有効にする前に、このプロシージャーは最後の検証を実行するために呼び出されます。
注:ValidatePurchase プロシージャーの検証は iOS の In-App Purchase でのみ利用可能です。
PurchaseReceiptInformation SDT
ValidatePurchase プロシージャーの呼び出し結果を保存します (iOS のIn-App Purchase でのみ利用可能)。
Valid :ブール値 |
選択された購入が検証されているかどうかを示します。 |
ProductIdentifier :VarChar (100) |
購入された製品の識別子です。 |
Quantity :Numeric (8.0) |
購入された製品の数量です。 |
TransactionId :VarChar (40) |
In-App Purchase ストアで実行される処理の識別子です。In-App Purchase ストアによって提供されるレポートの購入情報を後で確認する場合に有用です。 |
PurchaseDate :日時 |
購入した日時です。 |
OriginalTransactionId :VarChar (40) |
通常、接続障害などにより処理が中止された場合、ストアのプラットフォームは購入を再度試み、新しい処理 ID が生成されます。これらのケースでは、このフィールドには、接続障害が発生した元の処理 ID が保存されます。 |
OriginalPurchaseDate :日時 |
元の購入日時です。 |
ApplicationItemsId :VarChar (100) |
購入が発生するアプリケーションの識別子です。複数のアプリケーションで購入プロセスが実行される場合に有用です。 |
|