2

Node.js BluemixMobileFirst サービス (AMA、Cloudant、Push iOS 8) を使用してバックエンドと通信するネイティブ iOS Swift アプリがあり、1 か月以上正常に機能しました。数日前、iOS アプリから新しいデバイスを登録できなくなったことに気付きました(IMFPushClient.sharedInstance().registerDeviceToken() は 404 で応答しました)。

最近、MobileFirst サービスに変更が加えられたこと (例えば、さまざまなプッシュ・サービスが 1 つにマージされた) を知っていたので、それらのサービスを再バインドする必要があると考えました。これで登録の問題は解決しましたが、それ以来、プッシュ通知を受け取ることができません。

これは私が試したものです:

  • 「MobileFirst Services Starter」ボイラープレートを使用して、まったく新しいバックエンドを作成しました
  • 「 Bluelist」サンプル アプリの最新バージョンを複製し、この新しいバックエンド用に構成しました
  • バンドル IDの新しいAPNs 証明書を発行し、プッシュ サービスにアップロードしました
  • デバイスのプッシュ通知に正常に登録されました。/devices REST APIを呼び出してこれを確認しました (基本的に、これらの手順に従いました)。

REST APIを使用してメッセージを送信するたびに(ベアラー トークン アプローチが新しい "appSecret" ヘッダーに置き換えられたことがわかった後)、HTTP 202を受け取りますが、通知は届きません。同様に、サービスのダッシュボードからメッセージを送信しようとすると、成功メッセージが表示されますが、通知が届きません。

私が注意したことの 1 つは、. サービスへのp12証明書なので、これは証明書の問題ではないかと思いますが、これを追跡する方法がわかりません。また、「古い」MobileFirst サービスである IIRC では、バンドル ID とモバイル・アプリのバージョンを提供する必要がありましたが、これは現在はなくなっているようです。どんな助けでも大歓迎です。

4

1 に答える 1

2

サンドボックス環境がサンドボックス .p12 ファイルを使用していることを確認することで、上記の問題を解決することができました。この設定を確認するには、 IBM プッシュ通知ダッシュボードに移動し、「構成」タブをクリックします。

ここに画像の説明を入力

ここで、アップロードした .p12 ファイルの証明書の種類を確認できます。サンドボックス環境を使用している場合は、サンドボックスとしてリストされていることを確認してください。本番環境についても同様です。

于 2015-10-13T12:41:20.947 に答える