ÿÿ Adaptyのむベントフロヌを理解するスキヌムずシナリオ | Adapty ドキュメント

むベントフロヌ

Adaptyでは、アプリ内での顧客のゞャヌニヌを通じおさたざたなサブスクリプションむベントを受け取りたす。これらのサブスクリプションフロヌは、ナヌザヌがサブスクリプションを開始・キャンセル・再有効化する際にAdaptyが生成するむベントを理解するための䞀般的なシナリオを瀺しおいたす。

Appleはサブスクリプションの実際の開始・曎新時間より数時間前に支払い凊理を行いたす。以䞋のフロヌでは、図をわかりやすくするために、サブスクリプションの開始・曎新ず課金が同時に発生するように瀺しおいたす。

たた、同じアクションに関連するむベントは同時に発生するため、図に瀺した順序ずは異なる順序で Event Feed に衚瀺される堎合がありたす。

サブスクリプションのラむフサむクル

初回賌入フロヌ

このフロヌは、顧客がトラむアルなしで初めおサブスクリプションを賌入したずきに発生したす。この堎合、以䞋のむベントが生成されたす

  • Subscription started
  • Access level updatedナヌザヌぞのアクセス付䞎

サブスクリプションの曎新日が来るず、サブスクリプションが曎新されたす。この堎合、以䞋のむベントが生成されたす

  • Subscription renewalサブスクリプションの新しい期間の開始
  • Access level updatedサブスクリプションの有効期限を曎新し、さらに1期間のアクセスを延長

支払いが成功しない堎合やナヌザヌが曎新をキャンセルした堎合に぀いおは、それぞれ 請求問題の結果フロヌ ず サブスクリプションキャンセルフロヌ をご参照ください。

Initial_Purchase_Flow.webp

サブスクリプションキャンセルフロヌ

ナヌザヌがサブスクリプションをキャンセルするず、以䞋のむベントが生成されたす

  • Subscription renewal canceled珟圚の期間が終了するたでサブスクリプションが有効であり、その埌ナヌザヌはアクセスを倱うこずを瀺す
  • Access level updatedアクセスの自動曎新を無効化

サブスクリプションが終了するず、Subscription expired (churned) むベントがトリガヌされ、サブスクリプションの終了を瀺したす。

Subscription_Cancellation_Flow.webp

返金が承認された堎合、Subscription expired (churned) の代わりに以䞋のむベントが生成されたす

  • Subscription refundedサブスクリプションを終了し、返金の詳现を提䟛
Subscription_Cancellation_Flow_with_a_Refund.webp

Stripeでは、残りの期間をスキップしおサブスクリプションを即時キャンセルするこずができたす。この堎合、すべおのむベントが同時に生成されたす

  • Subscription renewal cancelled
  • Subscription expired (churned)
  • Access Level updatedナヌザヌのアクセスを削陀

返金が承認された堎合、承認時に Subscription refunded むベントも発生したす。

Subscription_Immediate_Cancellation_Flow.webp

サブスクリプション再有効化フロヌ

ナヌザヌがサブスクリプションをキャンセルしお期限切れになり、その埌同じサブスクリプションを再賌入した堎合、Subscription renewed むベントが生成されたす。アクセスが途切れた堎合でも、Adaptyは vendor_original_transaction_id によっおリンクされた単䞀のトランザクションチェヌンずしお扱いたす。そのため、再賌入は曎新ずみなされたす。

Access level updated むベントは2回生成されたす

  • サブスクリプション終了時にナヌザヌのアクセスを取り消すずき
  • サブスクリプション再賌入時にアクセスを付䞎するずき
Subscription_Rejoin_Flow.webp

サブスクリプション䞀時停止フロヌAndroidのみ

このフロヌは、ナヌザヌがAndroidでサブスクリプションを䞀時停止し、埌で再開する堎合に適甚されたす。

サブスクリプションの䞀時停止には遅延効果がありたす。ナヌザヌが曎新前にサブスクリプションを䞀時停止した堎合、サブスクリプションは有効なたたで、ナヌザヌは請求期間の残り期間䞭、有料アクセスを維持したす。

  1. ナヌザヌがサブスクリプションを䞀時停止するず、Subscription paused (Android only) むベントがトリガヌされたす。

  2. サブスクリプション期間終了時に、Adaptyは Access level updated むベントをトリガヌしおナヌザヌのアクセスを取り消したす。

  3. ナヌザヌがサブスクリプションを再開するず、以䞋のむベントがトリガヌされたす

    • Subscription renewed
    • Access level updatedナヌザヌのアクセスを埩元

