关于项目中的推送问题。。

Posted kaihaOS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于项目中的推送问题。。相关的知识,希望对你有一定的参考价值。

  1         首先是应用程序注册消息推送。          2        ios APNS Server deviceToken 。应用程序接受 deviceToken          3         应用程序将 deviceToken 发送给 PUSH 服务端程序 (Provider)          4         服务端程序向 APNS 服务发送消息。          5        APNS 服务将消息发送给 iPhone 应用程序。   本地通知(仅在 iOS 中有效)适用于基于时间的程序,包括简单的日历程序或者 to-dolist 类型的应用程序。那些在有限周期内运行的由 iOS 许可的后台程序也能够接收到本地通知。例如,依赖于服务器消息或数据的应用程序,能够在后台运行并查询服务器最新的数据;如果有消息要显示或者有更新需要下载,它们立即会显示一个本地通知以通知用户。 远程 : 从远程服务器推送给客户端的通知 ( 需要联网 ) ,从服务器发送了一个通知 , 接收到通知以后做的和本地通知类似的事情 , 这个通知只不过是从远方的服务器传过来的 , 要做的这个远程推送通知是由远程推送服务 , 又称为 APNs(Apple Push Notification Services: 苹果推送通知服务 ), 苹果给我们提供了这个服务就可以做远程推送服务了 . 7 、极光推送,点击进入相应界面,如何实现? -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler   // IOS 7 Support Required   [APService handleRemoteNotification:userInfo];   completionHandler(UIBackgroundFetchResultNewData);   当用户通过点击通知消息进入应用时 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions launchOptions 中会有推送消息的 userInfo 信息,此时我们可以通过 NSDictionary* remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 获得推送消息内容。如果 remoteNotification 不为空,则说明用户通过推送消息进入,那么可以声明一个属性 @property (nonatomic) BOOL isLaunchedByNotification; 用于标识用户是否通过点击通知消息进入本应用。 此时, - (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo 一定会被调用, iOS7 可以使用 - (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 因为此方法的调用时, MainViewController 已经被初始化,所以我们已经可以在 MainViewController 注册推送消息的监听,用于展示对应的视图,如下: // 订阅展示视图消息,将直接打开某个分支视图 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(presentView:) name:@"PresentView" object:nil]; // 弹出消息框提示用户有订阅通知消息。主要用于用户在使用应用时,弹出提示框 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showNotification:) name:@"Notification" object:nil]; 所以在 AppDelegate didReceiveRemoteNotification 中可以通过判断 isLaunchedByNotification 来通知不同的展示方法。 7 How to implement push notification in an app?(please provide program segments) 推送的话 , 首先要创建推送证书 , 然后需要在工程的 AppDelegate 中注册远程通知 , 然后在代理中接受返回的 device_token, 发送给后台。 P12 证书给后台一份 , 如果后台没有 MAC 电脑的话 , 在终端中把 p12 证书导出两个文件给后台 , 具体操作网上可以查到 还可以集成 XMPP 实现推送的功能。   推送的原理:   1 、首先是应用程序注册消息推送。      2 IOS APNS Server deviceToken 。应用程序接受 deviceToken      3 、应用程序将 deviceToken 发送给 PUSH 服务端程序。      4   服务端程序向 APNS 服务发送消息。    5 APNS 服务将消息发送给 iPhone 应用程序。   9. 推送功能怎么实现   推送的话 , 首先要创建推送证书 , 然后需要在工程的 AppDelegate 中注册远程通知 , 然后在代理中接受返回的 device_token, 发送给后台。 P12 证书给后台一份 , 如果后台没有 MAC 电脑的话 , 在终端中把 p12 证书导出两个文件给后台 , 具体操作网上可以查到 还可以集成 XMPP 实现推送的功能。   推送的原理:   1 、首先是应用程序注册消息推送。      2 IOS APNS Server deviceToken 。应用程序接受 deviceToken      3 、应用程序将 deviceToken 发送给 PUSH 服务端程序。      4   服务端程序向 APNS 服务发送消息。      5 APNS 服务将消息发送给 iPhone 应用程序。 推送通知,怎么根据不同客户接收到不同的推送消息,按照不同的客户群体收到不同的推送通知 .   APP 只管集成推送 , 具体推送给谁是后台决定的,后台根据 app 注册的 DeviceToken 推送给具体的人 , 根据创建工程的 BundelIdentifier 把消息推送到指定的手机的 app.

以上是关于关于项目中的推送问题。。的主要内容,如果未能解决你的问题,请参考以下文章

关于推荐算法未来的思考:推荐诗与远方

关于推荐算法未来的思考:推荐诗与远方

关于推荐算法未来的思考:推荐诗与远方

关于 Worklight 中的推送通知?

团队项目-选题报告

关于极光推送Jpush的demo