FMX.InAppPurchase.IFMXInAppPurchaseService

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

IFMXInAppPurchaseService = interface(IInterface)

C++

__interface  INTERFACE_UUID("{D49D5CE3-136A-47A7-8243-FD929AD0FF29}") IFMXInAppPurchaseService  : public System::IInterface

プロパティ

種類 可視性 ソース ユニット
interface
class
public
FMX.InAppPurchase.pas
FMX.InAppPurchase.hpp
FMX.InAppPurchase FMX.InAppPurchase


説明

アプリ内決済サービスのサポートを提供するプラットフォーム サービスです。 このプラットフォーム サービスが実装されているのは AndroidiOS だけです。

このプラットフォーム サービスに直接アクセスする代わりに、TInAppPurchase などのラッパーを使用しても構いません。

このプラットフォーム サービスは TCustomInAppPurchase およびそのサブクラス(TInAppPurchase など)のすべてのインスタンスのリストを保持しています。これらのインスタンスは、作成されたときに自分自身をこのリストに追加し、破棄されたときに自分自身をリストから削除します。TCustomInAppPurchase のサブクラスを作成するが、そのコンストラクタデストラクタを継承しない場合は、忘れずに以下も行います。

constructor MyComponent.Create(AOwner: TComponent);
var
  IAPIntf: IInterface;
begin
  if TPlatformServices.Current.SupportsPlatformService(
    IFMXInAppPurchaseService, IAPIntf) then
  begin
    FInAppPurchaseService := IFMXInAppPurchaseService(IAPIntf);
    FInAppPurchaseService.AddComponent(Self);
  end;
end;

destructor MyComponent.Destroy;
begin
  if Assigned(FInAppPurchaseService) then
    FInAppPurchaseService.RemoveComponent(Self);
  FInAppPurchaseService := nil;
end;

例外

このプラットフォーム サービスの異なる実装で送出される可能性のある例外の詳しい一覧を以下に示します。

プラットフォーム 例外 原因

Android

EIAPException

  • 既に購入した商品を購入しようとしています。
  • サービスへの接続に失敗しました。
  • 商品リストの使用時にサービス API から予期しない結果が得られました。

EIAPNoLicenseKey

  • ライセンス キーを前もって指定せずに、商品を使用または購入しようとしています。
  • ライセンス キーを前もって指定せずに、購入した商品を返品しようとしています。

iOS

EIAPException

  • 既に購入した商品を購入しようとしています。
  • まだ購入していない商品を使用しようとしています。
  • 商品リストに関する情報を要求していますが、処理中の要求が既に存在します。

関連項目