2016-04-21 117 views
2

我正在使用一個信號發送Android應用程序的推送通知。我的問題是如何使用One Signal + PHP + Server API發送推送通知?

如何使用服務器休息API設置發送推送通知?

+0

在他們的網站上有一個PHP示例:https://documentation.onesignal.com/v2.0/docs/notifications-create-notification。那是你在找什麼? – Schore

+0

offcourse,根據我做的文件,但它顯示這樣的錯誤 – user3544256

+0

JSON發送:{「app_id」:「eec33e8e-5774-4b74-9aae-37370778c4b2」,「included_segments」:[「All」],「send_after」:「 2014年5月02日00:00:00 GMT-0700(PDT)「,」data「:{」foo「:」bar「},」isAndroid「:true,」contents「:{」en「:」 }}收到的JSON:{「allresponses」:「{\」id \「:\」\「,\」recipients \「:0,\」errors \「:[\」All included players not subscribe \「] \「warnings \」:[\「如果您希望向Android播放器發送消息,您必須在OneSignal設置中配置Android通知。」}}「} – user3544256

回答

4
<?PHP 
function sendMessage(){ 
    $content = array(
     "en" => 'Testing Message' 
     ); 

    $fields = array(
     'app_id' => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", 
     'included_segments' => array('All'), 
     'data' => array("foo" => "bar"), 
     'large_icon' =>"ic_launcher_round.png", 
     '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 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')); 
    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); 

    return $response; 
} 

$response = sendMessage(); 
$return["allresponses"] = $response; 
$return = json_encode($return); 
print("\n\nJSON received:\n"); 
print($return); 
print("\n"); 
?> 
2

我看到你設置了isAndroid = true,但OneSignal返回一個錯誤,顯示ID爲eec33e8e-5774-4b74-9aae-37370778c4b2的應用程序沒有啓用Android通知。

請確保您的應用ID是正確的,如果是,則在OneSignal設置中啓用Android通知。