api - OneSignal - 创建分段

标签 api push-notification ionic2 onesignal

我想在 oneSignal 中创建 Segments 而不必访问仪表板,所以我想知道他们是否有一个 API 用于或任何
和我一起做的其他方式

最佳答案

目前 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
    );

您的完整代码将类似于
<?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");
?>

关于api - OneSignal - 创建分段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45728036/

相关文章:

amazon-web-services - 适用于 Web 应用程序的 AWS 推送通知服务

ios - 发送同步请求 :urlrequest returningResponse:&responce error:&error is unavilable in WatchOS2

javascript - Youtube API 全屏问题

ios - 当应用程序未在 ios 7 中运行时如何更新应用程序角标(Badge)编号?

android - 自己的 Android 应用中的 Google+ 推送通知

angular - Ionic 2 - 为 "long press"事件指令设置回调

javascript - AngularJS 2 中的 #num、[(ngModel)] ="num"和 [value] ="num"之间选择什么

json - 如何在 SwiftUI 中解码来自 API 的 JSON 响应以在 View 中使用

python - 如何保护用于在 Django Rest Framework 中注册和登录的 API?