一封信号通知给具有电子邮件ID的用户



我有一个集成到我的Web应用程序的信号通知,它可以正常工作,但是问题是我只需要将通知发送给特定用户。我将选择一封电子邮件并发送通知。对于该OneSignal提供细分市场,当我创建一个细分市场并给出电子邮件ID时,它在细分市场中说0个用户。

我的问题与我在该细分中输入的电子邮件ID与0个用户相比如何?

改用标签。对于要将消息发送到的人,请设置一个标签,例如:{电子邮件:jimmy@jimmy.com}。

然后在您的通知发送代码中,根据标签发送给人员。例如

    $content = array(
        "en" => "hello jimmy"
        );
    $fields = array(
        'app_id' => <your_ID_here> ,
        'filters' => array(array("field" => "tag", "key" => "email", "relation" => "=", "value" => "jimmy@jimmy.com")),
        '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);

最新更新