ios--pushnotification学习与总结(推送机制)

第一步熟悉pushnotification以及创建证书,可以通过下面这个网站去熟悉下

http://blog.csdn.net/daydreamingboy/article/details/7977098  (iOS上简单推送通知(Push
Notification)的实现

第二步,找一个demo学习一下:我在github上面找的一个demo

https://github.com/Turkcell/PushNotification_iOS_sdk

在代码中要做以下的事情:

#pragma mark  --------远程通知
- (void)registerAPNSNotification
{
    //适配8.0,IF走8.0
    if (![[NSUserDefaults standardUserDefaults] boolForKey:kOatosParamsDeviceToken])
    {
        if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
            UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];
            [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
        }else {
            [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];
        }

    }
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self registerAPNSNotification];
//清除所有本地通知
    [application cancelAllLocalNotifications];
    application.applicationIconBadgeNumber = 0;
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    if ([[UIApplication sharedApplication] enabledRemoteNotificationTypes] == UIRemoteNotificationTypeNone && !isLogout) {
         [self registerAPNSNotification];
    }
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
//注册远程通知成功
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    NSString *token = [NSString stringWithFormat:@"%@", [[[deviceToken description] stringByReplacingOccurrencesOfString:@"<" withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""]];
    DLog(@"deviceToken[%@]", token);
    [[NSUserDefaults standardUserDefaults] setObject:token forKey:kOatosParamsDeviceToken];
}
//注册远程通知失败
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
    NSString *error_str = [NSString stringWithFormat: @"%@", error];
    DLog(@"获取deviceToken失败[%@]", error_str);
}
时间: 2024-11-07 13:56:50

ios--pushnotification学习与总结(推送机制)的相关文章

Android (Notification)消息推送机制

从网上查询资料学习Android消息推送机制,效果图如下: 1.首先是布局文件代码 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

Android与iOS系统的消息推送机制

相信大家在使用iPhone版微信的时候都会有这样的经历,微信已经处于关闭状态了(后台进程运行一段时间就被系统杀掉),这时候我们收到了一个消息提醒,打开微信应用,微信显示“连接中…”和“收取中…”,然后再次显示一次刚才系统推送给我的消息通知.对这个现象比较好奇,于是去知乎上查一下资料,发现知乎上的热心人还真多,看了大家的回答之后,总结如下: [之所以去知乎查看技术问题,因为我并非技术人员,而知乎上很多开发人员是会用通俗易懂的方式解释好技术问题的,因为里面有不少大牛.] 先介绍一下两个重要的消息推送

iOS的推送机制APNs:本地推送&amp;远程推送

本地推送: 本地推送主要应用在备忘录,闹钟等本地的,基于时间定时的消息提醒.本篇不做详细描述. 远程推送:APNS(苹果推送通知服务) iOS远程推送机制的原理及流程: 注册推送(橙色部分):若该App允许接收推送消息,则先要在代码中注册远程推送.注册推送后,iOS带着设备序列号去请求ANPS而获得deviceToken.然后App把deviceToken发送给我们App的服务器.因为若服务器有消息给我们推送时,它会把要发送的消息和deviceToken按照一定的格式一并打包发送给ANPS服务器

Android消息推送机制

1.推送方式基础知识: 当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如<地震应急通>就需要及时获取服务器上最新的地震信息.要获取服务器 上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现.第二种就是 服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上.? 虽然Pull和Push两种方式都能实现获取服务器端更新信息的功能,但是明显来说Push is

iOS开发中的远程推送实现(最新,支持iOS9)

我的个人项目<丁丁印记>中加入了远程推送功能,按照操作说明去做还是比较容易实现的,但是学的不够不系统,因此这篇文章希望总结一下最新的iOS推送功能,因为iOS8之后的推送和致之前的版本是有所不同的,也希望想能帮助到需要的朋友.这篇文章将从零开始,向大家介绍远程推送功能的原理和使用. 什么是远程推送通知 顾名思义,就是从远程服务器推送给客户端的通知(需要联网)远程推送服务,又称为APNs(Apple Push Notification Services). 为什么程序中需要远程推送功能 1.传统

IOS平台的几个推送服务的对比

IOS平台的几个推送服务的对比 http://blog.163.com/[email protected]/blog/static/171370086201399113833299/ 最近研究了一下极光推送(JPush),百度云推送和个推在IOS平台的推送机制,做了一下对比.       首先, 介绍苹果推送通知服务的推送机制(APNS: Apple Push Notification Service):                                              

APP消息推送机制的实现(PUSH)

出于好奇,想了解一下消息推送机制,在网上搜索到了几篇文章,感觉还不错,粘贴下来,等真正用到的时候再仔细研究 以下两篇是关于ios的 1.http://blog.csdn.net/xyxjn/article/details/40898183 2.http://www.cnblogs.com/qq78292959/archive/2012/07/16/2593651.html 以下一篇是关于android的 3.http://www.cnblogs.com/wxishang1991/p/521940

第十一章:推送机制

本章将会详细介绍iOS本地通知和远程通知相关的知识.本地通知和远程推送通知都可以向不在前台运行的应用发送消息,他们在程序界面上的显示效果相同,都可能显示为一段警告信息或应用程序图标上的徽标. 不管是本地通知还是远程推送通知,都可对用户进行提醒,提醒用户即将要做的事情,也可将服务器数据发送给iOS客户端.本地通知和推送通知的基本目的都是让应用程序能够通知用户某些事情,而且不需要应用程序在前台运行. 一.使用NSNotificationCenter通信 NSNotificationCenter实现了

iPhone消息推送机制实现与探讨

最近两天在研究ios的消息推送机制.研究这个东西,还是充满兴趣的. Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器. 上图可以分为三个阶段. 第一阶段:.net应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在

APNS编程----iOS真机测试消息推送

一.准备工作 1 拥有一台iOS为操作系统的苹果设备,iPhone,iPad,iPod都可以. 2 拥有苹果开发者账号,需要真机调试,最好是是付费开发者,后面的步骤将会更顺利. 3 需要一台PC做推送服务器,如果是台拥有MAC OS系统,将会更方便. 二.了解大致步骤 我们需要从测试的消息推动服务器,发送一条消息到Apple Push Notification Services,然后APNS转发到iOS设备,完成消息推送过程. 由于我们的测试服务器到APNS,传递的是加密后的消息,所以需要申请证