問題タブ [apple-push-notifications]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - APNSPHPを使用したエラーの取得
これが私が使っているコードです
そして私はこれらのエラーを受け取ります
警告:stream_socket_client()[function.stream-socket-client]:14行目の/home/bryan/sendpush.phpに秘密鍵ファイル`apns-dev.pem'を設定できません
警告:stream_socket_client()[function.stream-socket-client]:14行目の/home/bryan/sendpush.phpにSSLハンドルを作成できませんでした
警告:stream_socket_client()[function.stream-socket-client]:14行目の/home/bryan/sendpush.phpで暗号を有効にできませんでした
警告:stream_socket_client()[function.stream-socket-client]:14行目の/home/bryan/sendpush.phpのssl://gateway.sandbox.push.apple.com:2195(不明なエラー)に接続できません
警告:fwrite():指定された引数は17行目の/home/bryan/sendpush.phpの有効なストリームリソースではありません
警告:socket_close()は、パラメーター1がリソースであると想定しています。19行目の/home/bryan/sendpush.phpにブール値が指定されています。
警告:fclose():指定された引数は20行目の/home/bryan/sendpush.phpの有効なストリームリソースではありません
私は実際にこれらのエラーにそれを理解しました
警告:stream_socket_client()[function.stream-socket-client]:コード1でSSL操作が失敗しましたOpenSSLエラーメッセージ:エラー:14094410:SSLルーチン:SSL3_READ_BYTES:sslv3オンラインの/home/bryan/PushService.phpでハンドシェイクの失敗を警告します27
警告:stream_socket_client()[function.stream-socket-client]:27行目の/home/bryan/PushService.phpで暗号を有効にできませんでした
警告:stream_socket_client()[function.stream-socket-client]:/home/bryan/PushService.phpオンラインのssl://gateway.sandbox.push.apple.com:2195(不明なエラー)に接続できません
iphone - iPhone APNS サンドボックスとまだ承認されていないアプリの本番環境
アプリがアプリ ストアに承認されるまで、実稼働 APNS を使用できないというのは本当ですか? サンドボックス証明書は問題なく使用できますが、本番環境では結果が得られません。
iphone - サンドボックスと本番環境の iPhone APNS デバイス トークン
デバイス トークンは、サンドボックス モードと運用モードでどのように異なりますか?
一部のデバイス トークンをプロダクション モードにロックアップしたと思いますが、それらを開発からプッシュすることはできません。
確認する方法についてのアイデアはありますか?
push-notification - 着信Appleプッシュ通知のポート番号
ipod touchがAppleプッシュ通知を受信するには、どのネットワークサービス、ポート番号、発信着信、またはその両方をネットワーク上で開く必要がありますか?
apnを送信するときに設定する送信ポート番号を知っています。唯一のことは、私の学校では、事実上すべての発信(および着信)ポートがブロックされており、その結果、APNが機能しないことです。私がネットワーク管理者と話し、どのポートのブロックを解除するかを彼に伝えた場合、彼はそうするだろうと確信しています。だから私の質問は:どのネットワークサービス、ポート番号、発信着信、またはその両方が、ipod touchがAppleプッシュ通知を受信するためにネットワーク上で開いている必要がありますか?
mysql - Objective Cを使用して、プッシュ通知やその他のユーザー設定用のデバイストークンをサーバー上のSQLテーブルに送信する方法
理想的には、POSTを使用してHTTPリクエストを、デバイストークンといくつかのユーザー定義設定を含むプッシュ通知サーバーに送信したいと思います。そこから、サーバー上にphpスクリプトを設定して、受信データを処理し、それをSQLテーブルに入力できます。これがそれを行う唯一の方法である場合、Objective CからHTTPリクエストを開始するにはどうすればよいですか?
iphone - iPhoneプッシュ通知接続頻度
Apple のドキュメントの状態
また、複数の通知にわたって APNs との接続を維持する必要があります。(APN は、迅速かつ繰り返し確立され、切断される接続をサービス拒否攻撃と見なす場合があります。)
これは実際にはどういう意味ですか?どのくらいの頻度で接続を開閉できますか? 送信するものが何もない場合でも、APN とサーバーの間の接続を常に維持することになっていますか?
iphone - 後で起動する場合、APNS 起動オプションはありませんか?
APNS 通知は正常に機能しますが、確認を求めたい奇妙な動作に気付きました。
「didFinishLaunchingWithOptions」または「didReceiveRemoteNotification」中に通知ペイロードを取得しています。「didFinishLaunchingWithOptions」でチェックしています
パラメータを導出するため。「didReceiveRemoteNotification」では、apsInfo は NSDictionary *apsInfo = [userInfo objectForKey:@"aps"]; から派生します。
これは正常に機能しますが、例外が 1 つあります。通知ポップアップを無視して [表示] ではなく [閉じる] をタップし、後でランチパッドからアプリを起動すると、apsInfo がなくなります。これは「設計による」ものですか?通知情報は、「表示」をクリックするか、通知情報ダイアログからアプリを起動した場合にのみ利用できますか?
よろしく
java - Java ソケットと切断された接続
ソケットがドロップされたかどうかを検出する最も適切な方法は何ですか? または、パケットが実際に送信されたかどうか?
Apple ゲートウェイ ( GitHub で入手可能)を介して Apple プッシュ通知を iPhone に送信するためのライブラリがあります。クライアントはソケットを開き、各メッセージのバイナリ表現を送信する必要があります。残念ながら、Apple は何の確認応答も返しません。接続を再利用して、複数のメッセージを送信することもできます。私は単純な Java Socket 接続を使用しています。関連するコードは次のとおりです。
場合によっては、メッセージの送信中または直前に接続が切断された場合。Socket.getOutputStream().write()
でも無事終了。TCPウィンドウがまだ使い果たされていないためだと思います。
パケットが実際にネットワークに到達したかどうかを確実に判断できる方法はありますか? 次の2つのソリューションを試しました。
socket.getInputStream().read()
250 ミリ秒のタイムアウトで追加の操作を挿入します。これにより、接続が切断されたときに失敗する読み取り操作が強制されますが、それ以外の場合は 250 ミリ秒ハングします。TCP 送信バッファ サイズ (例:
Socket.setSendBufferSize()
) をメッセージ バイナリ サイズに設定します。
どちらの方法も機能しますが、サービスの品質が大幅に低下します。スループットは 1 秒あたり 100 メッセージから、最大で 1 秒あたり約 10 メッセージになります。
助言がありますか?
アップデート:
説明の可能性を疑問視する複数の回答に挑戦。私が説明している動作の「単体」テストを作成しました。Gist 273786でユニットケースをチェックしてください。
どちらの単体テストにも、サーバーとクライアントの 2 つのスレッドがあります。クライアントがデータを送信している間、IOException がスローされずにサーバーが終了します。主な方法は次のとおりです。
[ちなみに、私は並行性テスト ライブラリも持っています。これにより、セットアップが少し良くなり、より明確になります。gist のサンプルもチェックアウトしてください]。
実行すると、次の出力が得られます。
iphone - Apple プッシュ通知サービス - 通知メッセージが iPhone デバイスに送信されない
C# を使用してプロバイダー コードを作成したところ、通知メッセージを iphone デバイスに正常に送信できました。しかし、昨日から、それは機能していません。また、APNS に正常に接続し、通知メッセージを送信しているようです。残念ながら、iPhone デバイスは通知メッセージを受信しません。iphoneデバイスのインターネット接続とデバイストークンを制御しました。他に何ができますか?前もって感謝します...
c# - iPhone Apple Push Notification Provider (apns-sharp) 使用時の SslStream.AuthenticateAsClient 例外
Apple プッシュ通知プロバイダー (apns-sharp) を使用すると、次の例外が発生します。
プッシュ通知は私の開発マシンでは機能しますが、Rackspace Cloud ホスティング内では機能しません。私は自分の開発環境で実行している正確な Rackspace Cloud のカスタム ミディアム トラスト構成を持っています。マシンなので、ここでは中程度の信頼が問題になることはありません。また、証明書ファイルは私の開発で機能するため、問題になることはありません。機械。
何か案は?
更新 #1:これは、Rackspace Cloud サーバー上にない可能性のある Entrust ルート サーバーと関係がありますか? apns-sharp コードにチェックインしたところ、証明書の検証が無視されているように見えますが、100% 確実ではありません。