メインコンテンツへスキップ

概要

OneSignal + MySQL統合により、MySQLデータベースからOneSignalへのカスタムイベントの同期が可能になり、ユーザーの行動に基づいた自動化されたメッセージングキャンペーンとJourneysをトリガーできます。 MySQLは、広く使用されているオープンソースのリレーショナルデータベース管理システムで、パーソナライズされたメッセージングキャンペーンを強化できる構造化されたイベントデータの保存に最適です。

要件

  • アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
  • インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
  • 更新されたアカウントプラン(無料アプリでは利用できません)

MySQL

  • MySQL Community 5.7以降、または最新バージョンのMariaDB
  • 構造化された行動データを含むイベントテーブル
  • OneSignalからMySQLインスタンスへのネットワーク接続
  • TLS v1.2以上がサポートされている

セットアップ

1

OneSignal専用のユーザーを作成する

読み取り専用権限を持つ専用ユーザーアカウントを作成します:
-- Create census user with ability to sign in with a password
CREATE USER CENSUS IDENTIFIED BY '<strong, unique password>';

-- Grant read-only access to your event schema
GRANT SELECT ON <your_schema>.* TO CENSUS;
イベントデータを含む複数のスキーマがある場合は、各スキーマに対してGRANT SELECTステートメントを繰り返してください。
2

OneSignal接続を構成する

OneSignalで、Data > Integrationsに移動し、Add Integrationをクリックします。MySQLを選択し、接続の詳細を提供します:
  • Host: MySQLサーバーのホスト名
  • Port: MySQLポート(通常は3306)
  • Database: イベントテーブルを含むデータベース名
  • Username: CENSUS
  • Password: 上記で作成したパスワード
3

接続をテストする

Test Connectionをクリックして、OneSignalがMySQLデータベースに正常に接続し、イベントテーブルにアクセスできることを確認します。

イベントデータマッピング

をOneSignalのカスタムイベント形式にマッピングします:
OneSignalフィールド説明必須
nameevent_nameイベント識別子はい
external_iduser_idユーザー識別子はい
timestampevent_timestampイベントが発生した時刻いいえ
propertiesevent_dataいいえ

イベントテーブルスキーマの例

CREATE TABLE user_events (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    event_name VARCHAR(100) NOT NULL,
    user_id VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    event_data JSON,
    session_id VARCHAR(255),
    device_type VARCHAR(50)
);

テーブルモード

イベントテーブルを直接選択すると、OneSignalはすべての行を個別のイベントとして同期します。

SQLクエリモード

カスタムSQLクエリを記述して、イベントデータを変換します:
-- Example: Recent high-value events
SELECT
    event_name,
    user_id,
    created_at as timestamp,
    event_data as payload
FROM user_events
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    AND JSON_EXTRACT(event_data, '$.value') > 100
ORDER BY created_at DESC;

高度なネットワーク構成

OneSignalは、リージョン制約、IPアドレス許可リスト、またはSSHトンネリングを含む高度なネットワーク制御を使用して、MySQLインスタンスに正常に接続できます。 OneSignalは、安全な接続のためにTLSバージョン1.2以上を使用するMySQLをサポートしています。

FAQ

どのMySQLバージョンがサポートされていますか?

OneSignalは、MySQL Community 5.7以降、および最新バージョンのMariaDBをサポートしています。

プライベートネットワーク内のMySQLに接続できますか?

はい、OneSignalは、プライベートネットワーク内またはファイアウォールの背後にあるMySQLインスタンスに接続するためのSSHトンネリングとIP許可リストをサポートしています。