App Engine アプリでは、サードパーティ企業のサービスを利用して、メールや SMS メッセージの送信、電話の発着信を行えます。たとえば、ビジネス トランザクションやユーザー アカウントの作成を確認するためのメールの送信や、マーケティング関連のメール配信を行うことができます。
このページでは、App Engine アプリで使用できる通信サービスとクライアント ライブラリを提供している企業の例を紹介します。
Mailgun
Mailgun は、メール送信用の RESTful API とクライアント ライブラリの両方を、すべてのユーザーへの無料割り当てとともに提供しています。追加のメッセージに対する料金設定やボリューム ディスカウントについては、お申し込みページの月額料金計算ツールでご確認ください。
Mailgun の詳細については次をご覧ください。
Mailjet
Mailjet は、App Engine ユーザーに無料枠を提供するグローバル メールサービスです。この特典を利用するには、次のリンクをクリックして Mailjet アカウントを作成してください。
Mailjet の詳細については次をご覧ください。
SendGrid
SendGrid は App Engine のメール機能を強化します。SendGrid を使用すると、メールの到達率が向上し、アプリから送信されたメールの状況をより明確に把握できます。SendGrid のインターフェースまたは API を介して、開封数、クリック数、登録解除、スパムレポートなどに関する統計情報を確認できます。
App Engine のお客様は、Google Cloud コンソールから SendGrid Email API プランを申し込むと、無料割り当てをご利用いただけます。お客様が有料パッケージを申し込むと Google に報酬が支払われます。
SendGrid の詳細については次をご覧ください。
Twilio を介した SMS サービスと音声サービス
Twilio を使用すると、音声、VoIP、メッセージをアプリケーションに埋め込むことができます。Twilio プラットフォームは、Twilio マークアップ言語(TwiML)、RESTful API、VoIP SDK(ウェブブラウザ、Android、iOS 用)で構成されています。
Twilio の詳細については次をご覧ください。
クライアント ライブラリとサードパーティ API キーをアプリに追加する
クライアント ライブラリを App Engine 開発環境とデプロイ環境で使用できるようにするには、ライブラリを依存関係として指定します。たとえば、Node.js ランタイムの依存関係を指定するには、こちらをご覧ください。
ほとんどのサードパーティ サービスでは API キーを使用してアプリの認証を行います。キーは、サードパーティのサイトで生成します。これらのキーをアプリで使用するには、次の対応を行うことをおすすめします。
アプリの
app.yaml
ファイル内の環境変数セクションに、キーを追加します。次に例を示します。
env_variables: EMAIL_API_KEY: key-from-third-party
.NET ランタイムを使用している場合は、アプリの
appsettings.json
ファイル内の構成変数にキーを追加します。Node.js ランタイムを使用している場合は、アプリのapp.flexible.yaml
ファイルで、アプリの環境変数セクションの構成変数にキーを追加します。アプリケーションのコードで、環境変数からキーを取得します。
たとえば、Python ランタイムを使用している場合は、次のようにします。
EMAIL_API_KEY = os.environ['EMAIL_API_KEY']
サードパーティの API の要求に応じてキーを渡します。
app.yaml
にアクセスできるすべてのユーザーは、API キーにもアクセスできることに注意してください。安全な場所に app.yaml
を保存できない場合は、Datastore モードの Firestore(Datastore)のような安全な場所に API キーを保存して実行時にキーを取得するか、コード内にキーを保持しつつキーストア(Cloud Key Management Service など)を使用してキーを暗号化することをおすすめします。各アプローチの利点については、シークレット管理ソリューションの選択をご覧ください。