3

カスタムサウンドでプッシュ通知を送信したいのですが、いつもしようとしていますが、デフォルトのものしか聞こえません。

私のサウンドは wil.caf という名前で、xcode プロジェクトに含まれています。

これは、プッシュ メッセージを起動するための私の php スクリプトです。

<?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);

}

?>

誰でも私を助けることができますか?

4

1 に答える 1

6

サンプル ペイロードは、再生するサウンドとして「デフォルト」を指定しています。カスタム サウンドを再生する場合は、サウンド ファイルがアプリケーション バンドルに含まれていることを確認し、次のように指定します (Apple の例の 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

于 2012-05-08T10:42:49.313 に答える