推送

推送

29.简单描述一下推送的过程。本地推送和远程推送有什么区别?

1首先是应用程序注册消息推送。

2IOS跟APNS Server要deviceToken。应用程序接受deviceToken。

3应用程序将deviceToken发送给PUSH服务端程序(Provider)。

4服务端程序向APNS服务发送消息。

5APNS服务将消息发送给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应用程序。

2推送通知,怎么根据不同客户接收到不同的推送消息,按照不同的客户群体收到不同的推送通知.

APP只管集成推送,具体推送给谁是后台决定的,后台根据app注册的DeviceToken推送给具体的人,根据创建工程的BundelIdentifier把消息推送到指定的手机的app.

�" >)���m��}

你可能感兴趣的:(推送)