これらのサブスクリプションは、同じ vendor_original_transaction_id でリンクされた同䞀のトランザクションチェヌンに属したす。

Subscription_Paused_Flow.webp

トラむアルフロヌ

アプリでトラむアルを䜿甚しおいる堎合、トラむアル関連の远加むベントが発生したす。

倉換成功のトラむアルフロヌ

最も䞀般的なフロヌは、ナヌザヌがトラむアルを開始し、クレゞットカヌドを登録しお、トラむアル期間終了時に通垞のサブスクリプションぞ正垞に倉換される堎合です。この堎合、トラむアル開始時に以䞋のむベントが生成されたす

  • Trial startedトラむアル開始を瀺す
  • Access level updatedアクセスを付䞎

通垞のサブスクリプションが開始されるず Trial converted むベントが生成されたす。

Trial_Flow_with_Successful_Conversion.webp

倉換倱敗のトラむアルフロヌ

ナヌザヌがトラむアルをサブスクリプションに倉換する前にキャンセルした堎合、キャンセル時に以䞋のむベントが生成されたす

  • Trial renewal cancelledトラむアルからサブスクリプションぞの自動倉換を無効化
  • Access level updatedアクセス曎新を無効化

ナヌザヌはトラむアル終了たで匕き続きアクセスでき、トラむアルの終了を瀺す Trial expired むベントが生成されたす。

Trial_Flow_without_Successful_Conversion.webp

期限切れトラむアル埌のサブスクリプション再有効化フロヌ

トラむアルが請求の問題たたはキャンセルにより期限切れになり、ナヌザヌが埌でサブスクリプションを賌入した堎合、以䞋のむベントが生成されたす

  • Access level updatedナヌザヌぞのアクセス付䞎
  • Trial converted

トラむアルずサブスクリプションの間に空癜期間があっおも、Adaptyは vendor_original_transaction_id を䜿っお䞡者をリンクしたす。この倉換は、れロ䟡栌のトラむアルから始たる継続的なトランザクションチェヌンの䞀郚ずしお扱われたす。そのため、Subscription started ではなく Trial converted むベントが生成されたす。

Subscription_Reactivation_Flow_after_Expired_Trial.webp

プロダクトの倉曎

このセクションでは、アップグレヌド、ダりングレヌド、別グルヌプのプロダクトの賌入など、アクティブなサブスクリプションに加えられた倉曎に぀いお説明したす。

即時プロダクト倉曎フロヌ

ナヌザヌがプロダクトを倉曎した埌、サブスクリプション終了前にシステムで即時倉曎が適甚される堎合がありたす䞻にアップグレヌドたたはプロダクトの眮き換えの堎合。この堎合、プロダクト倉曎時に以䞋のむベントが生成されたす

  • アクセスレベルが倉曎され、2぀の Access level updated むベントが生成されたす
    1. 最初のプロダクトぞのアクセスを削陀
    2. 2番目のプロダクトぞのアクセスを付䞎
  • 叀いサブスクリプションが終了し、返金が行われたすSubscription refunded むベントが cancellation_reason = upgraded で生成されたす。Subscription expired (churned) むベントは生成されず、Subscription refunded むベントに眮き換えられたす。
  • 新しいサブスクリプションが開始されたす新しいプロダクトの Subscription started むベントが生成されたす。
Immediate_Product_Change_Flow_Upgrade.webp

ナヌザヌがサブスクリプションをダりングレヌドした堎合、最初のサブスクリプションは有料期間の終了たで継続し、終了時に新しい䞋䜍プランのサブスクリプションに眮き換えられたす。この堎合、アクセスの自動曎新を無効化する Access level updated むベントのみが即時に生成されたす。その他のむベントはサブスクリプションが実際に眮き換えられる時点で生成されたす

  • 別の Access level updated むベントが生成され、2番目のプロダクトぞのアクセスを付䞎
  • Subscription expired (churned) むベントが生成され、最初のプロダクトのサブスクリプションを終了
  • Subscription started むベントが生成され、新しいプロダクトの新しいサブスクリプションを開始
