OneSignal - 创建细分

Nou*_*ouf 5 api push-notification onesignal ionic2

我想创建oneSignal段具有他们是否有该原料药或其他任何方式把它与我做访问仪表盘,所以我在想,出来

小智 2

目前 OneSignal 没有任何用于创建分段的 api,但如果您想向特定组发送通知,您可以使用标签。

是的,您可以向特定标签发送通知,标签可以用作分段的替代品。如果您想向分段 A 发送通知,请将该用户的标签设置为 {user:A} 并可以使用此 php 请求发送通知。

$fields = array(
        'app_id' => YOUR_ONE_SIGNAL_APP_ID,
        //'included_segments' => array('plant_a'),
        'filters' => array(array("field" => "tag", "key" => "user", "relation" => "=", "value" => "A")),
        'data' => array("foo" => "bar"),
        'contents' => $content
    );
Run Code Online (Sandbox Code Playgroud)

你的完整代码将是这样的

<?PHP
    function sendMessage(){
        $content = array(
            "en" => 'English Message'
            );

        $fields = array(
            'app_id' => YOUR_ONE_SIGNAL_APP_ID,
            'filters' => array(array("field" => "tag", "key" => "user", "relation" => "=", "value" => "A")),
            'data' => array("foo" => "bar"),
            'contents' => $content
        );

        $fields = json_encode($fields);
        print("\nJSON sent:\n");
        print($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 REST_API_KEY'));
        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);

        return $response;
    }

    $response = sendMessage();
    $return["allresponses"] = $response;
    $return = json_encode( $return);

    print("\n\nJSON received:\n");
    print($return);
    print("\n");
?>
Run Code Online (Sandbox Code Playgroud)