{"id":25837,"date":"2013-10-25T13:28:46","date_gmt":"2013-10-25T13:28:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/safari-push\/"},"modified":"2014-05-23T13:50:14","modified_gmt":"2014-05-23T13:50:14","slug":"safari-push","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/safari-push\/","author":9386532,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0","stable_tag":"1.0","tested":"3.9.40","requires":"","requires_php":"","requires_plugins":"","header_name":"Safari Push Notifications","header_author":"Surreal Road Limited","header_description":"","assets_banners_color":"","last_updated":"2014-05-23 13:50:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/surrealroad\/wp-safari-push","header_author_uri":"http:\/\/www.surrealroad.com","rating":2.5,"author_block_rating":0,"active_installs":10,"downloads":3771,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":"1","2":"1","3":"1","4":"1","5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.5.1","0.5.2","0.5.3","0.6","0.6.1","0.6.2","0.6.3","0.6.4","0.6.5","0.7","0.7.1","0.7.2","0.7.3","0.8","0.8.1","0.8.2","0.9","0.9.1","1.0","trunk"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[7989,37675,8195,1155,3507],"plugin_category":[],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-25837","plugin","type-plugin","status-closed","hentry","plugin_tags-mac","plugin_tags-mavericks","plugin_tags-os-x","plugin_tags-push-notifications","plugin_tags-safari","plugin_committers-macgamer"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/safari-push.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\nWhat does this plugin do?\n\n<p>This plugin lets you prompt users to allow Safari Push notifications from your Wordpress site, and then send out Safari Push notifications to every user each time you publish a new post from Wordpress. There's also an option to send notifications directly from the plugin's settings page.<\/p>\n\n<p>Additionally, it lets you use the shortcode <code>[safari-push]<\/code> anywhere you like that will provide feedback to visitors on their notification status, and the shortcode <code>[safari-push-count]<\/code> to show how many subscribers you have (there's also a dashboard widget to tell you this too).<\/p>\n\n<p>This plugin is intentionally kept simple, feel free to fork the source and modify it to suit your needs.<\/p>\n\n<p>The source is maintained on GitHub: https:\/\/github.com\/surrealroad\/wp-safari-push<\/p>\n\nWhat this plugin won't do\n\n<p>This plugin doesn't communicate with Apple's Push Notification Service (APNS) directly. You need a dedicated, secure server for that, which is beyond the scope of this plugin. See below for more details.<\/p>\n\nWhat are Safari Push Notifications?\n\n<p>Push notifications are a feature in Safari 7 and Mac OS 10.9 \u201cMavericks\u201d that allow websites to send users notifications to their desktop, even when Safari is closed.<\/p>\n\n<p>For much more information on this, see https:\/\/developer.apple.com\/notifications\/safari-push-notifications\/<\/p>\n\nWhat else do I need in order to use this plugin?\n\n<p>You'll also need a seperate, working HTTPS server for communicating with Safari and Apple Push Notification Server (referred to as the \"Web Service\").<\/p>\n\n<p>For a PHP implementation of the Web Service, refer to our reference project at https:\/\/github.com\/surrealroad\/Safari-Push-Notifications.<\/p>\n\nCan I see it in action?\n\n<p>Sure, go to http:\/\/www.controlcommandescape.com\/push\/ (you'll probably want to open that URL in Safari 7)<\/p>\n\n<p>TODO:<\/p>\n\n<ul>\n<li>Comply with WordPress security guidelines<\/li>\n<\/ul>\n\n<p>Additional credits<\/p>\n\n<ul>\n<li>Localisation and French-language version by R\u00e9my Perona (http:\/\/remyperona.fr\/)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin as you would any other WordPress plugin and enable it<\/li>\n<li>Go to Settings &gt; Safari Push<\/li>\n<li>Fill in the details for your push service<\/li>\n<li>(Optional) Visit your site in Safari 7.0+ and wait for the prompt to subscribe to notifications<\/li>\n<li>(Optional) Add the shortcode <code>[safari-push]<\/code> somewhere on your site to view the status of push notifications<\/li>\n<li>(Optional) Fill in the form at the bottom of the settings page to send a test psuh notification<\/li>\n<li>(Optional) Edit the HTML displayed for the shortcode in the settings page<\/li>\n<\/ol>\n\n<p>Note that your theme must include <code>wp_footer()<\/code><\/p>\n\n<!--section=faq-->\n<dl>\n<dt>Where can I get information on how to get the push service working?<\/dt>\n<dd><p><a href=\"https:\/\/developer.apple.com\/notifications\/safari-push-notifications\/\">Right here<\/a><\/p><\/dd>\n<dt>How can I make my push service compatible with this plugin?<\/dt>\n<dd><p>See <a href=\"https:\/\/github.com\/surrealroad\/Safari-Push-Notifications\">our reference server<\/a> for example, but you need to have it receive a POST request that accepts \"title\", \"body\", \"action\", \"urlargs\" and \"authentication\" tags, and sends a notification to all registered devices.<\/p><\/dd>\n<dt>The notification status says denied, without ever prompting to allow it<\/dt>\n<dd><p>Your push package is probably incorrectly configured.\nA common problem is to forget to include the \"www.\" part of the domain in the \"allowed domains\" list. You need, for example, '\"http:\/\/example.com\", \"http:\/\/www.example.com\"'<\/p><\/dd>\n<dt>When are notifications sent?<\/dt>\n<dd><p>Notifications will be sent whenever a post is published for the first time. You can select which post types to exclude, and you can configure settings for each post from the add\/edit post page.<\/p><\/dd>\n<dt>What about Pushwoosh\/other third-party support?<\/dt>\n<dd><p>This plugin will not provide support for paid-for services.<\/p><\/dd>\n<dt>Are there any plugin hooks I can use?<\/dt>\n<dd><p>There's <code>safaripush_post_notification<\/code> and <code>safaripush_post_notification<\/code> which are called immediately before and after sending a notification.<\/p><\/dd>\n<dt>Can I customise what gets sent to which device?<\/dt>\n<dd><p>Not right now, maybe never. Depends if this is something that a lot of people would want.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Notification settings can be configured for each post when publishing the post<\/li>\n<li>Corrected date displayed in notification logs<\/li>\n<li>Dates and times are displayed in accordance with Wordpress settings where possible<\/li>\n<li>Removed the option to restrict push notifications per category, as this can be controlled with more granularity at the post level now<\/li>\n<li>Added a dashboard widget that displays the current number of push subscribers<\/li>\n<li>Added some missing localisation strings<\/li>\n<li>Fixed the settings link from the plugins page<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Sending a manual push now includes the server response in the result<\/li>\n<li>Fix for PHP unexpected T_PAAMAYIM_NEKUDOTAYIM error<\/li>\n<\/ul>\n\n<h4>0.9<\/h4>\n\n<ul>\n<li>Notifications are now logged and can be viewed on the settings page<\/li>\n<li>Added two plugin hooks, safaripush_pre_notification and safaripush_post_notification<\/li>\n<\/ul>\n\n<h4>0.8.2<\/h4>\n\n<ul>\n<li>Allow inclusion of categories with no posts (thanks MuViMoTV)<\/li>\n<\/ul>\n\n<h4>0.8.1<\/h4>\n\n<ul>\n<li>Include all valid post types and categories by default<\/li>\n<\/ul>\n\n<h4>0.8<\/h4>\n\n<ul>\n<li>Added [safari-push-count] shortcode to print count of subscribed devices (this will require you to update your push service)<\/li>\n<li>Added option to choose which post types to notify for<\/li>\n<li>Added option to choose which categories to notify for<\/li>\n<\/ul>\n\n<h4>0.7.3<\/h4>\n\n<ul>\n<li>Use short link instead of permalink to reduce APNS packet size (thanks Djib's)<\/li>\n<li>You can specfiy whether to load Javascript in footer or not from the options screen (thanks Djib's)<\/li>\n<\/ul>\n\n<h4>0.7.2<\/h4>\n\n<ul>\n<li>Fixed an issue that would prevent registered count not to display in a non-Safari browser<\/li>\n<li>Javascript is now called from footer (thanks Djib's)<\/li>\n<li>Fix for Javascript crash on Mobile Safari browsers (thanks mart03)<\/li>\n<\/ul>\n\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>Added missing default for \"auth tag\" field<\/li>\n<li>Fixed permalinks not being pushed (thanks MuViMoTV!)<\/li>\n<\/ul>\n\n<h4>0.7<\/h4>\n\n<ul>\n<li>Security improvements<\/li>\n<li>A count of current subscribers is now shown on the options page, as well as a link to show all registered users that have subscribed via push (this will require you to update your push service)<\/li>\n<li>Added link to settings from plugins page<\/li>\n<li>Push notifications sent from the settings page now use AJAX and can be restricted to a specific device<\/li>\n<\/ul>\n\n<h4>0.6.5<\/h4>\n\n<ul>\n<li>Minified Javascript, corrected a regression that broke Safari detection<\/li>\n<\/ul>\n\n<h4>0.6.4<\/h4>\n\n<ul>\n<li>Workaround for Google Chrome for Mac identifying itself as Safari<\/li>\n<\/ul>\n\n<h4>0.6.3<\/h4>\n\n<ul>\n<li>Fix for future versions of Safari<\/li>\n<\/ul>\n\n<h4>0.6.2<\/h4>\n\n<ul>\n<li>Notification title and button text can now be changed in settings<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>Fixed an issue that was generating a PHP warning<\/li>\n<li>Added some documentation and FAQ to the plugin page<\/li>\n<\/ul>\n\n<h4>0.6<\/h4>\n\n<ul>\n<li>French localisation with thanks to R\u00e9my Perona (http:\/\/remyperona.fr\/)<\/li>\n<\/ul>\n\n<h4>0.5.3<\/h4>\n\n<ul>\n<li>Remove subfolder for better compatibility<\/li>\n<\/ul>\n\n<h4>0.5.2<\/h4>\n\n<ul>\n<li>Fixed folder structure for automatic downloads<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Added readme.<\/li>\n<\/ul>\n\n<h4>0.5<\/h4>\n\n<ul>\n<li>First WordPress release<\/li>\n<\/ul>","raw_excerpt":"A Safari Push Plugin for Wordpress","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/25837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=25837"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/macgamer"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=25837"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=25837"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=25837"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=25837"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=25837"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=25837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}