アプリケーションがユーザーにプッシュ通知を送信するために、Android GCM に取り組んでいます。そして、私はこのチュートリアルに従っています
しかし、このチュートリアルでは、個々のデバイスにプッシュ通知を送信できることが示されています。しかし、一度にすべてのユーザーにプッシュ通知を送信したいと考えています。では、この手法をどのように実装できますか。
アプリケーションがユーザーにプッシュ通知を送信するために、Android GCM に取り組んでいます。そして、私はこのチュートリアルに従っています
しかし、このチュートリアルでは、個々のデバイスにプッシュ通知を送信できることが示されています。しかし、一度にすべてのユーザーにプッシュ通知を送信したいと考えています。では、この手法をどのように実装できますか。
私はすでに同じ問題に直面し、それを解決しました。一度にすべてのユーザーにプッシュ通知を送信するには、前述のチュートリアルに記載されているすべてのことを行う必要があります。ただし、次の 2 つのファイルを変更する必要がありますindex.php
。send_message.php
でindex.php
:
を。JavaScript コードを次のように置き換えます。
$(document).ready(function(){
});
function sendToAll(){
var data = $("#sendtoall").serialize();
$("#sendtoall").unbind('submit');
$.ajax({
url: "send_message.php",
type: 'GET',
data: data,
beforeSend: function() {
},
success: function(data, textStatus, xhr) {
$('.txt_message').val("");
},
error: function(xhr, textStatus, errorThrown) {
}
});
return false;
}
b. body タグ内のコードを次のように置き換えます (最初の 5 行をスキップします)。
<div class="container">
<h1>No of Devices Registered: <?php echo $no_of_users; ?></h1>
<hr/>
<ul class="devices">
<?php
if ($no_of_users > 0) {
?>
<li>
<form id="sendtoall" name="" method="post" onsubmit="return sendToAll()">
<div class="send_container">
<textarea rows="3" name="message" cols="25" class="txt_message" placeholder="Type message here"></textarea>
<?php
while ($row = mysql_fetch_array($users)) {
?>
<input type="hidden" name="regId[]" value="<?php echo $row["gcm_regid"]; ?>"/>
<?php
}
?>
<input type="submit" class="send_btn" value="Send To All" onclick=""/>
</div>
</form>
</li>
<?php
} else { ?>
<li>
No Users Registered Yet!
</li>
<?php } ?>
</ul>
</div>
<div class="clear"></div>
でsend_message.php
:
次の行を置き換えます。
$registatoin_ids = array($regId);
と
$registatoin_ids = $regId;
プッシュ モジュールが統合された「サービスとしてのバックエンド」を使用することもできます。したがって、バックエンドからすべての参加者に通知できます。「アピオマット」をしばらく使用して満足しました
はい、マルチキャスト メッセージ サービスも許可するため、GCM で送信できます。
以下のフォーマットを使用して:
{
"registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."],
"data" : {
...
},
}
ここで、キーregistration_idsの値は次のようになります。
メッセージを受信するデバイス (登録 ID) のリストを含む文字列配列。少なくとも 1 つ、最大で 1000 の登録 ID が含まれている必要があります。マルチキャスト メッセージを送信するには、JSON を使用する必要があります。1 つのメッセージを 1 つのデバイスに送信するには、登録 ID が 1 つだけの JSON オブジェクトまたはプレーン テキストを使用できます (以下を参照)。必須。
それがあなたを助けることを願っています。
GCM トピック メッセージングを使用すると、アプリ サーバーは、特定のトピックにオプトインした複数のデバイスにメッセージを送信できます。パブリッシュ/サブスクライブ モデルに基づいて、トピック メッセージングはアプリごとに最大 100 万のサブスクリプションをサポートします。アプリ サーバーは最大 2KB のペイロードを持つメッセージをトピックに送信し、GCM はメッセージ ルーティングを処理し、メッセージを適切なデバイスに確実に配信します。たとえば、天気予報アプリのユーザーは、「重大な気象警報」トピックにオプトインして、指定された地域を脅かす嵐の通知を受け取ることができます。すべてのユーザーにメッセージを送信するには、トピックを使用できます。
出典: Google デベロッパー ウェブサイト
見てみると、すべてのユーザーがトピックに登録していることがわかります。トピックごとに、トピックを持つすべてのユーザーに送信できます。
トピックに送信するには、このページ https://developers.google.com/cloud-messaging/topic-messagingを使用する必要があります