アプリ内課金

すべてのAppleプラットフォームで利用可能なアプリ内課金を通じて、デジタル商品、サブスクリプション、プレミアムコンテンツなどの追加のコンテンツや機能をアプリ内で直接提供しましょう。また、App Store上で直接アプリ内課金をプロモーションしたり提供したりすることもできます。

概要

アプリ内課金は、Appleの世界最高水準の販売・決済システムに支えられた一貫性のある安全なエクスペリエンスで、ユーザーは購入アイテムやサブスクリプションの履歴確認や管理を簡単に行うことができます。

アプリ内課金を使ってユーザーが行えること:

  • Apple IDに関連付けられた支払い方法を使い、44の通貨で迅速に支払いを実行できます。Apple Pay、クレジットまたはデビットカード、ストアクレジット、地域固有の支払い方法など、約200種類もの支払い方法に対応しており、登録情報はすべて安全に保存されます。
  • 購入したコンテンツは、アプリが対応しているすべてのデバイスからアクセスでき、新しいデバイスでも利用できます。
  • 問題を報告する」を使って、購入したコンテンツに関するサポートを受けたり、返金をリクエストしたりできます。
  • 対象となる購入アイテムは、ファミリー共有で共有できます。
  • 所有するすべてのAppleデバイスでの購入履歴を確認できます。
  • すべてのサブスクリプションを1か所で管理できます。

アプリ内課金のタイプ

アプリ内課金には4つのタイプがあり、アプリ内で複数のタイプを提供することが可能です。

消耗型

ゲームをさらに進めるためのライフや宝石、デートアプリで自分のプロフィールの表示頻度を向上するためのブースト、ソーシャルメディアアプリでクリエイターが活用できるデジタルヒントなど、異なるタイプの消耗型アイテムを提供できます。消耗型のアプリ内課金は一度使うとなくなり、再度購入することが可能です。フリーミアムビジネスモデルを使うアプリやゲームでよく提供されています。

非消耗型

一度購入すれば無期限に使用できる、非消耗型のプレミアム機能を提供することができます。たとえば、写真アプリの追加フィルタ、イラスト作成アプリの追加ブラシ、ゲームのコスメティックアイテムなどがあります。非消耗型のアプリ内課金では、ファミリー共有を提供することができます。

自動更新サブスクリプション

アプリのコンテンツ、サービス、プレミアム機能への継続的なアクセスを提供することができます。自動更新サブスクリプションでは、ユーザーがキャンセルするまで定期的に課金が行われます。一般的なユースケースには、メディアやコンテンツのライブラリ(ビデオ、音楽、記事など)、サービスとしてのソフトウェア(クラウドストレージ、仕事効率化、グラフィックス、デザインなど)、教育コンテンツなどへのアクセスがあります。自動更新サブスクリプションでは、ファミリー共有を提供することができます。

サブスクリプションについてさらに詳しく

非自動更新サブスクリプション

ゲーム内コンテンツのシーズンパスなど、期間限定のサービスやコンテンツを提供することができます。このタイプのサブスクリプションは自動的に更新されないため、アクセスの継続を希望する場合は、ユーザー自身が都度購入する必要があります。

アプリ内課金の設定

アプリ内課金を作成してアプリで提供する前に、有料アプリケーション契約に署名し、App Store Connect銀行口座および税金に関する情報を設定してください。アプリ内課金の体験がアプリ全体によくマッチし、製品を効果的にアピールできるよう、「ヒューマンインターフェイスガイドライン」および「App Reviewガイドライン」を確認してください。

App Store Connectでの設定

App Store Connectで詳細情報(製品名、説明、価格、配信状況など)を追加して、アプリ内課金を設定します。ローカリゼーションを追加すれば、アプリが利用可能な各地域のユーザーに、それぞれの設定言語でシームレスな体験を提供できるようになります。

StoreKitの使用

Xcodeでアプリにアプリ内課金の機能を追加したら、StoreKitを使って、ユーザーが安心してアプリ内課金を安全に購入できるようにしましょう。StoreKitフレームワークとアプリ内課金のAPIによって、製品情報の取得、支払いの処理、製品の配信など、購入の処理がエンドツーエンドで行われます。

StoreKitについてさらに詳しく

トランザクションのステータス確認

