【问题标题】:OneSignal - Send scheduled notificationOneSignal - 发送预定通知
【发布时间】:2018-01-22 01:27:17
【问题描述】:

我想为 OneSignal 发送预定消息,但我不想使用他们的仪表板,而是想使用 API 来执行此操作,我确实阅读了他们的文档,但我找不到任何东西可以修改他们当前的 API,所以我可以发送预定通知

function sendMessage(){
        $content = array(
            "en" => $message,

            );

    $fields = array(
        'app_id' => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        'included_segments' => array('All'),
  '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 NGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj'));
    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 push-notification onesignal


    【解决方案1】:

    您可以在此文档页面上找到计划选项:https://documentation.onesignal.com/v3.0/reference#section-delivery

    以下是可用的选项:

    send_after(稍后发送)

    例子:

    “2015 年 9 月 24 日星期四 14:00:00 GMT-0700 (PDT)”

    “2015 年 9 月 24 日下午 2:00:00 UTC-07:00”

    “2015-09-24 14:00:00 GMT-0700”

    “2015 年 9 月 24 日 14:00:00 GMT-0700”

    “2015 年 9 月 24 日星期四 14:00:00 GMT-0700(太平洋夏令时间)”

    延迟选项

    可能的值是:

    “时区”(在每个用户拥有的特定时间交付 时区)

    “last-active”(在预计的一天中的最佳时间向每个用户交付)。

    delivery_time_of_day与delayed_option=timezone一起使用。

    例子:

    “上午 9:00”

    您可以将这些选项添加到代码的字段部分,如下所示:

    $fields = array(
      'app_id' => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      'included_segments' => array('All'),
      'data' => array("foo" => "bar"),
      'contents' => $content,
      'send_after' => "Sept 24 2017 14:00:00 GMT-0700"
    );
    

    【讨论】:

    • 谢谢你的帮助我不知道我是怎么错过的选项
    • "send_after" 就像一个魅力!非常感谢你
    • 那是什么格式,因为我使用日期作为变量??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多