2012-04-25 3 views
3

사용자 지정 사운드와 함께 알림을 보내려고하지만 항상 시도합니다. 기본값 만 듣습니다.APNS 사용자 지정 사운드

내 소리는 wil.caf로, 내 xcode 프로젝트에 있습니다.

이 푸시 메시지 화재 내 PHP는 sript입니다 :

<?php 

$message = $_GET["message"]; 

$deviceToken = $_GET["token"]; 


$devideToken = dechex ($deviceToken); 
// Payload erstellen und JSON codieren 

$payload['aps'] = array('alert' => $message, 'badge' => 0, 'sound' => 'default'); 
$payload = json_encode($payload); 
$apnsHost = 'gateway.push.apple.com'; 

$apnsPort = 2195; 

$apnsCert = 'apsDevBundle2.pem'; 



// Stream erstellen 

$streamContext = stream_context_create(); 

stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert); 



$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext); 

if ($apns) 

{ 

    // Nachricht erstellen und senden 

    $apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)).$payload; 

    fwrite($apns, $apnsMessage); 



    // Verbindung schliessen 

    fclose($apns); 

} 

else 

{ 

    echo "Fehler!"; 

    var_dump($error); 

    var_dump($errorString); 

} 

?> 

아무도 나를 도울 수 있습니까?

답변

6

샘플 페이로드가 재생할 사운드로 '기본값'을 지정하고 있습니다. 사용자 정의 사운드를 재생하려면, 사운드 파일은 응용 프로그램 번들에 있는지 확인하고 다음과 같이 (파일을 사운드 bingpong.aiff 애플의 예를 사용)을 지정

$payload['aps'] = array('alert' => $message, 'badge' => 0, 'sound' => 'bingbong.aiff' 

전체 APNS 문서 : http://developer.apple.com/library/ios/#DOCUMENTATION/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW9

관련 문제