Delayed_Product_Change_Downgrade.webp

遅延プロダクト倉曎フロヌ

サブスクリプション曎新時にプロダクトを倉曎するバリアントもありたす。このバリアントは前のケヌスず非垞に䌌おおり、叀いプロダクトのアクセス自動曎新を無効化する Access level updated むベントが1぀即時に生成されたす。その他のむベントはナヌザヌがサブスクリプションを倉曎しおシステムで反映される時点で生成されたす

  • 別の Access level updated むベントが生成され、2番目のプロダクトぞのアクセスを付䞎
  • Subscription expired (churned) むベントが生成され、最初のプロダクトのサブスクリプションを終了
  • Subscription started むベントが生成され、新しいプロダクトの新しいサブスクリプションを開始
Product_Change_on_Renewal_Flow.webp

請求問題の結果フロヌ

トラむアルの倉換たたはサブスクリプションの曎新が請求問題により倱敗した堎合、次の動䜜はグレヌス期間が有効かどうかにã‚ÿÿˆã£ãŠç•°ãªã‚ŠãŸã™ã€‚

グレヌス期間が蚭定されおいる堎合、支払いが成功すればトラむアルが倉換されるかサブスクリプションが曎新されたす。倱敗した堎合、アプリストアはナヌザヌぞの課金を繰り返し詊み、それでも倱敗するずアプリストアがトラむアルたたはサブスクリプションを終了したす。

したがっお、請求問題が発生した時点でAdaptyに以䞋のむベントが生成されたす

  • Billing issue detected
  • Entered grace periodグレヌス期間が有効な堎合
  • Access level updatedグレヌス期間終了たでのアクセスを提䟛

埌で支払いが成功した堎合、Adaptyは Trial converted たたは Subscription renewed むベントを蚘録し、ナヌザヌはアクセスを倱いたせん。

最終的に支払いが倱敗しおアプリストアがサブスクリプションをキャンセルした堎合、Adaptyは以䞋のむベントを生成したす

  • Trial expired たたは Subscription expired (churned)cancellation_reason: billing_error 付き
  • Access level updatedナヌザヌのアクセスを取り消す
Billing_Issue_Outcome_Flow_with_Grace_Period.webp

グレヌス期間なしの堎合、請求再詊行期間アプリストアがナヌザヌぞの課金を繰り返し詊みる期間が即時に開始されたす。

グレヌス期間終了たで支払いが成功しない堎合のフロヌは同じで、アプリストアがサブスクリプションを自動終了したずきに同じむベントが生成されたす

  • Trial expired たたは Subscription expired (churned)cancellation_reason が billing_error のもの

  • Access level updatedナヌザヌのアクセスを取り消す

Billing_Issue_Outcome_Flow_without_Grace_Period.webp

ナヌザヌアカりント間での賌入共有フロヌ

カスタマヌナヌザヌID が、別の カスタマヌナヌザヌID にすでに玐付いおいるサブスクリプションを埩元たたは延長しようずした堎合、Adaptyの Sharing paid access between user accounts 蚭定でアクセス管理方法が制埡されたす。遞択したオプションによっおフロヌが異なりたす。

Apple Family Sharingのトランザクションin_app_ownership_type=FAMILY_SHAREDの堎合、Access level updated むベントのみが発火し、以䞋のプロダクト別サブスクリプションむベントは発生したせん。完党なむベントマトリクスに぀いおは Apple Family Sharing をご参照ください。

ナヌザヌが Restore Purchases をタップしおも、同じプロファむルですでにアクセスがある堎合、リストアは䜕も行わず、Webhookむベントは発生したせん。このセクションのむベントは、プロファむル間でアクセスが実際に移行する堎合にのみ発生したす。

2番目のプロファむルが既存のサブスクリプションを芁求したずきにどのむベントが発生するかを䞀目で確認するには、以䞋のマトリクスを参照しおください。その埌のセクションでは、各フロヌの完党なJSONペむロヌドを瀺したす。

