最近のアクセス:
StoreManager 外部オブジェクト

StoreManager 外部オブジェクトは、アプリケーションで In-App Purchase を管理するために使用するコンポーネントです。
警告: このドキュメントの内容は GeneXus 15 Upgrade 3 に適用されます。以前のアップグレードを使用する開発者は、このドキュメントの以前のバージョンを参照してください。

イメージ:39654.png イメージ:39655.png

プロパティ

[ CanMakePurchases ] プロパティ

デバイスでの購入可否を True/False で示します。たとえば、デバイスで購入が認められていない場合は、購入を制限するために使用できます。

メソッド

GetProducts メソッド

製品のリストを取得し、製品に関する詳細情報のコレクションを返します。ユーザーの言語でタイトルを取得したり、ユーザーの通貨で金額を取得したりする場合に有用です。
戻り値  StoreProduct
パラメーター ProductIdentifications:Collection(VarChar(100))
   

PurchaseProduct メソッド

In-App Purchase ストアのプラットフォームに製品の購入リクエストを送信します。
: Android では、Quantity パラメーターには 1 のみを指定でき、いずれの製品も購入可能か、購入不可能かのいずれかになります。

戻り値  StoreProduct
パラメーター ProductIdentifier:VarChar(100), [ , Quantity:Numeric(8.0) ]
   

GetPurchases メソッド

ユーザーの購入した製品の情報のリストを取得します。
戻り値  PurchasesInformation
パラメーター なし
   

ConsumeProduct メソッド

ユーザーが購入した製品を消費し、成否を返します。
戻り値  Boolean
パラメーター ProductIdentifier:VarChar(100)
   

RestorePurchases メソッド

iOS にのみ利用できます。デバイス経由での購入を復元します。
戻り値  PurchasesInformation
パラメーター なし
   

イベント

PurchaseStateChange イベント

このイベントは iOS にのみ適用されます。Handled パラメーターが False に設定されている場合は、開発者が True に設定するまで、購入発生時にこのイベントが無期限に呼び出されます。この動作の理由は、Android とは異なり、iOS には消費型の製品の購入情報は保持されないためです。一般的なシナリオとしては、トランザクションリクエストの後にストアプラットフォームが応答せずにアプリケーションがクラッシュした場合が考えられます。このような場合は、アプリケーションが再び開かれたときに購入を処理できます。請求に関するユーザーの状態をシステムに保持するのは開発者の責任です。これまで使用されていた EnableProduct または DisableProduct メソッド (詳細については、このドキュメントの以前のバージョンを参照) は廃止されました。
入力 Purchase:PurchaseResult, PurchaseState:StorePurchaseState, Handled:Boolean
出力  なし
   

ドメイン

StorePurchaseState ドメイン

購入の状態を示す一連の値です。iOS にのみ適用されます。
Purchased  購入が成功しました。
Failed 購入が失敗しました。
Restored 購入が復元されました。
Deferred 購入はペアレンタルコントロールによって決まります。
   

StorePurchasePlatform ドメイン

購入が行われたストアプラットフォームです。
GooglePlay  ストアプラットフォームとして Google Play (Android 用) が使用されました。
iTunes ストアプラットフォームとして iTunes (iOS 用) が使用されました。
   

StoreProductType ドメイン

購入された製品の性質です。
Subscription  サブスクリプションの購入です。
Product 製品の購入です。
   

StorePurchaseStatus ドメイン

プラットフォームストア (Google/Apple) での購入の検証結果を示す状態です。
Invalid 購入は無効です。
Valid 購入は有効です。
Expired サブスクリプションの購入の有効期限が切れていることを示します。
Canceled  iOS では、Apple Store のサポートチームによって購入がキャンセルされたことを示します。
Android では、ユーザーによって購入がキャンセルされたか、(請求の問題などが原因で) システムによって購入対象のサブスクリプションがキャンセルされたことを示します。  
Deferred 購入はペアレンタルコントロールによる検証待ちです。
   

構造化データタイプ

PurchaseResult

  • Success: Boolean
    購入プロセスが無事に完了したかどうかを示します。
     
  • PurchaseId: VarChar(100)
    プラットフォームストアでの購入の識別子です。
     
  • PurchasePlatform: StorePurchasePlatform
    購入が行われたストアプラットフォームです。
     
  • ProductIdentifier: VarChar(100)
    購入された製品の識別子です。
     
  • TransactionData: VarChar(100)
    暗号化された購入トランザクションデータです。
     

PurchaseInformation

特定のプラットフォームストアにおける購入のコレクションの情報が保持されます。
  • Purchases: Collection( PurchaseResult )
    照会された各製品の購入結果のコレクションです。
     
  • Receipt: LongVarChar(2M)
    Apple から取得された領収書情報です。
     
  • PurchasePlatform: StorePurchasePlatform
    購入が行われたストアプラットフォームです。
     

StoreProduct

  • LocalizedTitle: VarChar(100)
    ユーザーのローカル言語の製品タイトルです。
     
  • LocalizedDescription: VarChar(100)
    ユーザーのローカル言語の製品説明です。
     
  • LocalizedPriceAsString: VarChar(100)
    ユーザーのローカル通貨で表示される製品価格の文字列です。
     
  • Identifier: VarChar(100)
    製品の識別子です。
     
  • Purchased: Boolean
    ユーザーによって該当製品が購入されたかどうかを示します。
     

  • PurchaseStateChange イベントセクションに導入された "製品の有効化" の概念は、クライアント側で購入を管理する iOS にのみ適用されます。一方、Android では、購入が Google Play のサーバーで一元管理されるため、製品が購入されたかどうかしか分かりません。たとえば、開発者は、"有効化" の概念を利用して、デバイスにギフトメカニズムを実装できます (つまり、特定の条件下では、製品を無料で有効化することが可能です)。Android で同じシナリオを解決するには、Google Play コンソールアプリ内プロモーションコードを使用します。
  • iOS で "Deferred" 状態をシミュレートするには、生成されたプロジェクトにブール値を持つ GXSimulateAskToByInSandbox キーを追加します。
    一般的なシナリオは、アプリケーションが子のデバイスにインストールされていて、購入の検証中に開発者が Progress.Show() を使用する場合です。親による子のリクエストの承認または拒否に時間がかかる場合は、進捗状況が無期限に表示されます。 

適用範囲

対応しているプラットフォーム:  スマートデバイス (iOS、Android)

使用可能バージョン

この外部オブジェクトは、GeneXus 15 Upgrade 3 以降で利用できます。
参考情報





サブページ
Created: 18/10/29 01:04 by Admin Last update: 21/05/21 02:39 by Admin
カテゴリ
Powered by GXwiki 3.0