关于App远程推送和启动
来源:互联网 发布:中日合邦 知乎 编辑:程序博客网 时间:2024/06/05 08:42
iOS App启动时候
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//对应的对象为启动URL(NSURL)
NSURL *url = [launchOptionsobjectForKey:UIApplicationLaunchOptionsURLKey];
//对应启动的源应用程序的bundle ID (NSString)
NSString *bundleId = [launchOptionsobjectForKey:UIApplicationLaunchOptionsSourceApplicationKey];
//由本地通知启动
UILocalNotification * localNotify = [launchOptionsobjectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
//由远程通知启动
NSDictionary * userInfo = [launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
App远程推送
扩展UIApplication+Addition.h
//是否注册
+ (BOOL)isPushRegistered
{
UIApplication *application = [UIApplicationsharedApplication];
if ([applicationrespondsToSelector:@selector(isRegisteredForRemoteNotifications)])
{
return [applicationisRegisteredForRemoteNotifications];
}
else
{
return application.enabledRemoteNotificationTypes !=UIRemoteNotificationTypeNone;
}
}
//注册push
+ (void)registerPush
{
UIApplication *application = [UIApplicationsharedApplication];
//-- Set Notification
if ([applicationrespondsToSelector:@selector(isRegisteredForRemoteNotifications)])
{
// iOS 8 Notifications
[application registerUserNotificationSettings:[UIUserNotificationSettingssettingsForTypes:(UIUserNotificationTypeSound |UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
[application registerForRemoteNotifications];
}
else
{
// iOS < 8 Notifications
[application registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeAlert |UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound)];
}
}
-> 苹果远程服务器
在AppDelegate
->注册成功
- (void)application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
返回一个deviceToken,
将token返回给自己服务器或第三方服务器,提交PUSH证书和密码
自己服务器或第三方服务器将要推送的内容传给苹果服务器,苹果服务器推送到手机App上。
->接受到远程推送来的消息
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary*)userInfo
->注册失败
-(void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
- 关于App远程推送和启动
- 远程推送app配置
- 关于远程推送步骤
- 【关于推送通知】请问在APP主进程未启动时,可以用推送通知来启动APP么?
- 远程推送的APP端实现
- app Remote Notification远程消息推送处理
- ios 远程推送和本地推送
- IOS 本地推送和远程推送
- 本地推送通知和远程推送通知
- 【iOS】本地推送和模拟远程推送
- iOS本地推送和远程推送详解
- 极光推送和苹果远程推送
- iOS10 远程推送和本地推送
- iOS远程推送和本地推送
- 本地推送和远程通知
- 本地通知和远程推送
- 本地通知和远程推送
- 关于iOS远程推送原理步骤
- VS2010折叠大纲快捷键
- android4.4 PowerManagerService流程分析
- Product of Array Except Self 数组除自身的所有乘积
- 开启线程后开辟stacksize 最小为多少
- HBASE table导出到文件的方法
- 关于App远程推送和启动
- 敏捷开发
- Gtest学习笔记1.0
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(三):.引用传递
- BFS
- Android 4.4音量键控制音量流程
- javascript函数
- sql 当前时间跟数据库字段做比较
- 第二周实践项目1-C++语言中函数参数传递的三种方式(传地址)