今回の記事ではマッチングアプリで必要な機能であるStripeを使ったいいね購入、電話での認証機能について解説していきます。前編ではStripeの接続方法、Firebaseのsms認証(電話認証)機能について解説していきます。

前提

すでにFirebaseとFlutterFlowが接続されていること。まだの方は先にFirebaseの接続を完了させて下さい。

Firebaseの設定

今回は、Stripeの購入とsms認証機能を使用するために必要な設定を行います。

電話番号認証の追加

接続されているプロジェクトをFirebaseで開き、サイドバーから「Authentication」→「Sign-in method」と進みます。

「新しいプロバイダを追加」から、「電話番号」を選択し「有効」→保存」をクリックします。

※電話番号認証は1日10件まで無料です。それ以降の認証は料金が発生します。詳しい料金はこちらから確認して下さい。

Brazeプラン

StripeをFlutteFlowで使用するためには、FirebaseをBrazeプランにアップグレードする必要があります。Sparkプランでは使用できないのでプランを変更します。

サイドバーから「プロジェクトの概要」→「Sparkプラン」→「Blazeプランを選択」と進みます。

支払いの設定と、予算の上限を行うとアップグレードの設定が完了します。

※Blazeプランでは無料枠の上限を超えた場合料金が発生します。先程設定した予算を超えることは無いので、100円など予算を低めに設定しておきましょう。詳しい説明は、こちらより確認して下さい。

Stripeの設定

Stipeは決済処理を行うサービスです。 APIキーをFlutterFlow接続することで決済処理が簡単に作成することができます。

Stripeアカウントの取得

まずはStripeのアカウントを作成します。

Stripeのサイトへ移動しサインインを行います。認証メールが送信されるので必ず認証行うようにして下さい。

メールに添付されている認証ボタンをクリックすると、以下の画面に自動的に遷移します。

Stripeには本番環境と、テスト環境の2つのモードがあります。本番モードでは実際の購入アクションを行う場合に使用するモードであり、開発中や機能を確かめたい場合は開発モードで行います。

本番環境使用するには、口座の登録などが必須です。今回はテスト環境を使用するので、paymentの有効化はせずに、左上の閉じるアイコンをクリックし閉じます。

商品の追加居

画像のように画面が切り替わると、「開発者向けAPIキー」をクリックします。

サイドバーから「その他+」を選択し、「商品カタログ」と進みます。 「商品を追加」で、商品名と値段を入力します。

「継続」と「1回限り」とは支払いの回数の設定です。

例えばYouTube Premiumのように自動的に料金が支払われる仕様の場合は「継続」、マッチングアプリのLIKEの購入の場合は一回限りの購入になります。

APIキーの取得

画面上部の「開発者」をクリックし、「APIキー」をクリックします。

公開可能キー、シークレットキーの2つが表示されているのでこれらをコピーしましょう。

FlutterFlowの設定

FlutterFlowのプロジェクトへ移動し、サイドバーの「Setting 」→「Stripe」と進み、「Enable Stripe Payments」をオンにします、

Test Credentialsの「Publishable Key」と「Secret KeyにStripe」で取得した「公開可能キー」「シークレットキー」を貼り付けます。

Additional Settingsの「Merchant Display Name」を今回はFlutterFlowとしておき「Merchant Country Code」をJPとします。

これで「Deploy」をクリックし、「Deployed」と表示されれば完了です。

実際に決済は行う場合は、Striepで口座等の設定を行い取得した本番環境用のAPIキーを「Production Credentials」に入力するようにして下さい。

sms認証(電話番号)サインアップの作成

ページの追加

sms認証は最低2つのページが必要になります。1つ目は電話番号を入力するページ、2つ目は認証コードを打ち込むページです。今回は追加で認証完了後のページの3つのページを作成していきます。

①「new page」からtemplateで「succeess」と入力し、画像のテンプレートを選択肢「Use my Theme」を選択します。今回はbuttonのアクションは必要ないのでアクションを削除しておきます。

②「new page」からtemplateで「Pin Code」を追加します。

PinCodeの入力widgetのlengthを6に変更します。

「Confirm & Continue」を選択し、アクションを追加します。「verify SMS Code」を選択し、SMS CodeをWidget Stateの「PinCode」とします。

今追加したアクションの下にNavigate to 「succeess」を追加します。

③「new page」からtemplateで、「phone」と入力し、phone numberをWidget State「phoneNumber」に変更します。Select pageで「pinCode」を選択します。

詳細な設定

①settingのInitial PageのEntry Pageを先程作成した、「phone」に変更しておきます。

※テストを行う場合はRun Modeで行って下さい。その他の環境でテストする場合はFirebaseの承認済みドメインに追加する必要があります。詳しくはこちらをご覧下さい。

さいごに

今回はマッチングアプリに必要な機能の前編として、StripeのAPIキーの発行から、SMS認証の方法について解説しました!後編ではStripeでいいねを購入する処理や、プロフィールなどの処理について解説していきます。ぜひ前後編ともに活用して素晴らしいアプリをFlutterFlowで実装してみて下さい。