Corona sdk(lua)如何向php脚本发送注册设备以获取通知的请求?

Corona sdk(lua)如何向php脚本发送注册设备以获取通知的请求?,php,android,lua,coronasdk,Php,Android,Lua,Coronasdk,我正在开发一个需要获得推送通知的应用程序 我无法让PushWoosh正常工作(设备已成功登录,但没有订户),因此与我一起工作的人选择配置自己的服务器以向GCM发送通知 PHP注册代码如下所示: require_once('loader.php'); //返回json响应 $json=array(); $nameUser=$_POST[“name”]; $namemail=$_POST[“email”]; //从设备获取的GCM注册ID $gcmRegID=$_POST[“regId”]; /**

我正在开发一个需要获得推送通知的应用程序

我无法让PushWoosh正常工作(设备已成功登录,但没有订户),因此与我一起工作的人选择配置自己的服务器以向GCM发送通知

PHP注册代码如下所示:

require_once('loader.php');
//返回json响应
$json=array();
$nameUser=$_POST[“name”];
$namemail=$_POST[“email”];
//从设备获取的GCM注册ID
$gcmRegID=$_POST[“regId”];
/**
*在数据库中注册用户设备
*在用户表中存储注册id
*/
如果(isset($nameUser)
&&isset($namemail)
&&isset($gcmRegID)){
//在数据库中存储用户详细信息
$res=storeUser($nameUser,$namemail,$gcmRegID);
$registatoin_id=array($gcmRegID);
$message=数组(“产品”=>“衬衫”);
$result=发送推送通知($registatoin\u id,$message);
回声$结果;
}否则{
//找不到用户详细信息
}
根据我们从中获得php代码的示例,如果我是用本机代码编写的,我需要这样做:

void寄存器(最终上下文、字符串名称、字符串电子邮件、最终字符串regId){
Log.i(Config.TAG,“注册设备(regId=“+regId+”));
String serverUrl=Config.YOUR_SERVER_URL;
Map params=新的HashMap();
参数put(“regId”,regId);
参数put(“名称”,名称);
参数put(“电子邮件”,电子邮件);
长退避=退避毫秒+随机.nextInt(1000);
//一旦GCM返回注册id,我们需要在服务器上注册
//由于服务器可能已关闭,我们将重试几次
//时代。

对于(inti=1;i嗯,在尝试以多种不同的格式发送信息之后,我偶然发现了解决方案。 1:我不需要使用json编码。 2:变量只需要在一个字符串中,由符号“&”分隔

local headers = {}
        headers["Content-Type"] ="application/x-www-form-urlencoded"
        headers["Accept-Language"] = "en-US"
        local body="name="..system.getInfo("deviceID").."&email=test@test&regId="..DeviceID
        local params = {}
        params.headers = headers
        params.body = body

        network.request ( SERVER_URL, "POST", networkListener, params )

该php脚本似乎不需要json编码的数据,只需要普通的POST数据。请尝试发送
电子邮件=test@test&name=name®Id=DeviceID
作为params.body,看看你得到了什么?是的,谢谢你,我正在检查这个问题,并将其作为答案发布,在尝试以多种不同的格式编写信息后,我尝试了那个格式,效果很好。
local commands_json  = {
            ["email"] = "test@test",
            ["name"] = system.getInfo("deviceID"),
            ["regId"] = DeviceID
        }

    local post_body = json.encode( commands_json )

    local headers = {}
    headers["Content-Type"] = "application/json"
    headers["Accept-Language"] = "en-US"
    local params = {}
    params.headers = headers
    params.body = post_body
    params.progress = "download"

    network.request ( SERVER_URL, "POST", networkListener, params )
local headers = {}
        headers["Content-Type"] ="application/x-www-form-urlencoded"
        headers["Accept-Language"] = "en-US"
        local body="name="..system.getInfo("deviceID").."&email=test@test&regId="..DeviceID
        local params = {}
        params.headers = headers
        params.body = body

        network.request ( SERVER_URL, "POST", networkListener, params )