サブスクリプションのライフサイクル
概要
サブスクリプションの購入は、自動更新、支払い拒否、ユーザーおよび開発者のアクションによって駆動される、いくつかのライフサイクル状態を経て進行します。以下のセクションでは、各状態と、それらの間の遷移をトリガーするイベントについて説明します。
アプリケーションにサブスクリプションを追加するには、このページに従ってください。また、それらをアプリケーションに連携するには、当社の Android Billing SDK ソリューションを使用してください。
サブスクリプションのライフサイクルにおける状態とイベント
サブスクリプションの状態が変化すると、リアルタイム通知 API で SubscriptionNotification イベントを受信します。
このシステムにおけるサブスクリプションのライフサイクルには、7 つの異なる状態が含まれており、それぞれがサブスクリプションの過程における一段階を表しています。これらの状態間の遷移は、特定のユーザーイベントまたはシステムイベントに基づいて発生します。

図 1 - サブスクリプションのライフサイクル
ACTIVE
説明:
サブスクリプションが正常に購入され、ユーザーは関連するすべての特典にアクセスできます。これはサブスクリプションの主要な運用状態です。
-
主な特徴:
- ユーザーに権利が付与されます。
- サブスクリプション期間が開始され、課金が積極的に行われます。
-
遷移を引き起こすイベント:
- 支払い失敗: 定期支払いが失敗した場合、サブスクリプションは GRACE または HOLD 状態に入ることがあります。
- キャンセル: ユーザーまたは開発者がサブスクリプションをキャンセルすると、CANCELED 状態に遷移します。ユーザーは、次の手順に従って Aptoide Wallet アプリでサブスクリプションをキャンセルできます: Aptoide Wallet > 設定 > サブスクリプションの管理 で、次回の支払いをキャンセルでき、これによりサブスクリプションが CANCELED に遷移します。
- 取り消し: 開発者がサブスクリプションを明示的に取り消すと、EXPIRED 状態に遷移します。
-
遷移:
- GRACE へ (SUBSCRIPTION_IN_GRACE_PERIOD): ユーザーの支払い方法が拒否され、猶予期間が定義されている場合、サブスクリプションは GRACE に移行します。
- HOLD へ (SUBSCRIPTION_ON_HOLD): アクティブ期間が終了し、猶予期間が定義されていない場合、サブスクリプションは直接 HOLD に入ります。
- CANCELED へ (SUBSCRIPTION_CANCELED): ユーザーまたは開発者によってキャンセルされた場合、サブスクリプションは CANCELED に遷移します。
- EXPIRED へ (SUBSCRIPTION_REVOKED): 開発者によってサブスクリプションが明示的に取り消され、すべての権利が終了します。
GRACE
説明:
支払いの失敗によりサブスクリプションが猶予期間にあり、ユーザーに問題を解決する機会が提供されます。この間、ユーザーはサブスクリプション特典へのアクセスを保持します。
-
主な特徴:
- システムは、定義された猶予期間内に支払いを再試行します。
- 権利はすぐには取り消されず、シームレスなユーザーエクスペリエンスを提供します。
-
遷移を引き起こすイベント:
- 支払い方法の修正: ユーザーが支払いの問題を解決すると、サブスクリプションは ACTIVE に戻ります。
- 未解決: 猶予期間の終了までに支払いの問題が解決されない場合、サブスクリプションは HOLD に遷移するか、開発者による直接的なアクションがある場合は EXPIRED になります。
-
遷移:
- ACTIVE へ (SUBSCRIPTION_RENEWED): 支払いの問題が正常に解決されると、サブスクリプションは更新されます。
- HOLD へ (SUBSCRIPTION_ON_HOLD): 解決されないまま猶予期間が終了すると、サブスクリプションは HOLD に遷移します。
- EXPIRED へ (SUBSCRIPTION_CANCELED): 開発者は猶予期間中にサブスクリプションをキャンセルできます。この場合、状態は直接 EXPIRED に変更されます。
- EXPIRED へ (SUBSCRIPTION_REVOKED): 開発者はサブスクリプションを取り消すことができ、即座に終了します。
HOLD
説明:
未解決の支払い問題により、または猶予期間の終了後に、サブスクリプションが一時的に停止されています。この状態の間、ユーザーはサブスクリプション特典へのアクセスを失いますが、サブスクリプションはまだ完全には終了していません。
-
主な特徴:
- ユーザーに権利は付与されません。
- システムは支払いの解決を待機します。
-
遷移を引き起こすイベント:
- 支払い方法の修正: ユーザーが支払いの問題を解決すると、サブスクリプションは ACTIVE に戻ります。
- キャンセルまたは取り消し: 何のアクションも取られない場合、サブスクリプションは開発者の動作に応じて EXPIRED または CANCELED に遷移します。
-
遷移:
- ACTIVE へ (SUBSCRIPTION_RENEWED): 支払いが解決されると、サブスクリプションは更新されます。
- EXPIRED へ (SUBSCRIPTION_REVOKED): 開発者によって明示的に取り消された場合、サブスクリプションは EXPIRED に遷移します。
- CANCELED へ (SUBSCRIPTION_CANCELED): 開発者によってキャンセルされた場合、または保留期間が解決されないまま終了した場合、サブスクリプションは CANCELED に遷移します。
CANCELED
説明:
ユーザーまたは開発者によってサブスクリプションがキャンセルされました。ただし、ユーザーは現在の課金期間の終了までサブスクリプション特典へのアクセスを保持します。
-
主な特徴:
- 権利期間が終了するまで、権利は有効なままです。
- サブスクリプションは EXPIRED または ACTIVE に遷移します。
-
遷移を引き起こすイベント:
- 再有効化: ユーザーは権利期間が終了する前にサブスクリプションを再有効化できます。
- 権利期間の終了: サブスクリプションは EXPIRED に遷移します。
-
遷移:
- ACTIVE へ (SUBSCRIPTION_RESTARTED): ユーザーによって再有効化されると、サブスクリプションは再び ACTIVE になります。サブスクリプションを再有効化するには、ユーザーは次の手順に従うことができます: Aptoide Wallet > 設定 > サブスクリプションの管理 で、サブスクリプションの課金を再有効化でき、これによりサブスクリプションが ACTIVE に遷移します。
- EXPIRED へ (SUBSCRIPTION_EXPIRED): 権利期間が終了すると、サブスクリプションは期限切れになります。
- EXPIRED へ (SUBSCRIPTION_REVOKED): 開発者はサブスクリプションを即座に取り消すことができます。
EXPIRED
説明:
サブスクリプション期間が終了し、ユーザーはサブスクリプション特典にアクセスできなくなった状態、または開発者によってサブスクリプションが明示的に取り消された状態です。このアクションは、課金期間または権利期間に関係なく、サブスクリプションとすべての権利を即座に終了します。
- 主な特徴:
- 権利は完全に取り消されます。
- サブスクリプションを再有効化することはできません。
これはサブスクリプションの終了状態であり、他のいかなる状態にも遷移できないことを意味します。
開発者コンプライアンス
ユーザーにシームレスなエクスペリエンスを提供し、不正な動作を防ぐために、開発者はサブスクリプションのライフサイクルの整合性を維持するガイドラインを遵守する必要があります。このセクションでは、権利への適切なアクセスを維持するための開発者向けのベストプラクティスについて概説します。
-
サブスクリプションの状態と遷移を尊重する
- ユーザーのアクセスを早すぎる、または誤って削除することを避けるために、常に定義されたサブスクリプションの状態遷移に従ってください。
- たとえば、GRACE または CANCELED 状態のユーザーは、正当な有効期限が終了するまで権利へのアクセスを保持する必要があります。
-
堅牢な猶予期間と保留期間を実装する
- ユーザーが支払いの問題を解決する公正な機会を与えるために、適切な猶予期間と保留期間を設定してください。
- これらの期間を恣意的に短縮することは、不要なサブスクリプションの中断につながる可能性があるため、避けてください。
-
ユーザーと明確にコミュニケーションする
- 支払いの失敗、キャンセル、または状態の変更が発生した場合、ユーザーに速やかに通知してください。
- サブスクリプションを回復する方法や支払いの問題を解決する方法について、明確な指示を提供してください。
-
取り消しは慎重に使用する
- 不正使用、詐欺、またはユーザーの要求の場合にのみサブスクリプションを取り消してください。
- 取り消しはユーザーのアクセスを即座に終了するため、通常のキャンセルや期限切れの代替として使用してはなりません。
-
透明性のあるキャンセルポリシーを提供する
- ユーザーがキャンセルの影響と、課金サイクルの終了まで権利がどのように管理されるかを理解できるようにしてください。
- 該当する場合は、再有効化のプロセスを明確に説明してください。
-
正確な記録を維持する
- 各ユーザーのサブスクリプション状態をより的確に把握するために、状態の変更、支払い、ユーザーアクションを含む必要なサブスクリプション関連イベントをシステムに保存してください。
- エラーが発生した場合に、これらの記録を使用して紛争に対処したり、システムの動作を検証したりしてください。
よくある問題の回避
-
アクセスの早期削除
- 権利期間が終了するまで、CANCELED 状態のユーザーから権利を削除しないでください。
- EXPIRED への遷移が意図的かつ正当なものであることを確認してください。
-
ユーザーへの通知の失敗
- 無言の状態遷移を避けてください。支払いの失敗やキャンセルを含め、サブスクリプションのステータスの変更について常にユーザーに通知してください。
-
状態間での一貫性のない動作
- 権利とアクセス権が各サブスクリプション状態と一貫して一致していることを確認してください。たとえば:
- GRACE 状態のユーザーは、支払いの再試行が進行中の間、アクセスを保持する必要があります。
- HOLD 状態のユーザーは、支払いが解決されるまでアクセスを失いますが、CANCELED または EXPIRED に早すぎる遷移をしてはなりません。
- 権利とアクセス権が各サブスクリプション状態と一貫して一致していることを確認してください。たとえば:
FAQ
サブスクリプションの猶予期間とは何ですか?
猶予期間は、Aptoide Connect プラットフォームでサブスクリプション商品を作成する際に定義されます。
EXPIRED 状態になったサブスクリプションを復元できますか?
いいえ。EXPIRED 状態のサブスクリプションは復元できません。そのためには、そのユーザーに対して新しいサブスクリプションを開始してください。
サブスクリプションを取り消すまたはキャンセルするにはどうすればよいですか?
サブスクリプションを取り消すまたはキャンセルするには、当社の技術チームにご連絡いただき、この手順を手動で行ってください。
自分のサブスクリプションのすべての状態変更にアクセスするにはどうすればよいですか?
状態の変更にアクセスし、当社のサービスから自動更新を受信するには、当社が異なる状態の変更を通知するサーバーを実装する必要があります。当社のリアルタイム通知ドキュメントに従ってください。