Android SDKでモバイルアプリ内購入を行う

モバイルアプリ内でペイウォールを表示することは、ユーザーにプレミアムコンテンツやサービスへのアクセスを提供するための重要なステップです。ただし、ペイウォールの表示だけで購入が完結するのは、Adapty が画面をレンダリングする場合、つまりフロー旧ペイウォールビルダーで作成したペイウォールを使う場合に限られます。

独自のコードで画面をレンダリングする場合は、購入を完了してコンテンツをアンロックするために、.makePurchase() という別のメソッドを使用する必要があります。このメソッドは、ユーザーがペイウォールを通じて購入手続きを進めるための入り口となります。

ペイウォールに、ユーザーが購入しようとしているプロダクトに対するアクティブなプロモーションオファーが設定されている場合、Adapty は購入時に自動的にそれを適用します。

Warning

初回オファーが自動的に適用されるのは、Adapty が画面をレンダリングする場合のみであることに注意してください。

それ以外の場合は、iOSで初回オファーの適用資格を確認する必要があります。このステップを省略すると、リリース時にアプリが審査でリジェクトされる可能性があります。さらに、初回オファーの対象ユーザーに通常価格が請求されてしまう恐れもあります。

初期設定を一つも省かずに完了させていることを確認してください。設定が完了していないと、購入の検証ができません。

購入を行う

Note

Adaptyがあなたのスクリーンをレンダリングしていますか? フローまたはペイウォールビルダーのペイウォールの場合、購入は自動的に処理されます。このステップはスキップできます。

ステップバイステップのガイダンスをお探しですか? 完全なコンテキストを含むエンドツーエンドの実装手順については、クイックスタートガイドをご確認ください。

リクエストパラメータ:

パラメータ必須説明
Product必須ペイウォールから取得した AdaptyPaywallProduct オブジェクト。

レスポンスパラメータ:

パラメータ説明
Profile

リクエストが成功した場合、レスポンスにはこのオブジェクトが含まれます。AdaptyProfile オブジェクトは、アプリ内のユーザーのアクセスレベル、サブスクリプション、および買い切り購入に関する包括的な情報を提供します。

アクセスレベルのステータスを確認して、ユーザーがアプリへの必要なアクセス権を持っているかどうかを確認してください。

Warning

注意: Apple の StoreKit バージョンが v2.0 未満で、Adapty SDK バージョンが v2.9.0 未満の場合は、代わりに Apple App Store 共有シークレットを提供する必要があります。この方法は現在 Apple によって非推奨とされています。

購入時にサブスクリプションを変更する

ユーザーが現在のサブスクリプションを更新する代わりに新しいサブスクリプションを選択した場合、その動作はアプリストアによって異なります。Google Play では、サブスクリプションは自動的に更新されません。以下に説明するように、モバイルアプリのコードで切り替えを管理する必要があります。

Android でサブスクリプションを別のものに変更するには、追加パラメータを指定して .makePurchase() メソッドを呼び出します:

Warning

subscriptionUpdateParams を渡すのは、同じ Google アカウントで購入したアクティブなサブスクリプションからの切り替え時のみにしてください。新規購入の場合は、このパラメータを指定せずに makePurchase を呼び出してください。指定すると CURRENT_SUBSCRIPTION_TO_UPDATE_NOT_FOUND_IN_HISTORY エラーで失敗します。このエラーメッセージは、非アクティブなサブスクリプションまたは別の Google アカウントが原因であるかのように誤解させる内容になっています。

サブスクリプションと置き換えモードの詳細については、Google Developer のドキュメントをご覧ください:

プリペイドプランを管理する

アプリユーザーがプリペイドプラン(例:数ヶ月分の非自動更新サブスクリプションを購入)を利用できる場合、プリペイドプランの保留中のトランザクションを有効にできます。