Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在queing中发送google云消息?_Php_Android_Google Cloud Messaging - Fatal编程技术网

Php 如何在queing中发送google云消息?

Php 如何在queing中发送google云消息?,php,android,google-cloud-messaging,Php,Android,Google Cloud Messaging,嗨,我正在从php服务器向android mobile发送通知。它可以很好地处理单个通知。但是如果我一次发送两个通知。第一个通知将被第二个通知替换。有没有什么方法可以让我看到2个查询通知,比如短信收件箱消息格式 下面是我的php代码: <?php define("GOOGLE_API_KEY", "API id"); define("GOOGLE_GCM_URL", "https://android.googleapis.com/gcm/send"); function send_gcm

嗨,我正在从php服务器向android mobile发送通知。它可以很好地处理单个通知。但是如果我一次发送两个通知。第一个通知将被第二个通知替换。有没有什么方法可以让我看到2个查询通知,比如短信收件箱消息格式

下面是我的php代码:

<?php
define("GOOGLE_API_KEY", "API id");
define("GOOGLE_GCM_URL", "https://android.googleapis.com/gcm/send");

function send_gcm_notify($reg_id, $message) {

$fields = array(
    'registration_ids'  => array( $reg_id ),
    'data'              => array( "message" => $message ),
);

$headers = array(
    'Authorization: key=' . GOOGLE_API_KEY,
    'Content-Type: application/json'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, GOOGLE_GCM_URL);
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);
if ($result === FALSE) {
    die('Problem occurred: ' . curl_error($ch));
}

curl_close($ch);
echo $result;
}

$reg_id = "device id";
$msg = "Google Cloud Messaging working well";
 for($i=0;$i<=3;$i++){
 send_gcm_notify($reg_id, $msg);}

因为您正在向同一个通知生成器发送数据。。第二个放在第一个上面。这是默认的通知方式。但是,如果要为两个任务发送多个通知,则应使用两个通知生成器,过滤收到的消息并调用相关的通知生成器。但也有局限性,因此这取决于您的程序要求

如果您正在查找通知,如下图所示


是的,你可以这样做,通过附加一些id和文本,你可以说是组id,将所有消息存储在本地数据库中,在显示时,您可以像聊天室一样显示它,这是我需要做的安卓端或服务器端。第一个通知被第二个通知取代。相反,我需要在第一个通知的顶部显示第二个通知…要实现did,我需要在安卓端或php端在安卓端和php端同时工作。。。但如果你需要在这种情况下显示100条通知,你就不可能使用gmail应用程序中的通知堆栈。。。我已经给出了另一个答案检查它的链接,你需要发送额外的字段与您的服务器数据,以了解哪个通知是执行。。在安卓端,你需要在onMessageReceived方法中获取json数据,并使用if-els执行第一个或第二个通知生成器。实际上,我是php程序员安卓端由安卓人负责。你能告诉我在服务器端需要更改什么吗?给我安卓的示例代码教程,以便我能给他们提供。