フローアクションへの応答 - Android
Adapty フロービルダーまたはペイウォールビルダーを使ってフローやペイウォールを構築している場合、ボタンを適切に設定することが重要です:
- ビルダーでボタンを追加し、既存のアクションを割り当てるか、カスタムアクション ID を作成します。
- 割り当てた各アクションをアプリのコードで処理する処理を実装します。
このガイドでは、カスタムアクションと既存アクションをコードで処理する方法を説明します。
購入、復元、フロー/ペイウォールのクローズ、URL の開封のみ自動で処理されます。 その他すべてのボタンアクションは、アプリのコードで適切なレスポンス実装が必要です。
フローとペイウォールを閉じる
フローまたはペイウォールを閉じるボタンを追加するには、次の手順を行います。
- ビルダーでボタンを追加し、Close アクションを割り当てます。
- アプリのコードで
closeアクションのハンドラーを実装します。
Android SDK では、close アクションはデフォルトでフローまたはペイウォールを閉じる動作をします。ただし、必要に応じてコードでこの動作をオーバーライドできます。たとえば、あるフローを閉じたときに別のフローを開くといった処理が可能です。
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}フローとペイウォールからURLを開く
リンクのグループ(利用規約や購入の復元など)を追加したい場合は、ビルダーで Link 要素を追加し、Open URL アクションを持つボタンと同じ方法で処理してください。
フローやペイウォールからリンクを開くボタン(例:Terms of use や Privacy policy)を追加するには:
- ビルダーでボタンを追加し、Open URL アクションを割り当てて、開きたいURLを入力します。
- アプリのコードで、受け取ったURLをブラウザで開く
openUrlアクションのハンドラーを実装します。
Android SDKでは、openUrlアクションはデフォルトでURLを開きます。ただし、必要に応じてコード内でこの動作をオーバーライドできます。
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}カスタムアクションの処理
ボタンを追加して任意のアクションを処理するには、次の手順に従います:
- ビルダーでボタンを追加し、Custom アクションを割り当て、IDを設定します。
- アプリのコードで、作成したアクションIDのハンドラーを実装します。
たとえば、別のサブスクリプションオファーや買い切り購入がある場合、別のフローやペイウォールを表示するボタンを追加できます:
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "openNewPaywall") {
// Display another flow or paywall
}
}
}
}ペイウォールビルダーを使ってペイウォールを作成する場合、ボタンを適切に設定することが重要です:
- ペイウォールビルダーでボタンを追加し、既存のアクションを割り当てるか、カスタムアクションIDを作成します。
- 割り当てた各アクションを処理するコードをアプリに記述します。
このガイドでは、カスタムアクションおよび既存アクションをコードで処理する方法を説明します。
購入、復元、ペイウォールのクローズ、URLの開封は自動的に処理されます。 それ以外のすべてのボタンアクションは、アプリのコードで適切な処理を実装する必要があります。
ペイウォールを閉じる
ペイウォールを閉じるボタンを追加するには:
- ペイウォールビルダーでボタンを追加し、Close アクションを割り当てます。
- アプリのコードで、ペイウォールを閉じる
closeアクションのハンドラーを実装します。
Android SDK では、close アクションはデフォルトでペイウォールを閉じる動作をします。ただし、必要に応じてコード内でこの動作をオーバーライドできます。たとえば、あるペイウォールを閉じたときに別のペイウォールを開くといった処理が可能です。
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
}
}ペイウォールからURLを開く
リンクのグループ(利用規約や購入の復元など)を追加したい場合は、ペイウォールビルダーで Link 要素を追加し、Open URL アクションが設定されたボタンと同じ方法で処理してください。
ペイウォールにリンクを開くボタン(Terms of use や Privacy policy など)を追加するには:
- ペイウォールビルダーでボタンを追加し、Open URL アクションを割り当てて、開きたいURLを入力します。
- アプリのコードに、受け取ったURLをブラウザで開く
openUrlアクションのハンドラーを実装します。
Android SDK では、openUrl アクションはデフォルトで URL を開く動作をトリガーします。ただし、必要に応じてコード内でこの動作をオーバーライドできます。
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.OpenUrl -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
context.startActivity(intent)
}
}
}アプリへのログイン
ユーザーをアプリにログインさせるボタンを追加するには:
- ペイウォールビルダーでボタンを追加し、Login アクションを割り当てます。
- アプリのコード内で、ユーザーを識別する
loginアクションのハンドラーを実装します。
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
AdaptyUI.Action.Login -> {
val intent = Intent(context, LoginActivity::class.java)
context.startActivity(intent)
}
}
}カスタムアクションの処理
ほかのアクションを処理するボタンを追加するには:
- ペイウォールビルダーでボタンを追加し、Custom アクションを割り当て、ID を設定します。
- アプリのコードで、作成したアクション ID に対応するハンドラーを実装します。
たとえば、別のサブスクリプションオファーや買い切り購入がある場合、別のペイウォールを表示するボタンを追加できます:
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
when (action) {
is AdaptyUI.Action.Custom -> {
if (action.customId == "openNewPaywall") {
// Display another paywall
}
}
}
}