2012-04-25 4 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 Appleの例を使用して)、それを指定します。

$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

関連する問題