推送通知 - 两个应用程序共享同一个 Parse Serve
Posted
技术标签:
【中文标题】推送通知 - 两个应用程序共享同一个 Parse Serve【英文标题】:Push Notification - Two apps sharing the same Parse Serve 【发布时间】:2016-12-12 02:50:33 【问题描述】:问题描述
我的两个应用(一个免费应用和一个专业应用)指向同一个解析数据库。
预期结果
我希望推送通知在两个应用程序中都能正常工作。
实际结果
目前,只有一个应用可以成功发送推送通知。
复制步骤
除了通过我的应用发送通知外,我还尝试通过仪表板发送推送。 结果是一样的,只有一个应用正常,另一个没有收到通知。
环境设置
我正在 Github #2188 中尝试这种方式。 我还参考了以下两个链接: https://www.parse.com/questions/push-to-multiple-apps Multiple apps in a single parse server
但一切都没有奏效。
非常感谢您的帮助。
我在 index.js 中的云代码是:
push: ios: [
pfx: __dirname+'/push_certs/DevPushLoveAgainPro.p12', // Dev PFX or P12
bundleId: 'com.app1',
production: false // Dev ,
pfx: __dirname+'/push_certs/ApplePushLoveAgainPro.p12', // Prod PFX or P12
bundleId: 'com.app1',
production: true // Prod ,
pfx: __dirname+'/push_certs/DevPushLoveAgainFree.p12', // Prod PFX or P12
bundleId: 'com.app2',
production: false // Prod ,
pfx: __dirname+'/push_certs/ApplePushLoveAgainFree.p12', // Prod PFX or P12
bundleId: 'com.app2',
production: true // Prod ]
Parse.Cloud.define("push", function(request, response) var id = request.params.toUser; getUser(id).then ( 功能(用户) var query = new Parse.Query(Parse.Installation); query.equalTo("用户", 用户); Parse.Push.send( 其中:查询, 数据:request.params.data , 使用MasterKey:真, 成功:函数() response.success('成功!!!!!!!!!!!!'); , 错误:函数(错误) response.error('错误!!!!!!!!!!!!!!!' + error.message); );
,
function(error)
response.error(error);
););函数getUser(userId) var userQuery = new Parse.Query(Parse.User); userQuery.equalTo("objectId", userId); 返回 userQuery.first ( 使用MasterKey:真, 成功:函数(用户检索) 返回用户检索; , 错误:函数(错误) 返回错误; ); ;
【问题讨论】:
您是否检查了安装集合(在 parse-dashboard 中)是否包含两个捆绑标识符的条目? @RanHassid,非常感谢您的回复。 “包含两个捆绑标识符的条目”是什么意思?我的两个app共享同一个parse db,我可以成功保存数据。 在您的安装集合下,您应该看到注册了哪个应用程序。您需要确保两个应用程序都已注册 @RanHassid,对不起,我正在使用 SaShiDo;我可以看到来自 db 中具有不同 appIdentifiers 的 2 个应用程序的数据。 所以我认为问题在于您的证书.. 【参考方案1】:所以,在这里,当我们从 KeyChain 生成 p12 文件时,我们不应该涉及私钥,即使你不添加密码。 所以在生成p12文件的时候忽略私钥就好了。
【讨论】:
以上是关于推送通知 - 两个应用程序共享同一个 Parse Serve的主要内容,如果未能解决你的问题,请参考以下文章