2017-07-09 3 views
0

PHPのREST APIを通じて特定のユーザーに通知を送信できません。 私はOneSignalのすべてのユーザーからPlayer IDの値を取得します。このコードは、すべてのデバイスにではなく、単一のユーザーに通知を送信することにより、うまく機能するJavaScriptコードCordovaを使用した特定のユーザーへのOneSignal通知

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

    window.plugins.OneSignal.setSubscription(true); 

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); 
?> 

答えて

1

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

関連する問題