设置webhook以推送iOS通知

时间:2015-01-03 01:37:42

标签: ios objective-c notifications apple-push-notifications webhooks

我使用的API不支持直接iOS通知,而是使用webhook。当我联系他们如何使用它时我得到了回复

  

我们不直接支持iOS推送通知到您的客户端应用程序。   您可以使用webhook通知来接收更新,然后您的脚本可以直接向您的客户端应用程序中继或发送通知。

我有一个地方可以输入webhook的URL。

我将如何实施

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    // Store the deviceToken
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    //handle push notification
}

接收应用程序的推送通知需要什么?

2 个答案:

答案 0 :(得分:2)

webhook基本上是为外部应用程序提供的服务。例如,MailChimp(新闻通讯服务)使用webhooks在发送预定的时事通讯时通知您。它可以是响应TCP连接的任何内容,因此您也可以用C或类似的方式编写服务器。

我设置了一个服务器,它提供了MailChimp服务器通过HTTP查询的webhook(一个简单的PHP文件)。然后我使用PHP中的POSTed信息自己生成和交付APN。

我为此编写了一个自定义PHP类,但您可以使用非常受欢迎的ApnsPHP类。您必须运行自己的服务器,托管服务器或任何支持PHP的Web托管服务。

在我的情况下,我还为我的一个客户实现了所有这些作为WordPress插件的自定义主题。

您必须在API提供程序字段中输入的URL是PHP脚本(或任何其他脚本或服务器程序)的URL。

首先,您需要在-[NSApplicationDelegate applicationDidFinishLaunchingWithOptions:]中注册推送通知设备。这将使您的设备收到您应用的通知。

您提到的两种方法用于处理收到的信息。

这个主题非常广泛,所以我无法为您提供完整的实施。但我建议this tutorial on raywenderlich.com,包含示例代码,还有服务器端PHP脚本。本教程确实教会了我很多关于APN的知识。

答案 1 :(得分:0)

当他们说他们不支持推送通知时,我认为他们的意思是,所以你不会使用这两种方法......他们的意思是你用什么方法来获取数据来自webhook,你需要以某种方式手动呈现推送(例如UIAlertView)