使用php api发送Onesignal通知:参数;在“之后发送”;一个信号';不考虑客户的通知
我正在使用php/symfony 4处理一个项目,在创建一个对象之后,我发送了一个推送通知,通常不指定传递参数“send_after”,它工作正常,移动设备实时接收通知。 但是,当我指定交付日期时,他们没有考虑到这一点,并且它是在创建我的对象时发送的,下面是我的代码片段:使用php api发送Onesignal通知:参数;在“之后发送”;一个信号';不考虑客户的通知,php,symfony4,onesignal,Php,Symfony4,Onesignal,我正在使用php/symfony 4处理一个项目,在创建一个对象之后,我发送了一个推送通知,通常不指定传递参数“send_after”,它工作正常,移动设备实时接收通知。 但是,当我指定交付日期时,他们没有考虑到这一点,并且它是在创建我的对象时发送的,下面是我的代码片段: $fields = array( 'app_id' => $this->api_key, 'include_player_ids' => $devices, '
$fields = array(
'app_id' => $this->api_key,
'include_player_ids' => $devices,
'data' => array(
"type" => $type,
"url" => $url
),
'contents' => $content
);
if (null != $dateTime) {
date_time_set($dateTime, 9, 0, 0);
array_push($fields, [
'send_after' => $dateTime->format('Y-m-d H:i:s TO')] );
}
$fields = json_encode($fields);
所以我尽量尊重文件中提到的格式:“2015-09-24 14:00:00 GMT-0700”
如果有人已经遇到这个问题,我如何解决它
提前感谢。这应该可以:
$fields = array(
'app_id' => $this->api_key,
'include_player_ids' => $devices,
'data' => array(
"type" => $type,
"url" => $url
),
'contents' => $content
);
/* $dateTime=date_create("2020-08-12"); */
if (null != $dateTime) {
date_time_set($dateTime, 9, 0, 0);
/* $send_after = date_format($dateTime,'Y-m-d H:i:s TO'); */
$fields['send_after'] = $dateTime->format('Y-m-d H:i:s TO')] ); /* $send_after */
}
$fields = json_encode($fields);
这应该起作用:
$fields = array(
'app_id' => $this->api_key,
'include_player_ids' => $devices,
'data' => array(
"type" => $type,
"url" => $url
),
'contents' => $content
);
/* $dateTime=date_create("2020-08-12"); */
if (null != $dateTime) {
date_time_set($dateTime, 9, 0, 0);
/* $send_after = date_format($dateTime,'Y-m-d H:i:s TO'); */
$fields['send_after'] = $dateTime->format('Y-m-d H:i:s TO')] ); /* $send_after */
}
$fields = json_encode($fields);
您是否已使用
var\u dump($dateTime->format('Y-m-d H:i:s TO'))
确认格式化日期确实是他们想要的格式?是的,实际上问题在于数组中的值。您是否已使用var\u dump($dateTime->format('Y-m-d H:i:s TO')确认格式化日期确实是他们想要的格式
?是的,实际上问题出在数组内的值的符号上。非常感谢,我关注的是日期值,直接忘记了数组的键。非常感谢,我关注的是日期值,直接忘记了数组的键。