2015-10-19 14 views
0

我正在使用php客戶端向城市飛艇發送通知請求。 對於我已經提到下面的鏈接。
https://support.urbanairship.com/entries/70144047-Simple-PHP-API-v3-examples
在受衆設置爲
如何在城市飛艇上設置多個觀衆

$push = array("audience"=>"all", "notification"=>$notification, "device_types"=>$platform); 

我要發通知,以便選擇iOS和Android設備。 爲此,我爲iOS和Android創建了一個數組。 是這樣的。

$iosDevices = array(); 
array_push($iosDevices, "Channel_id_for_iOS_device_1"); 
array_push($iosDevices, "Channel_id_for_iOS_device_2"); 
$main__channel['ios_channel'] = $iosDevices; 
$push = array("audience"=> $main__channel,"notification"=>$notification, "device_types"=>$platform); 

這工作得很好,但是當我嘗試添加的Android的通道ID陣列它不允許我。

$androidDevices = array(); 
array_push($androidDevices, "Channel_id_for_android_device_1"); 
array_push($androidDevices, "Channel_id_for_android_device_2"); 
$main_channel['android_channel'] = $androidDevices; 
$push = array("audience"=> $main__channel,"notification"=>$notification, "device_types"=>$platform); 

我想通知發送到iOS和Android設備的ID(選擇其一)。
我想將這些數組傳遞給觀衆。有沒有辦法做到這一點?

響應

{ 「OK」:假的, 「錯誤」: 「無法解析請求 身體。」, 「ERROR_CODE」:40210, 「細節」:{ 「錯誤」:」指定多個 類型的選擇器('android_channel'爲 意外)「,」path「:」audience.android_channel [0]「,」location「:{」line「:1,」column「:127}}, 「operation_id」: 「2b00a2a0-73cd-11e5-a4ba-90e2ba2901f0」} GOT從服務器否定響應:40

回答

1

得到了城市飛艇支持的答覆。下面是答案。

"audience": { 
     "OR": [ 
     { "ios_channel": [ 
      "Channel_id_for_iOS_device_1", 
      "Channel_id_for_iOS_device_1" 
     ] }, 
     { "android_channel": [ 
      "Channel_id_for_android_device_1", 
      "Channel_id_for_android_device_2", 
      "Channel_id_for_android_device_3" 
     ] } 
     ] 
    } 

我測試了它,它適用於iOS和Android。