2016-12-29 6 views
0

通常のPhPMyAdminデータベースをバックエンドとして使用するアプリがあり、PHPとの対話はすべてPHPスクリプトを介して行われます。DBフィールドに基づいてプッシュ通知を送信する方法

今、データベースに基づいてプッシュ通知をユーザーに送信します。別のDB(ユーザー名、送信するメッセージ)があるとしましょう。

私がしたいことをするためのサービスやスクリプトはありますか?

他のサービス(Firebaseなど)がありますので、私が欲しいことをすることができますか?

答えて

0

ほとんどの人がプッシュ通知にGCMを使用しますが、廃止予定です。私はFCM(firebase cloud messaging)を使用しています。あなたはGCMのチュートリアルやガイドを探すのを邪魔することはありません。このlinkは、プッシュ通知のセットアップに必要なものすべてを提供します。あなたがios FCMサポートのためにプッシュ通知を作成することを決定した場合は、その横にも表示されます。チャットアプリケーションを作成したい場合は、代わりにXMPPサーバーを使用してください。

FCMのドキュメントでは決して言及しないPHPコードがいくつかあります。すべてのコードをアンドロイドに実装したら、FCMがリクエストをFCMサーバーに送信して、FCMがそれを処理し、提供する登録トークンに基づいてすべてのデバイスにプッシュするために実装する必要があるPHPコードを次に示します。

$url = 'https://fcm.googleapis.com/fcm/send'; 
//$field is the parameter you will be sending to FCM server in order to let FCM know which device, and the message you need to send to. You will get a better understading after study the doc. 
$fields = array(
      'priority' => "high", 
      'registration_ids' => $tokens, 
      'data' => $data 
      ); 
     $headers = array(
      'Authorization:key = 'your authorization key', 
      'Content-Type: application/json' 
      ); 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); 
     $result = curl_exec($ch);   
     if ($result === FALSE) { 
      die('Curl failed: ' . curl_error($ch)); 
     } 
     curl_close($ch); 

FCMの仕組みはちょっと混乱しますが、最終的にはそれに慣れるでしょう。

関連する問題