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
应用程序。
2
推送通知,怎么根据不同客户接收到不同的推送消息,按照不同的客户群体收到不同的推送通知
.
APP
只管集成推送
,
具体推送给谁是后台决定的,后台根据
app
注册的
DeviceToken
推送给具体的人
,
根据创建工程的
BundelIdentifier
把消息推送到指定的手机的
app.