【问题标题】:BlackBerry Push Service SDK - BPS server URLBlackBerry Push Service SDK - BPS 服务器 URL
【发布时间】:2013-01-29 07:47:12
【问题描述】:

为了了解 BlackBerry 中的 Push 服务是如何实现的,我安装了 Push Service 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”和“Push Initiator 应用程序 URL”。我收到了来自 BlackBerry 的凭据详细信息,其中包含 PPG Base Url 作为“cpXXX.pushapi.eval.blackberry.com”,其中 XX 需要替换为 CPID(内容提供商 ID)。是否要为“BPS 服务器 URL”和“Push Initiator 应用程序 URL”键入此链接?我确实输入了这个并在“注册”上收到了上述错误。

请指导。

【问题讨论】:

    标签: blackberry push-notification push blackberry-push


    【解决方案1】:

    您应该已经收到一封邮件,其中包含您的服务器应用程序和黑莓客户端应用程序的凭据。对于客户端应用程序,它们应如下所示:

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

    如您所见,App id 有两部分。破折号前的前缀是您的 CPID,其余的是 id。然后我们有一个 URL,我们需要用 CPID 替换 XXX(请注意,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 回调检查注册状态。

    【讨论】:

    • 解释得很好。只是我正在寻找的答案,以消除我对基本 URL 的疑虑。谢谢
    • 关于 PushApplicationDescriptor.SERVER_TYPE_BPAS 或 PushApplicationDescriptor.SERVER_TYPE_NONE>;我读到客户端推送应用程序应指定服务器类型以执行注册。如果服务器不跟踪应用程序,例如没有 BPAS 模块的 BlackBerry Enterprise Server,则应使用 PushApplicationDescriptor.SERVER_TYPE_NONE 值。在这种情况下,没有注册,客户端推送应用程序立即开始监听推送消息。我需要监听推送消息(接收)。然后我应该使用 server_type_none 吗?
    • 在那种情况下,我认为是的。 (我一直使用 BIS 推送服务器,所以我总是通过 SERVER_TYPE_BPAS 作为参数)
    猜你喜欢
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2021-02-10
    • 2020-01-23
    • 2014-05-02
    相关资源
    最近更新 更多