フォームデータを送信
フォームデータを送信アクションは、現在のビューにあるフォームコントロールコンポーネントから値を収集し、フォームの応答として送信します。これは、プロパティパネルからボタン(またはメール収集)コンポーネントで設定されます。
このページでは、デフォルト値、追加の静的データ、複数のビューにまたがるマージ動作など、送信がどのように組み立てられるかを説明します。
アクションの設定
このアクションは、他のアクションと同様にボタンに追加されます。追加すると、プロパティパネルに以下が表示されます。
- ビュー - 送信成功後に切り替えるビュー。
- メールアドレスをESPに登録 - 取得したメールアドレスを現在のユーザーにリンクします。
- 電話番号をSMSに登録 - 取得した電話番号を現在のユーザーにリンクします。
- フォームデータ - 送信に追加される静的なキーと値のペアのリスト。詳細は下記のフォームデータを参照してください。
メールアドレスをESPに登録
WARNING
この機能が期待通りに動作するには、バリデーションが「メール」に設定された「テキスト」タイプのフォームフィールドが現在のビューに存在する必要があります。
これはメールアドレスをESPに登録を介して有効になります。
メールをユーザーにリンクすることには、いくつかの影響があります。
- 取得されたメールアドレスは、現在のキャンペーンで取得されたメールアドレスのリストにも追加されます。
- 取得されたメールアドレスはユーザーのプロフィールに追加され、これにより_ユーザーが収集したメール_などのセグメンテーションルールが有効になります。
- ストリームイベント_メールが収集されました_が発火します。
電話番号をSMSに登録
WARNING
この機能が期待通りに動作するには、バリデーションが「電話」に設定された「テキスト」タイプのフォームフィールドが現在のビューに存在する必要があります。
ESPと同様の方法で機能します。
- 電話番号がSMS送信に利用可能になります。
- ストリームイベント_SMS登録_が発火します。
送信の組み立て方
ボタンがクリックされると、Fanplayrは以下の3つのソースからの値を優先順位に従って結合し、最終的なフォーム応答を構築します。
- ユーザーが入力したフォームコントロールの値。
- フォームコントロールのデフォルト値(フォームコントロールの設定から)- ユーザーが値を入力しなかった場合に使用されます。
- 送信フォームデータアクションで設定されたフォームデータのキーと値のペア - そのタグを持つフォームコントロールが値を寄与しなかった場合に使用されます。
要するに、フォームコントロールの値 > フォームコントロールのデフォルト値 > アクションのフォームデータとなります。
例
| タグ | フォームコントロールのデフォルト値 | アクションのフォームデータ | ユーザー入力 | 最終的な値 |
|---|---|---|---|---|
| name | (なし) | (なし) | "Sam" | "Sam" |
| color | green | blue | (空) | green |
| animal | (なし) | kangaroo | (空) | kangaroo |
デフォルト値
デフォルト値は各フォームコントロール(フォームコントロールの設定内)で設定され、ユーザーがフィールドを空白のままにした場合に実行時に尊重されます。デフォルト値は以下のフィールドでサポートされています。
- テキスト
- テキストエリア
- ドロップダウン
フォームコントロールのタグがアクションのフォームデータで定義されたキーと一致する場合、フォームコントロールのデフォルト値が優先されます。
フォームデータ
送信フォームデータアクションのフォームデータセクションでは、そのアクションからのすべての送信に静的なキーと値のペアを追加できます。これは、ビューに一致するフォームコントロールが存在しない場合でも追加されます。
一般的な用途:
- ビュー名、バリアント、実験名などのコンテキストで応答にタグを付ける。
source: widgetやlanguage: enなどの固定メタデータをダウンストリームシステムに送信する。- フォームコントロールが欠落しているか空の場合にのみ使用されるべきフォールバック値を提供する(フォームコントロールのデフォルト値が優先されることに注意してください。詳細については送信の組み立て方を参照)。
各エントリはシンプルなキー: 値のペアです。キーはアクション内で一意である必要があります。
動物=カンガルーフィールドを含むフォームデータ
複数のビューにまたがるマージ
ウィジェットに複数のビューにまたがるフォームコントロールがある場合、セッション中にそのウィジェットから送信されたすべてのデータは、セッション期限切れ時に単一のフォーム応答にマージされます。
たとえば、あるビューでユーザーの名前とお気に入りの動物を収集し、その後のビューで年齢を収集する場合、最終的な応答にはこれら3つの値すべてが含まれます。
これにより、カスタムコードを書くことなく多段階フォームを簡単に構築できます。各送信フォームデータアクションは、同じセッションレベルの応答にその値を寄与します。
INFO
マージはウィジェットのビューごとに適用されます。異なるページビューで同じウィジェットを再度表示する場合、フォームデータは以前のウィジェットビューからマージされません。
WARNING
フォームフィールドを持つすべてのビューに「現在のビューでフォームデータを送信」アクションが必要です。これがないと、これらのフォームフィールドのデータは収集されません。
バリデーション
送信ボタンは、現在のビュー内のすべての必須フォームコントロールが有効な値を持つまで無効のままです。これにより、部分的または無効な送信が送信されるのを防ぎます。
- 必須フィールドのバリデーションは、各フォームコントロールで設定されます。
- デフォルト値は、送信ボタンを有効にするための有効な入力としてカウントされます。
- アクションで設定されたフォームデータの値は、必須フィールドのバリデーションを満たしません。ユーザーは依然として、必須のフォームコントロールすべてに入力(またはデフォルト値を設定)する必要があります。
送信の表示場所
送信はFanplayrポータルのアカウント > フォームの応答で利用でき、メール通知をトリガーすることもあります。応答へのアクセスとエクスポートの詳細については、フォームコントロールを参照してください。
フォームの送信は、フォーム送信ストリームトリガーもトリガーします。
WARNING
同じセッション内で同じウィジェットから送信されたフォームは、セッション期限切れ時に結合されます。このため、データはセッション期限切れ後まで利用できず、ポータルに表示されるまで最大1時間かかる場合があります。