解析REST API:拥有通道名称,我可以在实际发送到Push之前获取设备类型吗?

Pet*_*nas 11 php rest parsing push

我们有一台服务器,偶尔会向我们的用户发送推送.每个用户在Parse中都有自己的频道名称.因为我们的ios和android推送看起来完全不同,我们尝试发送推送两次,一次针对他的频道名称和Android设备,一次针对他的频道名称和ios设备:

$aAndroidPush = array(
    "where" => array(
        "deviceType" => "Android",
        "channels" => array('$in' => array("push_user"))
    ),
    "data" => array(
        "action" => "com.android.action",
        "alertMessage" => "this is a push",
        "t" => "web",
        "m" => 0
    )
);

$aIOSPush = array(
    "where" => array(
        "deviceType" => "ios",
        "channels" => array('$in' => array("push_user"))
    ),
    "data" => array(
        "alert" => "this is a push",
        "sound" => "p.mp3",
        "t" => "web",
        "m" => 0 ,
        "badge" => ""
    )
);

$aHeaders = array(  
       "Content-Type: application/json",  
       "X-Parse-Application-Id: parse_app_id" .,  
       "X-Parse-REST-API-Key: parse_rest_key" .   
);

$oRest = curl_init();
curl_setopt($oRest,CURLOPT_HTTPHEADER,$aHeaders);  
curl_setopt($oRest,CURLOPT_SSL_VERIFYPEER, false);  
curl_setopt($oRest,CURLOPT_RETURNTRANSFER, true);   
curl_setopt($oRest,CURLOPT_URL,"https://api.parse.com/1/push");   
curl_setopt($oRest, CURLOPT_POST, 1);  

curl_setopt($oRest, CURLOPT_POSTFIELDS, json_encode($aIOSPush));
curl_exec($oRest);

curl_setopt($oRest, CURLOPT_POSTFIELDS, json_encode($aAndroidPush));
curl_exec($oRest);
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,有没有办法在发送推送之前在解析(REST API或新的PHP API)中进行查询,以查看目标通道是使用android还是ios,因此只发送一个推送请求而不是二?

小智 0

从初始请求中,您可以使用MobileESP库从请求中检测设备类型。