Семент по тегу Onesignal

Я пытаюсь отправлять push-уведомления только пользователям, сегментированным по тегам из моего приложения с Onesignal by 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
            )
        )
    );

person Jorhel Reyes    schedule 09.07.2016    source источник


Ответы (1)


Поле contents вашего кода неверно. Он может содержать только массив языков со строкой для его содержимого. Ваш post_id должен быть добавлен к data вместо этого.

'contents' => array("en" => "English message",
                    "es" => "Spanish message"),
'data' => array("id_post" => $post -> ID)

Ваше поле tags выглядит правильно, однако я не уверен, что содержат ваши переменные. Вы должны распечатать полную полезную нагрузку JSON, чтобы убедиться, что у вас нет ошибок в формате.

person jkasten    schedule 12.07.2016