1

BlackBerry でのプッシュ サービスの実装方法を理解するために、プッシュ サービス SDK をインストールし、Push_Service_SDK-Getting_Started_Guide に従っています。この手順を徹底的に実行すると、アプリから自分自身を「登録」すると、次のエラーが発生しました。

Request to register failed. Caused by java.io.IOException: Network operation [Subscribe] failed. Make sure that Content Provider URL is accesible. 

誰でもこれを案内してもらえますか。詳細を入力するときは、「BPS サーバー URL」と「プッシュ イニシエーター アプリケーション URL」を指定する必要があります。BlackBerry からクレデンシャルの詳細を受け取りました。これには、PPG ベース URL が「cpXXX.pushapi.eval.blackberry.com」として含まれており、XX を CPID (コンテンツ プロバイダー ID) に置き換える必要があります。このリンクは、「BPS サーバーの URL」と「プッシュ イニシエーター アプリケーションの URL」をキー入力するものですか? これを入力すると、「登録」で上記のエラーが表示されました。

ガイドしてください。

4

1 に答える 1

2

サーバーアプリとブラックベリークライアントアプリの両方の資格情報が記載されたメールを受信して​​いるはずです。クライアントアプリの場合、次のようになります。

    Application ID: <CPID(4 chars)>-<id(35 chars)>
    PPG Base URL: http://cpXXX.pushapi.eval.blackberry.com
    Push Port: <port(5 chars)>

ご覧のとおり、アプリIDには2つの部分があります。ダッシュの前のプレフィックスはCPIDで、残りはIDです。次に、XXXをCPIDに置き換える必要があるURLがあります(CPIDは通常4桁の数字であるため、XXXXをプレースホルダーとして使用した方がよいことに注意してください)。最後に、最大5桁のポート番号。

これらのパラメーターを使用して、BBアプリで次のようにコーディングします。

    String id = "<your full app id here>";
    String url = "http://cp<CPID>.pushapi.eval.blackberry.com"; //Make sure it is http and not https, and check you have replaced <CPID> with the appid prefix.
    int port = <port>;
    byte serverType = <PushApplicationDescriptor.SERVER_TYPE_BPAS or
                        PushApplicationDescriptor.SERVER_TYPE_NONE>;

    ApplicationDescriptor descriptor = ApplicationDescriptor.currentApplicationDescriptor();
    PushApplicationDescriptor pushDescriptor = new PushApplicationDescriptor(id, port, url, serverType, descriptor);

    // This is how we would register the client app:
    PushApplicationRegistry.registerApplication(pushDescriptor);

その行を実行した後、すべてが正常である場合(登録には時間がかかり、いくつかの接続が確立されます)、呼び出しPushApplicationRegistry.getStatusまたはコールバックを介して登録ステータスを確認できonStatusChangeます。

于 2013-01-29T10:52:48.267 に答える