2017-02-20 110 views
2

用户我必须集成到我的Web应用程序,它工作正常一个OneSignal通知,但问题是我需要发送的通知只对特定的用户。我将选择一封电子邮件并发送通知。对于OneSignal提供段,当我创建一个段,并给它说,在段0的用户电子邮件ID。OneSignal通知其电子邮件ID

我的问题是如何我在段键入电子邮件ID获取与比较,并返回我0用户?

回答

1

使用标签来代替。对于您想要发送信息的人,请设置一个标签,例如:{email:[email protected]}。

,然后在通知发送代码,发送到基于标签的人。例如

$content = array(
     "en" => "hello jimmy" 
     ); 

    $fields = array(
     'app_id' => <your_ID_here> , 
     'filters' => array(array("field" => "tag", "key" => "email", "relation" => "=", "value" => "[email protected]")), 
     'data' => array("foo" => "bar"), 
     'contents' => $content 
    ); 

    $fields = json_encode($fields); 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications"); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8','Authorization: Basic '.$_SESSION['global_rest_id'])); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($ch, CURLOPT_HEADER, FALSE); 
    curl_setopt($ch, CURLOPT_POST, TRUE); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 

    $response = curl_exec($ch); 
    curl_close($ch);