2017-02-20 6 views
2

WebアプリケーションにOneSignal通知が統合されていますが、正常に動作しますが、問題は特定のユーザーにのみ通知を送信する必要があることです。私は電子メールを選択し、通知を送信します。そのためOneSignalはセグメントを提供します。セグメントを作成して電子メールIDを入力すると、そのセグメントのユーザーは0人になります。電子メールIDを持つユーザーへのOneSignal通知

私の質問セグメントに入力した電子メールIDはどのように比較され、0人のユーザーが返されますか?

答えて

1

代わりにタグを使用してください。メッセージを送信する相手の場合は、{email:[email protected]}のようにタグを設定します。

あなたの通知送信コードで、タグに基づいて人に送信してください。例えば

$content = array(
     "en" => "hello jimmy" 
     ); 

    $fields = array(
     'app_id' => <your_ID_here> , 
     'filters' => array(array("field" => "tag", "key" => "email", "relation" => "=", "value" => "[email protected]")), 
     'data' => array("foo" => "bar"), 
     'contents' => $content 
    ); 

    $fields = json_encode($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 '.$_SESSION['global_rest_id'])); 
    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); 
関連する問題