0

我已经想出了如何通过两种方式使用 WonderPush 发送推送通知:

#1

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://management-api.wonderpush.com/v1/deliveries');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);

$fields = array(
  'accessToken' => "xxx",
  'targetIds' => "123",
  'campaignId' => "123abc",
  'notification' => array(
    'alert' => array(
      'title' => "Some title",
      'text' => "Some text"
    )
  )
);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));

$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

#2:

require_once('inc/WonderPush/init.php');
$wonderpush = new \WonderPush\WonderPush('xxx', 'yyy');
$response = $wonderpush->deliveries()->create(
    \WonderPush\Params\DeliveriesCreateParams::_new()
        ->setTargetSegmentIds('@ALL')
        ->setTargetUserIds('123')
        ->setCampaignId('123abc')
        ->setNotification(\WonderPush\Obj\Notification::_new()
            ->setAlert(\WonderPush\Obj\NotificationAlert::_new()
                ->setTitle('Some title')
                ->setText('Some text')
            ))
);

第一种方法使用预先创建的“活动”,其中包括当用户单击通知时的自定义 URL 以及带有可能其他 URL 的按钮。但是,我不能即时更改任何内容,即没有自定义标题、文本或 URL。

第二种方法是由代码创建的,在那里我可以有自定义标题和文本,但 URL 来自 WonderPush 中的设置,我根本无法制作任何按钮。

有人可以帮我用我的任何一个例子(或一种全新的方式)做我想做的事吗?

4

1 回答 1

0

基本上有两种方法可以做到这一点:

  1. 您可以使用该notificationOverride参数在仪表板的活动中填充的通知上应用部分差异。
  2. 您可以{{someParameter}}在仪表板中配置的通知中使用,并在使用 触发交付时填写这些参数notificationParams={"someParameter": "someValue"}

最好的,

于 2021-03-19T17:01:04.777 回答