App Storeサーバ通知は、返金やサブスクリプションステータスの変更、ファミリー共有の利用といった、アプリ内課金に関するトランザクションのステータスや重要なイベントのアップデートをほぼリアルタイムで提供します。この情報を活用して、トランザクションレコードの更新や、アプリ体験のカスタマイズをすることができます。たとえば、ユーザーが自動更新をオフにした場合に、サブスクリプションの再登録を促すプロモーションオファーを表示することができます。App Storeサーバ通知を有効にするには、App Store Connectで、アプリのサーバにリンクするURLを提供してください。

App StoreサーバAPIを使うと、製品のエンタイトルメントとトランザクションの更新を判断できます。アプリ外で行われたステータス変更を含めて、アプリ内課金のトランザクションの最新ステータスと履歴を取得することができます。

アプリ内課金のテスト

開発プロセス全体でアプリ内課金をテストして、サブスクリプションオファーや購入の中断、返金といった一般的な購入シナリオがアプリとサーバで正常に処理されることを確認してください。初期開発の段階で、Xcodeを使用してアプリ内課金のシミュレーションとテストを実行することができます。XcodeのStoreKitテストを使うと、App Storeのサーバに接続することなく、ローカルの環境でアプリ内課金をテストすることもできます。App Store Connectでアプリ内課金を設定すると、Sandbox環境またはXcodeのStoreKitテスト機能で、実際のプロダクト情報を使ってテストできるようになります。

テストの準備ができたら、TestFlightを使って、内部および外部のテスターからアプリ本体やアプリ内課金に対する有益なフィードバックを受けることができます。テスターのメールアドレスを使うか、パブリックリンクを共有することで、最大10,000人の外部テスターを招待できます。TestFlightでのアプリ内課金はSandbox環境を使用するため、テスターはアプリ内課金を無料で入手できます。ただし、アプリがApp Storeでリリースされた後の本番環境では使えなくなります。

アプリ内課金のテストが終わったら、審査に提出することができます。

アプリ内課金のマーケティング

アプリ内課金を公開したら、App Storeおよびアプリ内でプロモーションして、その価値を伝えましょう。

アプリのプロモーションについてさらに詳しく

アプリ内イベント

アプリ内イベントとは、ゲームコンペティションや新作映画の初公開、ライブストリーミング体験など、アプリやゲーム内で行われるタイムリーなイベントです。ユーザーはiOSやiPadOSのApp Storeでイベントを見つけられるため、デベロッパは別の方法で、より広範囲にイベントを紹介することができます。イベントへの参加にアプリ内課金やサブスクリプションが必要な場合は、その旨がイベント詳細ページに記載されます。

さらに詳しく

プロモーション対象のアプリ内課金

iOSおよびiPadOSでは、ユーザーはアプリ内課金アイテムをApp Storeで直接閲覧でき、アプリ本体のダウンロードに先立ってアプリ内課金アイテムの購入を開始することもできます。プロモーション対象のアプリ内課金アイテムはプロダクトページや検索結果に表示されるほか、「Today」、「ゲーム」、「アプリ」の各タブでフィーチャーされることもあります。これにより、アプリ内で提供されるコンテンツとその価値をユーザーに紹介することができます。

さらに詳しく

App Bundle

最大10個のアプリやゲームを1回でまとめて購入できるようにしましょう。App Bundle(アプリバンドル)は、有料アプリ、または自動更新サブスクリプションを提供する無料アプリで作成できます。

さらに詳しく

プロモーションコード

報道関係者やインフルエンサーがアプリまたはアプリ内課金を先行的に利用できるよう、App Store Connectで設定したプロモーションコードを提供しましょう。各プラットフォームで、アプリのバージョンごとに最大100個のプロモーションコードを発行できます。また、アプリ内課金ごとに最大100個のプロモーションコードが発行可能です。

さらに詳しく

ファミリー共有

自動更新サブスクリプションまたは非消耗型のアプリ内課金を提供するアプリでは、App Store Connectでファミリー共有を有効にして、ユーザーが最大5人のファミリーメンバーとアクセスを共有できるようにすることが可能です。スムーズで便利な体験を提供するファミリー共有は、サブスクリプション登録者の獲得、有料サブスクリプションの促進、エンゲージメントやリテンションの向上に役立ちます。

