javascript - 使用 Cordova 向特定用户发送 OneSign 通知

标签 javascript cordova onesignal

我无法通过 PHP 中的 REST API 向特定用户发送通知。 我从 OneSignal 中的所有用户获取了玩家 ID 的值。

PHP 代码

<?php 

$content = array(
"en" => "messaggio test"
);

$fields = array(
'app_id' => "xxxxxxxx",
'included_segments' =>  array("All"),
'data' => array("foo" => "bar"),
'filters' => array(array('field' => 'tag', 'key' => 
'userId', 'relation' => '=', 'value' => 'xxxxxxxxxxx')),
'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 xxxxxxxxxxxxxxx'));
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);
?>

JavaScript代码

    window.plugins.OneSignal
    .startInit("xxxxxxxxxxx")
    .handleNotificationOpened(notificationOpenedCallback)
    .endInit();

    window.plugins.OneSignal.setSubscription(true);

此代码可以很好地向所有设备发送通知,但不能向单个用户发送通知。

最佳答案

window.plugins.OneSignal.getIds(function(ids) {
    var device_id = ids.userId;
});

关于javascript - 使用 Cordova 向特定用户发送 OneSign 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44999946/

相关文章:

javascript - 如何使用reactJS进行过滤?

javascript - 需要帮助才能开始使用 JSNetworkX

javascript - 在任意一天的任意时区获取日期的本地时间表示 - 考虑夏令时

android - Cordova 初始屏幕无法在 Android 或 iOS 中加载

ios - 如何自定义注册远程推送通知时的弹出消息

javascript - 无法确定任务 ':react-native-onesignal:compileDebugAidl' 的依赖关系

javascript - Express.js 文件上传

windows-phone-8 - Windows Phone 8 cordova视口(viewport)高度问题

android - Cordova 为 android 级 api 20 构建

android - phonegap + Onesignal 和 minSdkVersion 错误