Phonegap + iOS + Parse 推送通知

Posted

技术标签:

【中文标题】Phonegap + iOS + Parse 推送通知【英文标题】:Phonegap + iOS + Parse Push Notification 【发布时间】:2015-09-18 18:35:41 【问题描述】:

我正在为 iosandroid 开发基于 Cordova 的应用程序 我已经成功实现了 Parse for Android。 我的 index.html 中有一个 HandleGlobalPush,当 Parse 通知到达并且用户点击它时,我从 CordovaActivity.java 调用它。 我在 HandleGlobalPush 中处理我的视图导航,它根据通知中收到的 AlertType 数据将用户重定向到特定屏幕/视图 工作正常,没有任何问题。

昨天我开始为 iOS 做同样的事情 这是我在 AppDelegate.m 中实现的

 -(void) application :(UIApplication *)application
 didReceiveRemoteNotification:(NSDictionary *)userInfo
 
     // Process the remote notification
     [PFPush handlePush:userInfo];

     // Clear notification badge
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
    [[UIApplication sharedApplication] cancelAllLocalNotifications];


     //here data will be json and converted to string in future

     NSString *jsCallBack = [NSString stringWithFormat:@"HandleGlobalPush('data');"];
     //[self.viewController.loadFromString("javascript:" + jsCallBack);
     [viewController.webView stringByEvaluatingJavaScriptFromString:jsCallBack];


在 viewController.webView 我可以看到生成的 jsCallBack 之前,我可以看到我可以到达的所有内容。我还看到在 Push 中收到的数据,但它没有调用 HandleGlobalPush,我将从那里根据数据查看导航和 UI 更改。

【问题讨论】:

【参考方案1】:

@Sandy, 我了解您在做什么 - 但不知道为什么。 Parse 刚刚发布了适用于 iOS 和 Android 的新 SDK。无论如何,已经有 Push Plugin 用于 Parse。您是否正在尝试构建一个新的插件?是这样的,已经有相关的指示了,而你不在基地。

Phonegap FAQ - 见最后一个问题

为 OS X 引入 Parse Pushhttp://blog.parse.com/announcements/introducing-parse-push-for-os-x/

谷歌:phonegap push plugin parse

Phonegap Parse Plugin

此外,如果您正在编写 Java,这将违背 Phonegap 的全部目的,除非您正在编写插件。

谷歌:phonegap how to write a plugin

【讨论】:

您好杰西,感谢您的帮助。我尝试使用 PushPlugin 我能够注册设备但无法从 Parse 获得推送。我在 iOS 8 或更高版本中看到了很多关于弃用的警告。但是我从该插件中发现的一件事是用于将 json 数据解析为目标 c 中的 json 字符串以及如何在 javascript 中将其传递回函数调用。我在上面显示的代码中实现了这个逻辑,然后它就起作用了。所以我的主要问题解决了。 Parse Plugin 也在插件中做同样的事情,所以我可以通过修改 cordova 项目的 appdelegate.m。 Continue... 现在我处于测试阶段,所以一旦整个 api 逻辑完成,我们将编写原生应用程序,届时我们会处理它

以上是关于Phonegap + iOS + Parse 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

将 Parse 推送通知与 Phonegap 集成

PhoneGap/Ionic 如何处理来自 Parse 的推送通知?

如何让 Parse.com 推送通知在 Cordova/Phonegap Android 应用程序中工作?

在科尔多瓦项目中未收到解析推送通知

如何在 iOS 上的 Phonegap 中获取 Parse.com PUSH 注册设备令牌

Phonegap/iOS - 如何推送 childviewcontroller?