2012-12-10 78 views
2

我使用Phonegap为iPhone和Android创建了一个应用程序。PhoneGap的推送消息

现在我想添加已经非常好的推送功能。

当推送消息到达我的iPhone时,我在主屏幕上收到一条消息。如果我滑过它,iOS将打开我的应用程序。 - 到现在为止还挺好。

现在,在我的PhoneGap应用程序中,我需要检查消息实际说的是什么,才能在我的应用程序中通过JavaScript打开正确的视图。

我知道有这个颇有些职位,但我找不到一些明确这些问题的答案:

  • 是否PhoneGap的支持Push消息?
  • 如果是,那么文档在哪里?
  • 如果不是,可以推荐哪些插件/框架?到目前为止,我找到了pushwoosh和Urbanair。他们有什么好处?
  • 关于Pushwoosh,我注意到我需要某种pushwoosh ID - 为什么?

回答

0

我发现了一个非常简单的解决方案,而不使用框架。

我只是下面的代码添加到方法的最后didFinishLaunchingWithOptions(return语句前右):

if (launchOptions != nil) 
{ 
    NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
    if (dictionary != nil) 
    { 
     NSLog(@"Launched from push notification: %@", dictionary); 
     [self addMessageFromRemoteNotification:dictionary updateUI:NO]; 
    } 
} 

另外,我加入到我的AppDelegate.m这种新方法,得到从推送消息有效载荷:

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo 
{ 
    NSLog(@"Received notification: %@", userInfo); 
    [self addMessageFromRemoteNotification:userInfo updateUI:YES]; 
} 

(在上面的NSLog调用会告诉你什么是推送消息中)

最后一步,我添加了这个监听器,我想和有效载荷什么都:

- (void)addMessageFromRemoteNotification:(NSDictionary*)userInfo updateUI:(BOOL)updateUI 
{ 
// do what ever you want with userInfo 
} 

如果你想要做一个额外的JavaScript调用这个信息,我建议使用:

[self.viewController.webView stringByEvaluatingJavaScriptFromString:@"callSomeJSFunction()"]; 

当然,如果你愿意,你也可以将参数作为字符串传递给JS函数。

3

通过Pushwoosh ID您可能意味着推送应用程序Id或应用程序代码。这是您在Pushwoosh控制面板中应用程序的ID(当前格式为XXXXX-XXXXX)。只要您在Pushwoosh中添加新应用,就会看到它。

有相当与Pushwoosh

http://devgirl.org/2012/12/04/easy-phonegap-push-notifications-with-pushwoosh/

上轻松整合的PhoneGap通过霍利Schinsky提供进行了广泛的博客文章这应该是所有的PhoneGap开发旨在推送通知集成到他们的应用程序非常有用。