2016-12-03 8 views
0

クリックすると複数のユーザーにアラートを送信する必要があるアプリケーションを構築しています。しかし、私はURLを実行すると、現在私は1つのデバイスにプッシュすることができます。私はまた、データベースに私のユーザーテーブルに「regids」を追加したクリック時に複数のデバイスにプッシュ通知を送信

https://phonegappro.com/tutorials/apache-cordova-phonegap-push-notification-tutorial-part-3/

からチュートリアルでこれを行なったし、私はそれは、ユーザーがログインしたら、自分のregidsが自動的に保存されることに取り組みましたデータベース。だから今私は選択されたユーザのためにregidsを呼び出して、それらにプッシュ通知を送る必要があります。これを行うために私の現在のPHPを変更するにはどうすればよいですか?また、ハードコーディングする代わりにtitle = user's usernameを作成する必要があります。

事前にお問い合わせいただきありがとうございます。 [{ "regids": "eKZu8R9f3lQ:APA91bH8hL8Mi1-CizwW3Gir2tQ-Ojx6GoBmYPmnPtZv6z_jf_HO27KJQX1YQSHV6Z7Av8ievbtU8VOgtJVMVj0D5AeRmRuUmNhSYKQ-cU4mbbJt-_2E0SqT4xda3WcCumCYKd6uxqIy"}、{ "regids": "c5JsjAL-gQ4:APA91bF0XmzjD7D2UpcHpNpsUU-kw911yCymga792n19ZtI5QfA3schZQ3Do9ZO5UUwktyCa3SMNmcdH5G1EBsERZ-6vwFNWzXLB7Y0MxQvA54slfXm- PHPから

<?php 
require 'connecting.php'; 

$to= $result; 
$title="SiQi:"; 
$message="Are you safe?"; 
sendPush($to,$title,$message); 

function sendPush($to,$title,$message) 
{ 
// API access key from Google API's Console 
// replace API 
define('API_ACCESS_KEY', 'AIzaSyAToG8Xw3g6PbpM55-ZmTckLebGsYUGLns'); 
$registrationIds = array($to); 
$msg = array 
(
'message' => $message, 
'title' => $title, 
'vibrate' => 1, 
'sound' => 1 


// you can also add images, additionalData 
); 

$result = mysql_query("SELECT regids FROM user"); 
while($row = mysql_fetch_assoc($result)){ 
$json[] = $row; 
} 

echo json_encode($json); 

$fields = array 
(
'registration_ids' => $registrationIds, 
'data' => $msg 
); 
$headers = array 
(
'Authorization: key=' . API_ACCESS_KEY, 
'Content-Type: application/json' 
); 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send'); 
curl_setopt($ch,CURLOPT_POST, true); 
curl_setopt($ch,CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($fields)); 
$result = curl_exec($ch); 
curl_close($ch); 
echo $result; 
} 
?> 

結果「成功」:0、「失敗」:1、「canonical_ids」:0、「結果」:[{"エラー": "無効な登録"}]}

+0

を使用することができます –

+0

\すべてのデバイスに通知を送信するためにサブスクライブしますコードは私のhtmlページで違う? – Xinee

+0

私はfirebaseの移行のドキュメントをチェックできると思います。 gcmを使用したい場合は、すべてのデバイスが通知を受け取れるように、コードからすべてのトークンをデータベースに入れます –

答えて

0
[Q] [NW]

Firebase Cloud Messagingを使用できます

FCMは、FirebaseブランドのGCMの新バージョンです。 GCMのコアインフラストラクチャを継承し、Android、iOS、Chromeで確実にメッセージを確実に配信できるようにします。

新しいFCM SDK:

  1. は、クライアントの開発を簡素化します。独自の 登録またはサブスクリプションのリトライロジックを作成する必要はなくなりました。
  2. Webコンソールで新しいサーバーレス通知ソリューション、 Firebase通知を有効にします。 Firebase通知を使用すると、誰でも 通知をFirebase Analyticsの洞察に基づいて特定の対象者を対象にすることができます。次に、内蔵の通知ファネル 分析をコンソールで評価して、通知 の有効性を評価できます。

また、FCMは使いやすいです。

あなたが話題

に加入デバイス

  • デバイスのグループが

      を試してみてください

      1. 単一デバイス
      2. にメッセージを送ることができます
      3. https://firebase.google.com/docs/cloud-messaging/android/client
      4. https://www.simplifiedcoding.net/firebase-cloud-messaging-tutorial-android/

      また、あなたがFCMにあなたのGCMを移行し、話題を使用することができ、独自のアプリケーションサーバ

      https://firebase.google.com/docs/cloud-messaging/server

  • +0

    のための配列形式についての他の投稿をチェックしてください。私はhttps://www.simplifiedcoding.net/android-push-notification-tutorial-using-firebase/を読んでいます。コードは、私がHTML5で自分のアプリケーションを構築しているときに必要なものとは異なります。httpsに似ています。 ://phonegappro.com/tutorials/apache-cordova-phonegap-push-notification-tutorial-part-2/ – Xinee

    +0

    私はちょうど私のPHPを編集できますか?私がfcmを使うことを選ぶならば – Xinee

    関連する問題