Я пытаюсь отправлять push-уведомления только пользователям, сегментированным тегами из моего приложения с помощью Onesignal по php, но уведомление отправляется всем пользователям, это мой код:
$fields = array(
'app_id' => $onesignal_wp_settings['app_id'],
'headings' => array("en" => get_the_title($post->ID), "es" => get_the_title($post->ID)),
'isAnyWeb' => false,
'url' => get_permalink($post->ID),
'contents' => array("es" => max_words(array(
"max" => 40,
"id_post" => $post -> ID
)),
"es" => max_words(array(
"max" => 40,
"id_post" => $post -> ID
))),
'tags' => array(
array(
"key" => "municipio",
"relation" => "=",
"value" => (string)$id_municipio
),
array(
"operator" => "OR"),
array(
"key" => "estado",
"relation" => "=",
"value" => (string)$id_estado
)
)
);
contents
поле вашего кода неверно. Он может содержать только массив языков со строкой своего содержимого. Ваш post_id
должны быть добавлены к data
вместо.
'contents' => array("en" => "English message",
"es" => "Spanish message"),
'data' => array("id_post" => $post -> ID)
Ваш tags
поле выглядит правильно, однако я не уверен, что ваши переменные содержат. Вы должны распечатать всю свою полезную нагрузку JSON, чтобы убедиться, что у вас нет ошибок в формате.
Других решений пока нет …