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

  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.

你可能感兴趣的:(关于项目中的推送问题。。)