PushService: registerToLaunch

Hey guys,.

I implemented the Push services in my application and I came across a bit of a back of a donkey. I used the SimplePushClient community as a base and was able to receive and treat the Push messages. However, I can only receive Push messages when the application runs. As soon as I close the application, I can no longer receive grows.

I run registerToLaunch, once I managed to create a channel, and I received a confirmation that app fits with success, but I can say that it is working properly.

Here is my code of createChannelCompleted slot:

void PushManager::createChannelCompleted(const bb::network::PushStatus& status,
        const QString& token) {
    Q_UNUSED(token);

    if (!status.isError() && m_pushService) {
        qDebug() << ("Channel creation completed successfully");
        m_pushService->registerToLaunch();
        emit(createChannelCompletedSignal(status, token));
    } else {
        qDebug() << ("Channel creation failed: " + status.errorDescription());
    }
}

And here is the crack for registerToLaunchCompleted:

void PushManager::registerToLaunchCompleted (const bb::network::PushStatus &status){
    if (!status.isError() && m_pushService) {
        qDebug() << ("Register creation completed successfully");
    } else {
        qDebug() << ("Register creation failed: " + status.errorDescription());
    }
}

The output when run gives me the confirmation that the registerToLaunch was successful:

Debug: message: @ipc
MSG:nRegisterToLaunchComplete
ID::registerToLaunch_2340

Debug: err is 0
Debug: No dat section
Debug: Registry creation completed successfully

So it seems to me that my code is healthy and everything works fine, but as soon as I close the application I can no longer receive Push messages.

Someone has an idea of what's not here?

Thanks for any possible help,

-Jeff Francom

If onInvoked is not called when the application is launched from a helping hand then the likely cause is that the slot connection is not made early enough in the app. Are you doing anything (setting up user interface, connecting BBM etc.) before you configure the connection of onInvoked slot?

Tags: BlackBerry Developers