さらに詳しく

サブスクリプションオファー

自動更新サブスクリプションを特定の期間、無料または割引価格で提供するサブスクリプションオファーを作成すると、ユーザー数を拡大し、維持することができます。サブスクリプションオファーには、お試し、プロモーション、オファーコードの3種類があります。ビジネスの目標に応じて、3種類のオファーを一度に提供することが可能です。

さらに詳しく

地域別の価格

自動更新サブスクリプションを実装したアプリでは、地域別の価格を提供できます。利用可能なすべての通貨と価格帯で800の価格ポイントから選択して、各ストアフロントに合った適切な価格を提供できます。リクエストによりさらに高額な100の追加価格ポイントも利用できます。

さらに詳しく

サポートの提供

配慮の行き届いたサポートを提供することは、ユーザーとの関係維持に役立つほか、エンゲージメントやリテンション率の改善、評価とレビューの向上にもつながります。StoreKitとApp StoreサーバAPIを使って、よりシームレスなサポートオプションを提供し、アプリ内課金に関する問題をすばやく効率的に解決しましょう。

返金の処理

beginRefundRequestメソッドを使って、アプリ内に返金リクエスト専用の場所を設けると、ユーザーがアプリ内で直接返金をリクエストできるようになります。また、返金をリクエストするオプションの前に、テクニカルサポートやアプリ内での報酬など、他のオプションを提供することもできます。ユーザーは、Webブラウザを搭載した任意のデバイスで「問題を報告する」にアクセスすることで、Appleを通じて購入したコンテンツの返金を簡単にリクエストできます。

App Storeサーバ通知を有効にすると、ユーザーが返金を受けたときに通知が届きます。この情報をもとに、返金に応じてアカウント残高を更新する、アプリ内課金でロック解除されたコンテンツへのアクセスを制限するなど、適切な措置を取ることができます。こうした措置を取る場合は、ユーザーに変更内容を知らせ、ユーザーによる対応が必要な場合はその旨を伝えるようにしましょう。また、Get Refund Historyエンドポイントを使うと、ユーザーが過去にアプリで購入したアプリ内課金アイテムに対して返金を受けたことがあるかどうかを特定することもできます。

Appleはさまざまな要素を用いて、返金リクエストが承認/却下されるかどうかを判断します。返金プロセスに関する情報をAppleに送信しプロセス改善を図るため、ユーザーから返金リクエストを受けた場合は、Appleにユーザーの消耗型アプリ内課金に関する情報を送信できます。これには、アプリ内課金アイテムが利用済みかどうか、アプリ内課金アイテムが適切に配信されなかった場合があるか、といった情報が含まれます。

購入の管理

ユーザーがアプリ本体を再ダウンロードした場合や、新しいデバイスに切り替えた場合は、ユーザーが購入したアプリ内課金のコンテンツや機能にすぐにアクセスできるようにしてください。StoreKitのcurrentEntitlementsプロパティを使ってユーザーのエンタイトルメントを把握し、それに応じたアクセスを提供しましょう。また、「App Reviewガイドライン3.1.1」に従って、復元可能なアプリ内課金に対する復元メカニズムをアプリに実装する必要があります。

ユーザーからアプリ内課金に関するサポートをリクエストされた場合は、Look Up Order IDエンドポイントを使うことで、正しい購入アイテムに対してアクションを実行することができます。Appleから受信したメールの請求書に記載された注文番号の提示をユーザーに依頼し、このエンドポイントを使って、請求書と関連情報(ユーザーが購入アイテムについてすでに返金を受けたかどうかなど)を確認したり、購入の日時をデベロッパ側の記録と照合することができます。

パフォーマンスの測定

App AnalyticsおよびApp Store Connectの「売上とトレンド」を使うと、アプリ内課金に関するメトリックス(コンテンツタイプ別の売上、購入ユーザーの数、購入ユーザー1人あたりの平均収益など)を把握することができます。

App Store Connectの「支払と財務報告」で、毎月の最終収益を確認しましょう。地域や通貨ごとの収益、現地通貨から収益を換算する際に使われたレート(利用可能な場合)、適用された税金や調整額を確認することもできます。また、各月における全トランザクションの詳細レポート(アプリやアプリ内課金ごとのユニット配信数など)をダウンロードすることも可能です。