StoreManager 外部オブジェクトは、アプリケーションで In-App Purchase を管理するために使用するコンポーネントです。
デバイスでの購入可否を True/False で示します。たとえば、デバイスで購入が認められていない場合は、購入を制限するために使用できます。
製品のリストを取得し、製品に関する詳細情報のコレクションを返します。ユーザーの言語でタイトルを取得したり、ユーザーの通貨で金額を取得したりする場合に有用です。
戻り値 |
StoreProduct |
パラメーター |
ProductIdentifications:Collection(VarChar(100)) |
|
|
In-App Purchase ストアのプラットフォームに製品の購入リクエストを送信します。
注: Android では、Quantity パラメーターには 1 のみを指定でき、いずれの製品も購入可能か、購入不可能かのいずれかになります。
ユーザーの購入した製品の情報のリストを取得します。
戻り値 |
PurchasesInformation |
パラメーター |
なし |
|
|
ユーザーが購入した製品を消費し、成否を返します。
iOS にのみ利用できます。デバイス経由での購入を復元します。
戻り値 |
PurchasesInformation |
パラメーター |
なし |
|
|
このイベントは iOS にのみ適用されます。Handled パラメーターが False に設定されている場合は、開発者が True に設定するまで、購入発生時にこのイベントが無期限に呼び出されます。この動作の理由は、Android とは異なり、iOS には消費型の製品の購入情報は保持されないためです。一般的なシナリオとしては、トランザクションリクエストの後にストアプラットフォームが応答せずにアプリケーションがクラッシュした場合が考えられます。このような場合は、アプリケーションが再び開かれたときに購入を処理できます。請求に関するユーザーの状態をシステムに保持するのは開発者の責任です。これまで使用されていた EnableProduct または DisableProduct メソッド (詳細については、このドキュメントの以前のバージョンを参照) は廃止されました。
入力 |
Purchase:PurchaseResult, PurchaseState:StorePurchaseState, Handled:Boolean |
出力 |
なし |
|
|
購入の状態を示す一連の値です。iOS にのみ適用されます。
Purchased |
購入が成功しました。 |
Failed |
購入が失敗しました。 |
Restored |
購入が復元されました。 |
Deferred |
購入はペアレンタルコントロールによって決まります。 |
|
|
購入が行われたストアプラットフォームです。
GooglePlay |
ストアプラットフォームとして Google Play (Android 用) が使用されました。 |
iTunes |
ストアプラットフォームとして iTunes (iOS 用) が使用されました。 |
|
|
購入された製品の性質です。
Subscription |
サブスクリプションの購入です。 |
Product |
製品の購入です。 |
|
|
プラットフォームストア (Google/Apple) での購入の検証結果を示す状態です。
Invalid |
購入は無効です。 |
Valid |
購入は有効です。 |
Expired |
サブスクリプションの購入の有効期限が切れていることを示します。 |
Canceled |
iOS では、Apple Store のサポートチームによって購入がキャンセルされたことを示します。
Android では、ユーザーによって購入がキャンセルされたか、(請求の問題などが原因で) システムによって購入対象のサブスクリプションがキャンセルされたことを示します。 |
Deferred |
購入はペアレンタルコントロールによる検証待ちです。 |
|
|
- Success: Boolean
購入プロセスが無事に完了したかどうかを示します。
- PurchaseId: VarChar(100)
プラットフォームストアでの購入の識別子です。
- PurchasePlatform: StorePurchasePlatform
購入が行われたストアプラットフォームです。
- ProductIdentifier: VarChar(100)
購入された製品の識別子です。
- TransactionData: VarChar(100)
暗号化された購入トランザクションデータです。
特定のプラットフォームストアにおける購入のコレクションの情報が保持されます。
- Purchases: Collection( PurchaseResult )
照会された各製品の購入結果のコレクションです。
- Receipt: LongVarChar(2M)
Apple から取得された領収書情報です。
- PurchasePlatform: StorePurchasePlatform
購入が行われたストアプラットフォームです。
- PurchaseStateChange イベントセクションに導入された "製品の有効化" の概念は、クライアント側で購入を管理する iOS にのみ適用されます。一方、Android では、購入が Google Play のサーバーで一元管理されるため、製品が購入されたかどうかしか分かりません。たとえば、開発者は、"有効化" の概念を利用して、デバイスにギフトメカニズムを実装できます (つまり、特定の条件下では、製品を無料で有効化することが可能です)。Android で同じシナリオを解決するには、Google Play コンソールでアプリ内プロモーションコードを使用します。
- iOS で "Deferred" 状態をシミュレートするには、生成されたプロジェクトにブール値を持つ GXSimulateAskToByInSandbox キーを追加します。
一般的なシナリオは、アプリケーションが子のデバイスにインストールされていて、購入の検証中に開発者が Progress.Show() を使用する場合です。親による子のリクエストの承認または拒否に時間がかかる場合は、進捗状況が無期限に表示されます。
対応しているプラットフォーム: |
スマートデバイス (iOS、Android) |
この外部オブジェクトは、GeneXus 15 Upgrade 3 以降で利用できます。
参考情報
|