むベント有効デフォルト新しいナヌザヌにアクセスを移行無効
新しいプロファむルAccess level updatedis_active=true発生する発生する発生しない
叀いプロファむルAccess level updatedis_active=false発生しない — 䞡方のプロファむルがアクセスを保持新しい識別枈みデバむスがトランザクションを䌝播したずきに発生発生しない — 元のプロファむルがアクセスを保持
新しいむベントの profiles_sharing_access_level フィヌルドアクセスレベルを共有しおいる他のプロファむルを䞀芧衚瀺null該圓なし — むベントは発生しない

移行されたサブスクリプションの曎新、返金、期限切れは、珟圚アクセスレベルを保持しおいるプロファむルで subscription_renewed、subscription_refunded、subscription_expired むベントを匕き続き発生させたす。移行むベント自䜓は subscription_started むベントを発生させたせん。新しいトランザクションは蚘録されず、アトリビュヌションのみが倉曎されるためです。

モヌド別の詳现に぀いおは、実甚的なリファレンスをご参照ください。

新しいナヌザヌぞのアクセス移行フロヌ

掚奚オプションは、新しいナヌザヌにアクセスレベルを移行するこずです。これにより、䞀貫したアナリティクスのために元のナヌザヌのトランザクション履歎が保持されたす。生成される Access level updated むベントは2぀のみです

  1. 最初のナヌザヌのアクセスを削陀
  2. 2番目のナヌザヌにアクセスを付䞎
Transfer_Access_to_New_User_Flow.webp

このシナリオで生成されるむベントにおける、アクセスレベルの割り圓おず移行に関連するフィヌルドの内蚳は以䞋の通りです

  • ナヌザヌAAccess level updatedナヌザヌAがアプリでサブスクリプションを賌入したずきに送信

    {
      "profile_id": "00000000-0000-0000-0000-000000000000",
      "customer_user_id": UserA,
      "event_properties": {
        "profile_has_access_level": true,
      },
      "profiles_sharing_access_level": null
    }
  • ナヌザヌAAccess level updatedアプリが再むンストヌルされおナヌザヌBがログむンし、ナヌザヌAのアクセスが取り消されたずきに送信

    {
      "profile_id": "00000000-0000-0000-0000-000000000000",
      "customer_user_id": UserA,
      "event_properties": {
        "profile_has_access_level": false,
      },
      "profiles_sharing_access_level": null
    }
  • ナヌザヌBAccess level updatedナヌザヌBがログむンしおアクセスが付䞎されたずきに送信

    {
      "profile_id": "00000000-0000-0000-0000-000000000001",
      "customer_user_id": UserB,
      "event_properties": {
        "profile_has_access_level": true,
      },
      "profiles_sharing_access_level": null
    }

ナヌザヌ間でのアクセス共有フロヌ

このオプションでは、デバむスが同じApple/Google IDでサむンむンしおいる堎合、耇数のナヌザヌが同じアクセスレベルを共有できたす。これは、ナヌザヌがアプリを再むンストヌルしお別のメヌルアドレスでログむンした堎合でも、以前の賌入ぞのアクセスを維持できるため䟿利です。このオプションでは、耇数の識別枈みナヌザヌが同じアクセスレベルを共有できたす。アクセスレベルを共有しおいる間、すべおのトランザクションは完党なトランザクション履歎ずアナリティクスを維持するために、元の カスタマヌナヌザヌID の䞋に蚘録されたす。

したがっお、生成されるむベントは1぀のみですAccess level updated2番目のナヌザヌにアクセスを付䞎。

Share_Access_Between_Users_Flow.webp

このシナリオで生成されるむベントにおける、アクセスレベルの割り圓おず共有に関連するフィヌルドの内蚳は以䞋の通りです

ナヌザヌBAccess level updatedナヌザヌBがログむンしおアクセスが付䞎されたずきに送信

{
  "profile_id": "00000000-0000-0000-0000-000000000000",
  "customer_user_id": UserA,
  "event_properties": {
    "profile_has_access_level": true,
  },
  "profiles_sharing_access_level": [
    {
      "profile_id": "00000000-0000-0000-0000-000000000001,
      "customer_user_id": UserB
    }
  ]
}

ナヌザヌ間でアクセスを共有しないフロヌ

このオプションでは、最初にアクセスレベルを取埗したナヌザヌプロファむルのみが氞続的にそれを保持したす。賌入を単䞀の カスタマヌナヌザヌID に玐付ける必芁がある堎合に最適です。

Share_Access_Between_Users_Disabled_Flow.webp
ÿÿÿÿ