UPDATE、INSERT、DELETE、およびPHPでMySQLトリガーを介してPubNubPUSHメッセージを呼び出す
サーバーからWebアプリ管理インターフェースおよびモバイルアプリへの更新を呼び出す方法はいくつかあります。簡単な方法は、登録が発生したときにPHP APIで公開することですが、MySQLトリガーを使用するよりも低レベルになる可能性があります。
MySQLを使用すると、ストアドプロシージャを介してコーディングを簡単にアクセスできるトリガーにラップできます。私はPubNubでそれを行う方法を知っていますが、Pusherで同様の何かを作成することができます。これがPubNubとMySQLのクイックガイドです。シンプルさはあなたが求めるものであり、ここにあなたの解決策があります!テーブルのUPDATE、INSERT、DELETEアクションを、毎回呼び出されるストアド関数にバインドし、PubNubを使用してモバイルアプリやウェブアプリにプッシュ通知を簡単に送信する簡単な方法を説明します。
PubNubプッシュメッセージ
DELIMITER $$
CREATE PROCEDURE push_message
(p1 DOUBLE,
p2 DOUBLE,
p3 BIGINT)
BEGIN
DECLARE cmd CHAR(255);
DECLARE result CHAR(255);
SET cmd = CONCAT('curl https://pubsub.pubnub.com/publish/demo/demo/0/mysql_triggers/0/%22',p1, ',' ,p2, ',' ,p3,'%22');
SET result = sys_eval(cmd);
END$$;
注:PROCEDUREタイプが正しいDOUBLEまたはVARCHARまたはTEXTであることを確認してください。
MySQLトリガーコードのINSERTの例
CREATE TRIGGER push_message_trigger AFTER INSERT ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);
注:プッシュメッセージには、ここで必要な列を必ず含めてください。
MySQLトリガーコードの更新例
CREATE TRIGGER push_message_trigger AFTER UPDATE ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);
デバッグコンソールを介してプッシュメッセージを監視する
http://www.pubnub.com/console?sub=demo&pub=demo&channel=mysql_triggers-PubNubDevConsoleを介してトリガーが起動されるのを見ることができます。このようにして、変更する必要のあるパラメーターと、モバイルおよびWebデバイス上のPubNubWebSocketなどで受信できる各プッシュ通知に含めることが重要なデータを理解できます。
JavaScriptでプッシュメッセージを受信する
<div id=pubnub ssl=on></div>
<script src=//pubnub.a.ssl.fastly.net/pubnub-3.3.1.min.js></script>
<script>(function(){
PUBNUB.init({
subscribe_key : 'demo',
ssl : true
}).subscribe({
channel : 'mysql_triggers',
callback : function(mysql_trigger_details) {
alert(mysql_trigger_details);
}
});
})();</script>
これで、MySQLから簡単な手順で直接変更イベントを送受信するために必要な手順が完了しました。HTTPSプッシュ通知をキューに入れてプールするデーモンプロセスにシグナルを発行するなど、この方法を最適化する方法があります。これは十分に効率的です。