2016-08-03 93 views
0

我在解析AWS推送时遇到问题。我们根据这些specifications配置了适配器,并且似乎可以使用curl方法向某个特定用户(不知道该如何或为什么说该用户)进行广播,但我很困惑如何(或如果)我可以使用此功能将用户发送给用户推送通知。例如,“X喜欢Y的Z”其中X是喜欢者,Y是喜欢的,Z是喜欢的对象。将分析推送到AWS

回答

0

在解析你有多个选项发送推送通知。 通过提供查询以及您想要发送推送的所有安装,可以将推送通知发送给一个或多个用户。您也可以为用户订阅的特定频道发送推送通知,这对于营销非常有用,或者如果您的应用具有不同类型的用户(例如:卖家,买家等) 推送发送的原因到安装而不是用户是因为,一个用户可以有多个安装(例如iphone,ipad,其他设备等)

像我说有多个选项发送推,但我建议推送使用其中之一以下方法:

  1. 从云代码 - 你可以创建云代码函数,将由客户端触发,这个云代码函数将首先创建一个查询所有的安装您需要发送推送信息并执行将实际发送推送的功能。此云代码功能可以接收多个参数,这些参数可以包含发送推送前需要处理的任何数据,这些数据可以是用户数组,频道名称等。 下面的云代码片段展示了如何发送了谁成功签约的所有用户的一推,有设备令牌:

Parse.Cloud.afterSave("SendPush", function(request) { 
 

 

 
    var query = new Parse.Query(Parse.Installation); 
 
    query.exists("deviceToken"); 
 

 
    var payload = { 
 
    alert: "after save push" 
 
    }; 
 

 
    Parse.Push.send({ 
 
     data: payload, 
 
     where: query 
 
    }, { 
 
     useMasterKey: true 
 
    }) 
 
    .then(function() { 
 
     response.success("Push Sent!"); 
 
    }, function(error) { 
 
     response.error("Error while trying to send push " + error.message); 
 
    }); 
 

 

 
});

,然后从iOS SDK调用这个云码功能以下列方式:

 NSDictionary * parameters = @ {}; // put parameters if required 

    [PFCloud callFunctionInBackground: @"SendPush" 
     withParameters: parameters block:^(id _Nullable object, NSError * _Nullable error) { 
     // callback result 
     } 
    ]; 
  • 从iOS版SDK - 如果你不想送您从云代码推送的内容可以直接从您的iOS中执行。我认为最好在云代码中完成,因为在你写的云代码中,然后你可以从任何SDK和REST API中触发这个函数。
  • 在解析文档,你可以找到很多关于如何从iOS版SDK发送推送例子所有的例子都可以在这里找到:

    http://parseplatform.github.io/docs/ios/guide/#push-notifications

    但就像我说的最好的是做它与云代码。

    0

    如果您在不使用Parse的情况下使用AWS服务,则类似。更好的体系结构是移动设备调用云中的业务逻辑(即AWS Lambda函数)并且该代码发送推送通知的地方。这使您可以构建更安全的解决方案,因为您可以在业务逻辑中控制内容并控制谁可以发送给谁(即,您必须在某人的好友列表上发送)。如果您打开了从设备直接发布的权限,那么当系统有人使用该应用的凭据并发布有害内容(可能会发布给所有应用的用户)时,就会使系统容易受到攻击。

    从AWS Lambda函数发送推送通知的示例...
    Can you send SNS push notification from lambda function in Amazon AWS?

    真诚,
    Andrew C制作
    AWS移动开发者体验

    +0

    感谢安德鲁!C感谢您的链接......它非常稀少,只是确认它可能......您是否会碰到更多关于此问题的信息,或者是否已更新Lambda文档以包含客户端到客户端推送的更多信息? – JustK