ブログ

Twilio NodeヘルパーライブラリをFirebase Functionsに導入する方法

こんにちは、Twilioマーケチームのkatsu.tです。

本記事では、サーバーサイドで利用するTwilioのヘルパーライブラリをCloud Functions for Firebase(Node.js)に組み込む方法についてご紹介いたします。

目次

Twilioヘルパーライブラリについて

まずTwilioヘルパーライブラリについてご紹介いたします。

Twilioヘルパーライブラリには、サーバーサイドで利用される「サーバーサイドヘルパーライブラリ」と、JavaScriptやiOS、Androidなどのクライアントサイドで利用する「SDK」の2種類があります。

サーバーサイドヘルパーライブラリ

サーバーサイドヘルパーライブラリは、TwiMLを作成できるビルダーメソッドや、Twilioの各種APIをメソッドとして利用できる機能を提供しています。

クライアントSDK

クライアントサイドで利用するSDKは、クライアントとTwilioを接続して音声や動画をやり取りするために利用します。

それぞれのSDKを利用することにより、簡単にアプリケーション構築を行うことができ、すぐにTwilioの恩恵を受けられます。

Twilioヘルパーライブラリの対応言語

Twilioヘルパーライブラリは、それぞれ下記言語に対応しています。
詳細については各ドキュメントをご覧ください。

サーバーサイドヘルパーライブラリ

クライアントSDK

Cloud Functions for Firebaseにサーバーサイドヘルパーライブラリを組み込む方法

本記事ではCloud Functions for FirebaseでNode.jsを利用した際の、サーバーサイドヘルパーライブラリの組み込み方についてご紹介いたします。

firebaseコマンドのインストール

まずfirebaseコマンドを利用できるよう、npmを利用してインストールします。
※node/npmをインストールされていない方は、こちらを参照してインストールしてください。

npm install -g firebase-tools

②プロジェクトの作成

firebaseコマンドのインストールが完了したら、続いてプロジェクトを作成します。

// フォルダ作成
mkdir twilio-sample
// フォルダを移動
cd twilio-sample
// プロジェクト作成
firebase init functions

コマンドを実行したら、表示された内容に従って選択。設定を行います。
※上下キーで選択し、スペースで確定。Enter/Returnで次の項目へ移動します。

③Twilioヘルパーライブラリのインストール

続いて、本題であるTwilioヘルパーライブラリをインストールします。

// functionsフォルダへ移動
cd functions
// twilioヘルパーライブラリをインストール
npm install twilio

④Twilioヘルパーライブラリを読み込む

最後にTwilioヘルパーライブラリを読み込みます。
functions/index.jsを開いて下記コードを追加してください。

const twilio = require('twilio');

以上でヘルパーライブラリの導入は完了です!
今回はヘルパーライブラリを利用して、TwiMLを作って返却させてみたいと思います。

Twilioサーバーサイドヘルパーライブラリを使ってTwiMLを返却する

導入したヘルパーライブラリを利用して、TwiMLを返却するfunctionsを作ってみましょう。

実装

今回は一番初歩的な「こんにちは、twilio」と音声を流すTwiMLを返却するfunctionsを作ってみます。

firebase/index.jsを下記コードに置き換えてください。

const functions = require('firebase-functions');
const twilio = require('twilio');

exports.helloTwilio = functions.https.onRequest((request, response) => {
    let twiml = new twilio.twiml.VoiceResponse();
    twiml.say({
        voice: 'alice',
        language: 'ja-JP'
    }, 'こんにちは、Twilio');
    response.set("Content-Type", "application/xml; charset=utf8").send(twiml.toString());
});

テスト

実装できたら、ちゃんと動くかテストします。
下記コマンドを実行して、作成したfunctionsをデプロイします。

firebase deploy --only functions:helloTwilio

デプロイが完了したら、firebaseコンソールにログインしてURLを確認しましょう。
確認したURLをブラウザでアクセスした結果が下記の通りになれば成功です。

まとめ

Twilioでは各言語のヘルパーライブラリを提供しています。ヘルパーライブラリを使うことにより、素早くTwilioの恩恵を受けることが可能です。

またfirebaseなど別のプラットフォームと組み合わせることにより、さらに強力なプレゼンスを発揮することができます。いろいろ試してみてくださいね!

アプリケーションエンジニア 葛 智紀
アプリケーションエンジニア 葛 智紀

前職でiOS、Androidのネイティブアプリケーション開発、AngularやLaravelを用いたウェブアプリケーション開発に従事。KDDIウェブコミュニケーションズではTwilioの最新情報の発信やTwilioを用いた地域課題解決を担当。 個人では、Google Developer Group Tokyoのオーガナイザーを務める。

お問い合わせはこちら

Share!!

この記事を読んだ人へのオススメ

  • お役立ち情報
  • イベント情報
  • 相談会申込
  • 導入事例