특정 ID를 공유하는 모든 장치를 가져 오는 방법이 있습니다. 이러한 장치 UID의 Foreach는 easyAPN 클래스를 사용하여 APN (Apple Push Notification)을 보내려고합니다.정수가 아닌 ID ... EasyAPNS
문제가있는 방법은 $ apns-> newMessage ($ id)입니다.
$ id에 유효한 정수를 전달하지 않을 것으로 생각됩니다.
은 $ 이드 같은 배열 그래서 어레이 ([0] => 1)
I는 같은 어레이의 바로 값을 전달하려고 그래서 $ apns->은 newMessage ($ 자료 [0]) .
상관없이 내가 뭘 .. 나는이 오류가 계속 ...
"주의 사항 : ID가 정수가 아닌 하였다 1) Messages_model :: send_apns -> 파일 :. sendMessage.php (라인 28) 2) APNS :: queueMessage -> File : messages_model.php (line 195) 3) APNS :: _ triggerError -> 파일 : class_APNS.php (599 줄) "
여기 내 방법입니다 ... 알려주세요. 나는 $ id에 잘못 갔다.
function send_apns($data)
{
include 'apn_classes/class_DbConnect.php';
include 'apn_classes/class_APNS.php';
$message = new Messages_model();
$db = new DbConnect();
$db->show_errors();
$apns = new APNS($db);
//get uid's for aid
$sql = "SELECT `devices`.`uid` FROM `devices` WHERE `devices`.`aid` = '".$data['target']."'";
//echo $sql;
$query = mysql_query($sql);
if(mysql_num_rows($query))
{
while($uid_data = mysql_fetch_array($query))
$uids[] = array(
"uid" => $uid_data['uid']
);
}
//make sure there is a uid
if(!empty($uids))
{
//check the device apn pid
foreach($uids as $uid)
{
$sql = "SELECT `apns_devices`.`pid` FROM `apns_devices` WHERE `apns_devices`.`deviceuid` = '".$uid['uid']."'";
//echo "$sql";
$query = mysql_query($sql);
if(mysql_num_rows($query) > 0)
{
while($pid_data = mysql_fetch_array($query))
{
$pids[] = array(
"pid" => $pid_data['pid'],
);
if(!empty($pids))
{
foreach ($pids as $pid)
{
$id = array($pid['pid']);
print_r($id);
//Send APN
$apns->newMessage($id[0]);
$apns->addMessageBadge(128);
$apns->addMessageAlert($data['message']);
$apns->addMessageSound('chime');
//$apns->addMessageCustom('acme2');
$apns->queueMessage();
$apns->processQueue();
}
}
}
}
}
}
else
{
echo "Device Does not Exist";
}
}
가 완벽하게 작동! 감사! – Peter