iOS push services: is an invisible push notification possible?

后端 未结 7 493
梦如初夏
梦如初夏 2021-02-02 12:55

I\'m building a iPhone application which depends data from an online database.

To update the data in the app i could check at a certain time interval if an update is ne

相关标签:
7条回答
  • 2021-02-02 13:45

    There is a well explained documentation in the Apple Online Library.

    With Apple Push Notification Service (APNS) you can get ANY combination of:

    • An alert message to display to the user
    • A number to badge the application icon with
    • A sound to play

    When I say any I mean that no alert, no badge and no sound are also possible. Remote notifications are available even if the application is closed (but at least once executed, for register into the notification service), iOS has the debt of manage the push and wake up your application.

    If you want to use APNS you need

    • a web server (will generate the push)
    • a CSR from the web server
    • an apple certificate trusting your server (this is the reason of CSR)
    • an iOS application with an App ID configured for Notifications

    Everything related with CSR and trusting your server is detailed in the iOS provisioning portal, "App ID" section, "How to" tab. Try this link.

    In your web server must be hosted the APNS provider who will do these two actions:

    • Register a token identifying a concrete installation on a concrete iOS device. This token is generated for the Apple APNS and will be sended to the Provider by your app. enter image description here

    • Generate push notifications: Will be sended from your provider to Apple APNS, an Apple APNS will delivery to your app (with an alert and/or badge and/or sound and/or silence mode) enter image description here

    The APNS notification will be delivered to your app using the Remote Notification System.

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
    

    You can look into the Easy APNS App Delegate

    As a provider you can use your own developed or you can use/modify anyone already downloadable like

    • Easy APNS
    • Java APNS
    • Javapns
    • etc

    So the answer is YES, it is possible. Using Easy APNS esamples, the push generation must look like this:

    $apns->newMessage(1);
    $apns->addMessageCustom('acme2', array('bang', 'whiz'));
    $apns->queueMessage();
    
    0 讨论(0)
提交回复
热议问题