社内でMDMソリューションを導入しています。MDM ベンダーとして登録し、このサイトの手順に従い、最終的な APNS 証明書を取得しました。また、デバイスにペイロードを送受信できるバックエンド サーバーを指す MDM プロファイルをデバイスにインストールしました。
次に、java-apnsライブラリを使用してサンプル通知を送信しました。以下は、同じサンプルコードです。
ApnsService service =
APNS.newService()
.withCert("test.p12", "xxxxxxx")
.withProductionDestination()
.build();
String pushMagic = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx";
String mdmPayload = APNS.newPayload().mdm(pushMagic).build();
service.push(pushMagic, mdmPayload);
上記の実行は正常に行われます。しかし、デバイスは通知を受け取りません。誰かがこれに光を当てることができますか? 前もって感謝します。
更新: 実装でいくつかの問題が見つかりました。プッシュ API は、デバイス トークンとペイロードを受け取ります。プッシュ API のトークンとして pushmagic を誤って使用していました。また、デバイスは、最初のチェックイン時にデバイス トークンを base64 形式で送信します。そのため、ヘキサ形式に変換してプッシュ API で使用する必要があります。
この 2 つの変更により、私たちは一歩先を行っています。現在、フィードバック サービスは、対応するデバイスが非アクティブであることを示すメッセージを返しています。プロファイルの再インストールを試み、最新のプッシュ マジックとデバイス トークンを使用しました。それでもフィードバック サービスから同じメッセージが返されます。