Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为PhoneGap推送消息_Android_Iphone_Ios_Cordova_Apple Push Notifications - Fatal编程技术网

Android 为PhoneGap推送消息

Android 为PhoneGap推送消息,android,iphone,ios,cordova,apple-push-notifications,Android,Iphone,Ios,Cordova,Apple Push Notifications,我使用Phonegap为iPhone和Android创建了一个应用程序 现在我想添加推送功能,它已经很好地工作了 当推送消息到达我的iPhone时,我会在主屏幕上看到一条消息。如果我刷卡,iOS将打开我的应用程序。-到目前为止还不错 现在,在我的PhoneGap应用程序中,我需要检查该消息的实际内容,以便通过JavaScript在我的应用程序中打开正确的视图 我知道有很多关于这方面的帖子,但我找不到这些问题的明确答案: PhoneGap支持推送消息吗 如果是,文件在哪里 如果没有,可以推荐哪些

我使用Phonegap为iPhone和Android创建了一个应用程序

现在我想添加推送功能,它已经很好地工作了

当推送消息到达我的iPhone时,我会在主屏幕上看到一条消息。如果我刷卡,iOS将打开我的应用程序。-到目前为止还不错

现在,在我的PhoneGap应用程序中,我需要检查该消息的实际内容,以便通过JavaScript在我的应用程序中打开正确的视图

我知道有很多关于这方面的帖子,但我找不到这些问题的明确答案:

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

您所说的Pushwoosh ID很可能是指Pushwoosh应用程序ID或应用程序代码。它是Pushwoosh控制面板中应用程序的ID(当前格式为XXXXX-XXXXX)。在Pushwoosh中添加新应用程序后,您将立即看到它

Holly Schinsky在与Pushwoosh的轻松PhoneGap集成方面发表了大量博文


对于所有希望将推送通知集成到应用程序中的PhoneGap开发人员来说,这应该非常有帮助。

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

我只是在didfishlaunchingwithoptions方法的末尾添加了以下代码(就在return语句之前):

另外,我将这个新方法添加到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函数中

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