php - 带地理定位的 Swift 自动推送通知

标签 php ios swift push-notification

我需要在我的应用程序中集成推送通知。我看了很多教程,但任何帮助我的东西都对我有帮助,因为我需要做一些更困难的事情。事实上,当新闻将在数据库中发布时,我需要系统自动向所有用户发送推送通知。示例:这是我从数据库中得到的响应

{"news":[{"id":"36","type":"news","title":"This is test for Pune","city":"Pune","description":"Test offer for pune city","image":"http://www.saimobileapp.com/mobileappbackend/news/01.png"},{"id":"35","type":"news","title":"final test for offer","city":"Mumbai","description":"Test description","image":"http://www.saimobileapp.com/mobileappbackend/news/IMG_0421.JPG"},{"id":"31","type":"news","title":"new test","city":"Mumbai","description":"yes its a test msg","image":"http://www.saimobileapp.com/mobileappbackend/news/Chrysanthemum.jpg"},{"id":"30","type":"news","title":"This is a test news","city":"Mumbai","description":"Test description","image":"http://www.saimobileapp.com/mobileappbackend/news/1.jpg"}]}

这里我们有 4 条新闻..所以如果我发布另一条新闻,它将是 5 条,系统会发送带有该新闻标题的推送...这可能吗?如果是,我可以使用哪种服务?解析?还是 phpserver? 谢谢

最佳答案

是的,这是可能的。我正在使用它使用 node.js。您还应该需要创建 APNS 配置证书以使用此服务以及如何创建 APNS certificate 的链接。 .以下是 APNS 的示例代码:

 var apn  = require("apn")

 var apnError = function(err){
      console.log("APN Error:", err);
 }

 var options = {
     "cert": "cert.pem",
     "key":  "key.pem",
     "passphrase": null,
     "gateway": "gateway.sandbox.push.apple.com",
     "port": 2195,
     "enhanced": true,
     "cacheLength": 5
    };
   options.errorCallback = apnError;

   var feedBackOptions = {
       "batchFeedback": true,
       "interval": 300
   };

   var apnConnection, feedback;

   module.exports = {
       init : function(){
         apnConnection = new apn.Connection(options);

          feedback = new apn.Feedback(feedBackOptions);
          feedback.on("feedback", function(devices) {
          devices.forEach(function(item) {
            //TODO Do something with item.device and item.time;
             });
        });
   },

   send : function (params){
        var myDevice, note;

        myDevice = new apn.Device(params.token);
        note = new apn.Notification();

        note.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires   1 hour from now.
        note.badge = 1;
        note.sound = "ping.aiff";
        note.alert = params.message;
        note.payload = {'messageFrom': params.from};

        if(apnConnection) {
              apnConnection.pushNotification(note, myDevice);
        }
      }
  }

您可以在网上找到很多 node.js APNS 服务器的示例代码。

LinkLink例如。

Link1 /Link 2使用 PHP 进行通知

在 APNS 中,您可以发送标题“This is test for Pune”,当用户收到此“application:didReceiveRemoteNotification:fetchCompletionHandler:”时,您的应用委托(delegate)中的函数将被调用,您的应用将打开。

您必须在您的应用中创建一个 View 来显示通知列表。用户将选择一个特定的通知,然后您从服务器获取所有新闻数据并将其显示给用户。

关于php - 带地理定位的 Swift 自动推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32670714/

相关文章:

php - 如何从 CodeIgniter 的 View 中替换制表符和新行?

php - 从数组输出单个 json 对象

ios - 发生 CanOpenURL 错误,我确信我做对了

ios - Swift3 GCD 中的 main.async vs main.sync() vs global().async

ios - swift bringSubViewToFront 不工作

ios - PFQuery 在 Swift 3 转换后未运行

php - 与 FTP 服务器同步文件

ios - UITableView 内部错误 : unable to generate a new section map with old section count: and new section count: with userInfo (null)

iphone - 如何通过iTunes Connect获取报告的崩溃总数

php - fopen 输出问题