Similar Questions

  • PushService.create fails with error 500 INTERNAL_ERROR - Eval

    Howdy,

    I use WebWorks 1.0, develop with an account pushing EVAL. It worked fine yesterday, but today, my unchanged code now returns error 500 in onFail is recalled.

    blackberry.push.PushService.create (options, onSuccess, onFail, onSIMChange, onPushReady);

    public static number INTERNAL_ERROR = 500

    Hi John,.

    This issue should now be resolved. I tested and was able to record successfully against EVAL now.

    Let me know if you encounter other problems.

    See you soon,.

  • Why registerToLaunch and unRegisterToLaunch?

    Hello

    We develop push-enabled applications because we want applications and users in order to receive push messages. Currently, the BlackBerry 10, in order to receive push messages, we have TO call registerToLaunch(). Why not BlackBerry appealed this default? In other words, are there cases of use there is no need to call registerToLaunch() and continues to receive push messages?

    see you soon,

    Hi Tom,

    We wanted the developer to explicitly indicate that they want to launch their application when comes a new impetus and their application is not running.

    There is a possible use case where you don't want your application to receive push them when it is actually running (i.e. launched upward by the user).  If the application is closed and shoot is sent, they would have fallen for this use case.

    You could say that the use of 'registerToLaunch' case is more common, but even once, we wanted to developers to make this call explicitly to confirm that's the behavior they want.

    Thank you

    Matt

  • There is no such thing as PushService createChannelCompleted signal

    Dear BlackBerry developers

    I am building an active push application. So I started with the PushService class to create a session and a channel and other things. Because I need the token server gives to my application, I need to connect with the createChannelCompleted (const bb::network:ushStatus status, const QString & token) signal. This signal is copy pasted from the documentation on here http://developer.blackberry.com/cascades/reference/bb__network__pushservice.html.

    But I always get the following error message

    Object::connect: No such signal PushManager::createChannelCompleted

    I tried all the ways to connect with the signal

    connect(pushService, SIGNAL(createChannelCompleted(const bb::network::PushStatus&, const QString&)), this, SIGNAL(createChannelCompleted(const PushStatus&, const QString&)));
    

    But I can't get it right, apparently.

    Thanks in advance!

    Hello

    This should work:

    QObject::connect(service, SIGNAL(createChannelCompleted(bb::network::PushStatus,QString)),
                         this, SLOT(onCreateChannelCompleted(bb::network::PushStatus,QString)));
    

    Statement of slot: / / upd: fixed a statement of slot

    void onCreateChannelCompleted(const bb::network::PushStatus &status, const QString &token);
    

    Your statement should probably also work if you replace second SIGNAL() SLOT() and use a full PushStatus in the slot. But for const const reference and & can be left inside the SIGNAL() and SLOT() statements. MOC will remove them automatically anyway.

  • Push the web application through UrbanAirship

    I want to use the urban airship to send notifications of type push to a web application. I found an example on https://github.com/blackberry/Cascades-Community-Samples/tree/master/UrbanAirshipClient but it is an application c / c++. Is it possible to grow a web application via urban airship?

    Hi, it is possible.

    Urban airship servers simply push Push BlackBerry servers that relay this push to the end-user device. This means that the only extra step that is really needed is, when registering with the push service, to register as urban airship witih as well as the link between urban airship, Push BlackBerry server and end-user device exists.

    Registration for the Push Service is essentially the same. You must create a PushService object:

       blackberry.push.PushService.create(
            {
                invokeTargetId: INVOKE_TARGET_ID,
                appId: BLACKBERRY_PUSH_APPLICATION_ID,
                ppgUrl: BLACKBERRY_PUSH_URL
            },
            createPushServiceSuccess,
            createPushServiceError,
            simChangeCallback,
            pushTransportReadyCallback
        );
    

    On createPushServiceSuccess, you create the channel by the usual method.

    /* We created the PushService instance. */
    function createPushServiceSuccess(service) {
        /* Store our PushService object. */
        pushService = service;
    
        /* ...other actions here potentially... */
    
        /* Create channel to receive pushes. */
        pushService.createChannel(createChannelCallback);
    }
    

    And finally, on the creation of the channel, we will register with urban airship.

    /* When a channel is attempting to be created, this will trigger. */
    function createChannelCallback(result, token) {
        var xhr;
        if (result === blackberry.push.PushService.SUCCESS) {
            /* On success, we'll register with Urban Airship. */
            xhr = new XMLHttpRequest();
            xhr.open('PUT', HTTPS_GO_URBANAIRSHIP_COM_API_DEVICE_PINS + token, true);
            xhr.onload = function () {
                console.log('Urban Airship: ' + this.response);
            };
            xhr.setRequestHeader('Authorization', 'Basic ' + URBAN_AIRSHIP_APPENCODED);
            xhr.send();
        } else {
            console.log('createChannelCallback: ' + result);
        }
    }
    

    Above, we will ensure that the channel was created successfully. The xhr request is purely related to urban airship and is the extra piece that we need. We use a few defined constants (previously).

    • HTTPS_GO_URBANAIRSHIP_COM_API_DEVICE_PINS is a string matches the URL of urban airship registration default PIN.
    'https://go.urbanairship.com/api/device_pins/'
    

     

    • URBAN_AIRSHIP_APPENCODED is a combination of two other channels; coded using window.btoa ().
    window.btoa(URBAN_AIRSHIP_APPKEY + ':' + URBAN_AIRSHIP_APPSECRET);
    
    • URBAN_AIRSHIP_APPKEY and URBAN_AIRSHIP_APPSECRET are obtained from urban airship console when you configure your application as follows.

    Finally, the last piece, you need to do is provide your credentials to Push BlackBerry in the console of airship urban itself. It is important to use the full URL including your CPID when you fill out this information. This is information which is sent to you by BlackBerry when you sign up for credentials EVAL or PROD.

    Beyond that, the implementation of the push, summoning, etc. would be all follow the regular WebWorks Push Application structure.

  • WebWorks Push Client

    Hello

    I'm sort of stuck in the logical process to receive a push message in an application webworks. The sample application works fine and I can receive messages with him. I guess I understand something wrong.

    What I understand so far is:

    1. create pushservice

    2. create the event listener

    3 activate the application to launch on push

    4 create the channel

    and everything should be good... or not? Lets talk about code:

    config. XML (part)

    
        post_notification
        _sys_use_consumer_push
        read_device_identifying_information
    
    
        APPLICATION
        
            bb.action.PUSH
            application/vnd.push
        
    
    

    JavaScript :

    function createPushService() {
      try {
    
            ops = { invokeTargetId : 'bert.pushcapture.invoke.push',
                    appId : 'XXX-XXXX...',
                    ppgUrl : 'http://cpXXX.pushapi.na.blackberry.com'
            };
    
            blackberry.push.PushService.create(ops, successCreatePushService, failCreatePushService, onSimChange, onPushTransportReady);  
    
      }
      catch (err) {
        alert(err);
      }
    } 
    
    function successCreatePushService(service) {
        //alert("Created Push service");
        // check this **bleep**
        pushService = service;
        blackberry.event.addEventListener("invoked", onInvoke);
        launchApplicationOnPush(true, launchApplicationCallback);
    }
    
    function failCreatePushService(result) {
        alert("Error: Received error code (" + result + ") after " + "calling blackberry.push.PushService.create.");
    }
    
    function onPushTransportReady(result) {
        if (result == blackberry.push.PushService.SUCCESS) {
                    alert("successful Configuration");
            } else {            
    
                if (result == blackberry.push.PushService.INTERNAL_ERROR) {
                    alert("Error: An internal error occurred while calling launchApplicationOnPush. " + "Try restarting the application.");
                } else if (result == blackberry.push.PushService.CREATE_SESSION_NOT_DONE) {
                    alert("Error: Called launchApplicationOnPush without an " +
                    "existing session. It usually means a programming error.");
                } else {
                    alert("Error: Received error code (" + result + ") after " + "calling launchApplicationOnPush.");
                }
            }
    }
    
    function launchApplicationCallback(result) {
        if (result == blackberry.push.PushService.SUCCESS) {
                    alert("successful Configuration");
            } else {
    
                if (result == blackberry.push.PushService.INTERNAL_ERROR) {
                    alert("Error: An internal error occurred while calling launchApplicationOnPush. " + "Try restarting the application.");
                } else if (result == blackberry.push.PushService.CREATE_SESSION_NOT_DONE) {
                    alert("Error: Called launchApplicationOnPush without an " + "existing session. It usually means a programming error.");
                } else {
                    alert("Error: Received error code (" + result + ") after " + "calling launchApplicationOnPush.");
                }
            }
    }
    
    function onSimChange() {
        alert("SIM card is changed!");
    }
    
    function createChannelCallback(result, token) {
        if (result === blackberry.push.PushService.SUCCESS) {
            alert("channel created");
        } else if (result === blackberry.push.PushService.INTERNAL_ERROR) {
            alert("channel failed");
    
        }
    }
    
    function onInvoke (invokeRequest) {
            if (invokeRequest.action != null && invokeRequest.action == "bb.action.PUSH") {
                if (pushService == null) {
                    setTimeout(function() { onInvoke(invokeRequest); }, 750);
                } else {
                    var pushPayload = extractPushPayload(invokeRequest);
                    pushNotificationHandler(pushPayload);
                }
            }
    }
    
    function pushNotificationHandler (pushpayload) {
        var contentType = pushpayload.headers["Content-Type"];
        if(!contentType) {
            contentType = pushpayload.headers["content-type"];
            if(!contentType) {
                contentType = "text/plain";
            }
        }
    
        db.transaction(
            function(tx) {
                tx.executeSql("INSERT INTO Data (title) values(?)", [ "PUSH"], null);
            });
    
        //alert("PUSH RECEIVED");
        pushpayload.acknowledge(true);
    
    };
    

    I call following functions thanks to a button:

    1 createPushService();

    2 pushService.createChannel (createChannelCallback);

    and I get a 'alert ("channel created");"and it means to me that the PushService and the channel was created successfully.

    Given that I have create an event for a 'called' via 'blackberry.event.addEventListener ("called" onInvoke),"the"onInvoke"function should be called when receives a new thumb. Fix?

    Unfortunately it does not work and I get no response or error.

    Any help or advice is appreciated. I'm really stuck here...

    The best

    bert2002

    Hello

    A couple of things to ask you.  Not sure if they are related to your problem, but it's worth a shot.

    1. you call extractPushPayload below when dealing with a thrust to invoke.  But, when this function is defined?  You must call pushSevice.extractPushPayload somewhere.

    2. you should not the setTimeout function need more if you add the event listener for the "called" event in your call to success blackberry.push.PushService.create.  Our sample no longer use setTimeout.

    3. in your code, you call launchApplicationOnPush and createChannel every time.  You only really need to call them once.  After graduating launchApplicationonPush and reminders of createChannel successfully the first time, then you are ready to receive the impulses.  You just do it again if you make a destroyChannel somewhere.  Do you need to call blackberry.push.PushService.create each time however.

    4. are you setting the tag in your config.xml file?

    Hope that helps,

    Matt

  • Blackberry10 pushwoosh - is not variable: blackberry

    I'm also looking for a solution to this.

    I implemented the plugin pushwoosh on Android and iOS, but the blackberry10 seems to be quite a struggle.

    I followed this link instruction and I had constantly:

    ReferenceError: Can't find variable: blackberry
    

    I realized then that I had to install some plugins... I've added:

    • com BlackBerry.app
    • identity
    • invoke
    • JPPS
    • push
    • System
    • UI. ContextMenu
    • UI. Dialog
    • utils

    Here the variable blackberry was present at that time and also the method push but not openBISPushListener. Then, I get:

    TypeError: 'undefined' is not a function (evaluating 'blackberry.push.openBISPushListener(ops, onData, onRegister, onSimChange)')
    

    When I console.log (blackberry); I have only PushPayload and PushService pressure.

    INFO:

    • Cordova 3.1.0
    • tested on blackberry Z10 device
    • 10.0.10.261 OS version

    Any help is welcome.

    Thank you!

    The API you are referring is a BlackBerry OS (i.e. 5.0 to 7.1) application. From what I understand, PushWoosh is also intended for BBOs.

    The APIs themselves have changed for BB10 and openBISPushListener is no longer used. You can find documentation BB10 here:
    http://developer.BlackBerry.com/HTML5/APIs/BlackBerry.push.pushservice.html#.create

    To implement the push on BB10, you use the WebWorks APIs directly at this time.

  • Get a Push notification on app without head and application

    Hello

    I have included an app without a head for my current application, because I am handling becomes class PushService when push comes this application without a head. But I pushservice in running my application also to get called when comes to push, and my request for traffic not called when the push... How can I get push notifications in both without head and noraml app.

    You can take a look at the documentation
    https://developer.BlackBerry.com/native/documentation/Cascades/device_platform/headless_apps/

  • Sign up for the service push BlackBerry 10

    Hello

    I'm trying to implement the blackberry for BB10 push notification.

    I have camera z10. My device doesn't have a sim card. I use internet through Wi - Fi.

    When I call the function below is to show some mistakes. 'blackberry.push.openBISPushListener '.

    Please let me know, for recording in the push notification service, if the Sim Card and BIS are necessary or not.

    Please help me.

    The API you noted (openBISPushListener) is a Legacy BBOS API for BBOS 5.0 - 7.1

    For BlackBerry 10, you will need to take advantage PushService.create approach:
    https://developer.BlackBerry.com/HTML5/APIs/beta/BlackBerry.push.pushservice.html

    Direct API documentation:
    https://developer.BlackBerry.com/HTML5/APIs/beta/blackberry_push_PushService_create.html

    EDIT: Push via WiFi is completely valid.

  • (bb10) The push service error

    Hello!

    When you try to register on the push on my app on Simulator service, I get an error:

    Cannot create PushService due an internal error trying to allocate system resources

    Very strange, doesn't have enough resources?

    I could do something wrong, but what?

    I use the Las and gold Simulator SDK.

    There was a recent article on the blog on the modification of the service Push...

    Kind regards

  • onNotification not called (SDK to push at low altitude)

    Finally my notification of base URL has been saved

    Thanks to [email protected]

    no more error that the base url is not available if the ppgNotifiedRequestedTo parameter

    My basic notification url: http://my-server.org:nnnn /

    My ppgNotifiedRequestedTo: /pushnotify

    I extended PapServiceImpl and implemented onNotification:

    public class PapNotificationService extends PapServiceImpl {
    
        @Override
        public void onNotification(ResultNotification resultNotification,
                Map notificationParameters)
                throws PushSDKException {
            logger.debug("On Notification ###################");
        }
    }
    

    I extended BasicNotificationServlet and implemented the getPapService simply return a new PapNotificationService (see above):

    public class PushNotificationServlet extends BasicNotificationServlet {
    
        /* (non-Javadoc)
         * @see net.rim.pushsdk.pap.web.BasicNotificationServlet#getPapService()
         */
        @Override
        protected PapService getPapService() {
            return new PapNotificationService();
        }
    
        @Override
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            logger.debug("doPost called");
            super.doPost(req, resp);
        }
    
    }
    

    I tested this Servlet of the browser:

    http://my-server.org:nnnn / pushnotify

    and as expected make me:

    16:40:38.208 DEBUG [o.e.b.p.b.i.PushNotificationServlet] doPost called
    16:40:38.224 INFO  [net.rim.pushsdk.pap.PapServiceImpl] PushSDKException caught while receiving result notification:
    net.rim.pushsdk.commons.PushSDKException: No XML content to parse; document is empty
    

    If the servlet is working

    but its never called so by pushing. shoot is done properly with QualityOfService DeliveryMethod CONFIRMED and ppgNotifiedRequestedTo has the value

    PapService papService = new PapServiceImpl();
    papService.setHttpClient(client);
    papService.setPushSDKProperties(pushProperties);
    .....
    pushMessageControl = new PushMessageControl(
        idGenerator,
        PUSH_APP_ID,
        PPG_NOTIFY_REQUESTED_TO_URLPART,
        addresses);
    .....
    response = papService.push(
        PUSH_APP_ID, // BIS username
        PUSH_APP_PW, // BIS pw
        PUSH_APP_ID, // BIS port
        pushMessageControl, // PUSH msg attributes
        papContent); // the content
    

    questioning of the State, I get in WAITING and a few seconds later CONFIRMED

    but I don't get any Notification

    no idea what could be the problem?

    THX

    GOD

    BTW: I'll publish my JavaSE whole - solution of low level as Open Source (EPL) for easy start with PushServices without installing springsoftware etc. all running inside the eclipse.

    the problem is now solved

    thx for help - RIM problem was

    ...

    My basic notification url: http://my-server.org:nnnn /

    ...

    where I am listed as notification to the RIM base url:

    http://my-server.org:8081 /.

    Important notice to evaluate all Push Service Plus: only Ports 80 and 443 are allowed as base URL of notification .

    otherwise the notification messages find a way out of RIM Push Server

    According to RIM documentation is added for this

  • BB10 - personalization of Push Notification

    Hi all. Recently, we test an app with our client. The application will receive push notification when there is new claim being created so that the user can be notified and then they can approve/reject the claim.

    When comes the push, there is asterisk on the app, reduced app icon and also a message will be sent to the hub. But the feedback from users during the tests, they prefer to be

    1. have the asterisk on the app icon / minimized app but do not have the message sent to the Hub

    2. If a user clicks on a message to display in the hub, it will remove the message current and later in the hub

    Is it possible to do?

    For no 1, I tried not to call Notification in app.textConversionCallback, so there is no message in the hub, but that stop the asterisk appears on the application icon.

    app.parsePayload = function (){
        try{
            if (app.pushService !== null){
                var pushPayload = app.pushService.extractPushPayload(app.onInvokedInfo);
                app.blobToText(pushPayload.data, "UTF-8", app.textConversionCallback);
                app.onInvokedInfo = null;
            }
        } catch (err) {
         alert("Was unable to parse the invoke request.");
      }
    };
    
    app.blobToText = function (blob, encoding, callback) {
        var reader = new FileReader();
        reader.onload = function(evt) {
            // No errors, get the result and call the callback
            callback(evt.target.result);
        };
    
        reader.onerror = function(evt) {
            app.debug("Error converting Blob to string: " + evt.target.error);
        };
        reader.readAsText(blob, encoding);
    };
    
    app.textConversionCallback = function(str) {
        //try to disable this but push is not working
        //notify.hub(str);
    };
    
    var notify = {};
    
    // Add a notification in the Hub
    notify.hub = function(str) {
      var mclaim = JSON.parse(str)
      {
        if(mclaim.empno)
        {
          var pushCount = parseInt(mclaim.workqcnt);
          if((pushCount > 0) && (pushCount > 1))
          {
            var title = "Pending Claims Notification";
            var isAre = "are";
            var claim = "claims";
          }
          if((pushCount > 0) && (pushCount == 1))
          {
            var title = "Pending Claim Notification";
            var isAre = "is";
            var claim = "claim";
          }
          var content = "There "+isAre+" "+parseInt(pushCount)+" "+claim+" pending for approval.";
          new Notification(title, {body: content});
        }
      }
    };
    

    Regarding No 2, is there a function perform the delete action?

    All advice or suggestion will be greatly appreciated.

    Update on the app icon is directly related to the Notification of the HTML5; It is impossible to trigger the icon unless you use the Notification of HTML5.

    You may write an extension to access the following Native API to set the badge (i.e. the Update icon) to the application:
    https://developer.BlackBerry.com/native/reference/core/com.QNX.doc.bps.lib_ref/com.QNX.doc.bps.lib_r...

    To remove the notifications in the Hub, you can either:
    (1) create all HTML5 Notifications with the same tag; This will force a notification never exist in the hub, with the most recent notification overwriting previous reviews; or
    (2) keep track of all active notification tags and delete is used to remove unwanted notifications.
    https://developer.BlackBerry.com/HTML5/APIs/notification.html#.Remove

  • Cannot create the object push service

    Hello:

    I've been stuck on this for weeks.

    I followed all the steps, but

    When I run this line,

    blackberry.push.PushService.create (ops, failCallback successCallback, simChangeCallback, pushTransportReadyCallback);

    it not always returns faillCallBack, and the error code is 500 - error: an internal error has occurred by calling blackberry.push.PushService.create. Try to restart the application.

    does anyone have any ideas?

    Thank you.

    Push both by Wi - Fi works with a SIM card inserted.

    Oh, just thought that what the problem most likely is for you.

    When you request signing keys, you must ensure you get special permission to use push.

    When you asked signing keys and an account of BlackBerry Push Service?  This new permission to push is new, old signature keys don't have it.

    If you have an active account of BlackBerry Push Service and has not received an email with the procedure Add permission to push it to your keys, then please email [email protected].  Let them know you have a Services Push account and want permission to Push added to your keys.  In addition, give them the email address associated with your code current signing keys. That should be enough for get you approval within a day or two.

    Let me know if you encounter any problems.

    Matt

  • Press Service SDK Java low-level SE HowTo summary / suspend devices?

    Thanks mdicesare messages in another forum PushServices Forum thread, it was easy for me to do the work of push service SDK:

    using low level API

    Java SE without Springsource support

    I can

    * push to devices

    * request for status etc.

    at the moment I am waiting for RIM add my url of notification of base develop all kinds of provision of Service Plus

    3 things are open:

    * sending subscription CV and SUSPENDS and subscriptions of the query

    is this possible with low level API (common + pap components)?

    BTW:

    I develop a Solution Open Source (Eclipse Public License EPL)

    to provide a dynamic server easy to use to push Services and TCP Socket connections

    based on OSGI (Eclipse Equinox)

    will post the info on blah forums if its not working fully

    Then, you must only Eclipse and MySQL to run - no Springsource more or less

    The Push server admin UI will be possible through smart BlackBerry or Vaadin phones like interface user Web or anything Eclipse Eclipse RCP and RAP

    OK - solved questions

    If you know how to do - it is easy ;-)

    httpResponse = client.transmitGET(
                        pushProperties.getSubscriptionResumeUrl()+"",
        "", // no contentType needed
        PUSH_APP_ID, //username your secret app-id
        PUSH_APP_PW, // password
        null); // no headers needed
    
    ...
    // same to suspend
    pushProperties.getSubscriptionSuspendUrl()
    ...
    // and to deregister
    pushProperties.getSubscriptionDeregistrationUrl()
    ...
    // some useful response returncodes:
    // rc-200 successfull
    // rc-10007 PIN not found
    // rc-10012 PIN already suspended
    

    now waiting for my url in notification of basic fixed by RIM - then I'm ready using low level of Java SE PushServiceSDK

  • [Creating a channel to push]

    Hi all

    I have been using pushCapture example (from Git), I can't create 'A push chain' (with user/pwd).

    Please tell me why, (I had information of RIM 'BlackBerry push Service references assessment').

    Thank you very much.

    Denis

    Can you please provide the JavaScript you trying to run? You can use the object to Insert the code in your reply to format your code correctly.

    The API documentation is probably the simplest example (other samples have additional HTML, scripts, etc.).

    https://developer.BlackBerry.com/HTML5/APIs/BlackBerry.push.pushservice.html#.create

    See the code that you have written and already taken measures will be a great help to identify potential problems.

Maybe you are looking for