MDMサーバーの簡単なデモをセットアップしました。メッセージタイプ、pushmagicトークン、APNトークン(base46として32バイト)およびunlocktokenを使用して初期plistを正常に回復できます。私の問題は、base64_decode php関数を使用してAPNトークンをデコードしようとすると、ジャンク/ガベージ文字で返されることです。他のphp関数を使用してAPNトークンをデコードする必要がある場合、何か助けはありますか?
ありがとう、ウイルス。
MDMサーバーの簡単なデモをセットアップしました。メッセージタイプ、pushmagicトークン、APNトークン(base46として32バイト)およびunlocktokenを使用して初期plistを正常に回復できます。私の問題は、base64_decode php関数を使用してAPNトークンをデコードしようとすると、ジャンク/ガベージ文字で返されることです。他のphp関数を使用してAPNトークンをデコードする必要がある場合、何か助けはありますか?
ありがとう、ウイルス。
トークンはまさにトークンです。base64_decode で取得しているのは単なるバイト配列であり、意味のあるデータを表示したり、文字列として出力したりすることはできません。データベースにバイナリ形式で保存するだけです。このトークンは、後で保留中のコマンド通知を APNS に送信するときにターゲット デバイスを識別するために必要になります。実際には、アプリのプッシュ トークンと同じです。
デバイスに対する通知の内容は1に、APNS プロトコルは [2] に記載されています。
参考文献
これに追加するだけです。送信通知を抽象化するために別のライブラリを使用している場合、token
64 文字を期待することがあります。PHPを使用すると、これを行うことができます$token = bin2hex(base64_decode($deviceToken));
ただし、token
がバイナリ形式でデータベースに格納されている場合は、 をbase64_decode
省略できます。以下は、Postgres で PHP PDO を処理する場合に必要なものです。
bin2hex(stream_get_contents($deviceToken))