image 从图中可以很清楚的看出来推送的原理主要分为以下几步: 1.由App向iOS设备发送一个注册通知,用户需要同意系统发送推送。 2.iOS向APNs远程推送服务器发送App的Bundle Id和设备的UDID。 3.APNs根据设备的UDID和App的Bundle Id生成deviceToken再发回给App。 4.App再将deviceToken发送给远程推送服务器(自己的服务器), 由服务器保存在数据库中。 5.当自己的服务器想发送推送时, 在远程推送服务器中输入要发送的消息并选择发给哪些用户的deviceToken,由远程推送服务器发送给APNs。 再说一下简单实现,首先要去配置好证书,有调试和发布证书以及配置文件,这里不再细说。
iOS集成极光推送 一、配置APNs 苹果APNs(英文全称:Apple Push Notification Service) 1.配置开发证书 ? apns_1.png ? apns_16.png 二、集成极光推送SDK sdk地址 我使用的是JPush-iOS-SDK-2.1.0。 下载的文件里有个pdf文件iOS+SDK+Integration+Guide.pdf,介绍了集成极光推送的详细代码。 在工程文件中,做如下设置: ? 我的情况是这样,代码里设置的是生产环境,由于公司要求使用 alias 来区分需要推送通知的用户,再使用 xcode 测试的时候,使用极光推送控制台向指定 alias 推送通知,在极光推送控制台设置 iOS 4.如果推送使用的是自己的后台,需要告知,后台设置 iOS 的环境为生产环境,才能收到后台推送的通知,否则是收不到通知的,被这个坑了好长时间。。。?
安全/快速/稳定的APP消息推送服务,用户促活/留存利器,稳定服务于腾讯游戏、腾讯视频等高日活应,欲购从速!
申请IOS生产证书 IOS的生产证书在极光推送IOS平台配置时需要用到,完成这个证书的创建过程比较复杂,以下分为三个阶段来完成。 第一步:创建标识符。 点击继续之前,记得勾选推送消息功能。 ? 至此,标识符添加完毕,在标识符列表就可以看到了。 第二步:生成钥匙串文件。 打开苹果电脑的钥匙串访问功能。 ? 选择 证书助理 ▸ 从证书颁发机构请求证书。 极光推送平台申请应用 创建应用。 ? 填写应用程序名称。 ? 选择IOS平台,在生产证书处选择之前创建的证书,证书格式为p12。 ? 完成上面的操作在应用管理中就可以看到创建的应用程序了。 ? channel: "theChannel", production: false, debug: true, ); // 设置别名实现指定用户推送 /ios_cer_guide/
什么是远程消息推送? APNs:Apple Push Notification server 苹果推送通知服务 苹果的APNs允许设备和苹果的推送通知服务器保持连接,支持开发者推送消息给用户设备对应的应用程序。 2. 实现消息推送的步骤 1、 注册:为应用程序申请消息推送服务。此时你的设备会向APNs服务器发送注册请求。 4、 后台服务器向APNs服务器发送推送消息 5、 APNs服务器将消息发给deviceToken对应设备上的应用程序 4. 消息推送原理 ?
0、通知 iOS中的推送通知,主要有以下几种推送: 本地通知:iOS在本地发出的通知,功能开发集成在UserNotifications.framework内,常见应用:闹钟提醒。 Notifications 回顾 iOS 3 - Apple 引入推送通知 iOS 4 - 引入本地通知 iOS 5 - 有了通知中心 iOS 6 - 通知中心与iCloud同步 iOS 7 - 后台靜默推送 ,新增了图片音频视频等格式 iOS 12 - 新增了通知分组、隐式推送、通知内容拓展 1、APNs APNs,即 Apple Push Notification Service,依托一个或几个系统常驻进程运作 主要流程为: 服务器端将消息先发送到苹果的APNs; 由苹果的APNs将消息推送到客户的设备端; 由iOS系统将接收到的消息分发给相应的App。 (device token是APNs用于区分识别每个iOS设备和设备上不同app的一个标识符,还可以用于APNs通过它将推送消息路由到指定设备上) deviceToken注意事项: 获取deviceToken
一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下。 你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机。 接下来再看一张解释图: 根据上图的逻辑我来给大家解释一下: 1.你的IOS应用需要去注册APNS消息推送功能。 4.当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服 5.APNS再将消息推送给目的iphone 第二部分 1.从证书颁发机构颁发证书 打开你 的推送跟ios7及以下的不一样,所以需要加判断来注册消息推送。
---- 模拟推送 Web端 常见的消息推送实际上大多数都是模拟推送,之所以是模拟推送,是因为这种实现并不是服务器主动推送,本质依旧是客户端发起请求,服务端返回数据,起主动作用的是客户端。 ---- 短轮询 实现上最简单的一种模拟推送方法,原理就是客户端不断地向服务端发请求,如果服务端数据有更新,服务端就把数据发送回来,客户端就能接收到新数据了。 socket.io 是与 Nodejs联手开发,功能齐全,被广泛运用于游戏、实时通讯等应用。 }) http.listen(3000, ()=> { console.log('Server running at 3000.') }) 效果如下: 注、websocket是javaweb实现即时消息推送最佳方案 最新版本的DWR 2.X增加了反向(Reverse AJAX)功能,通过反向AJAX功能,服务器端的JavaBean对象可以将取得的数据直接推送到指定的客户端页面,写到指定的HTML元素内,这个过程不需要客户端进行任何的请求操作
Android Push Notification实现信息推送功能 在之前的一篇文章中提到在Android中实现推送方式的解决方案,其中一个比较成熟的解决方案便是使用XMPP协议实现。 而AndroidPn项目就是使用XMPP协议实现信息推送的一个开源项目。在这里给大家介绍其使用过程。 可以同时推送消息到网站页面,android 手机 耗电少,占用流量少. 推送信息如下界面所示: ? 测试结果如下图所示: ? ? 最后在我的模拟器和真机中测试通过。^_^
作者:Pikacode 原文链接:http://www.jianshu.com/p/67864e1c2085 本文获作者授权转载 或许很多童鞋还不知道,在 iOS 中收到推送通知时,如果 App 处于前台运行的情况下 然而就是有很多**的产品经理都会提出类似这样的**需求: 那就是在 App 处于前台时一样要弹出推送的窗口,而且还要能点击,能跳转到指定页面,甚至这一需求还涉及到了产品的核心功能。 获取推送内容,并且处理点击事件。 支持 iOS 7~10 beta,支持模拟器和真机运行。 效果 实际效果如下: ? ? 接收远程/本地推送后弹窗 接收远程/本地推送后,自动在前台展示推送弹窗及声音。 系统自带的声音 id,系统级的推送服务默认使用的是三全音,id = 1312 其他系统声音 id 可以在这里查询到iOS Predefined sounds 备用地址AudioServices sounds
效果图如下: 具体代码实现: #import "MiaoBiaoViewController.h" #define kW self.view.frame.size.width #define kH
首先要明确一个概念,打包需要打包证书,推送需要推送证书。 比如你使用hbuilderx打包,使用了推送功能,则你需要两个证书:一个是打包证书,一个是推送证书。这两个证书是不能合二为一的。 打包的证书是用来在hbuilderx打包的,而推送证书是用来放到推送平台后台发送推送消息用的(比如你在hbuilderx使用了个推,就需要登录个推的后台,把这个推送证书上传到个推的后台)。 假如你没有如何生成证书的经验,你可以参考我之前写的这篇文章先生成打包证书: (要注意的是,因为你用了推送功能,在下面这篇文章生成identifiers(appId)的那个步骤中,创建的时候要勾选支持推送 你熟悉打包证书的创建流程后,创建推送证书就很简单了,就是上文链接创建cer证书的步骤中,证书类型选择发布型push推送证书就行了。
image.png 此处需要指定完整的 Bundle ID,不能使用通配符星号,拥有通配符appID是无法正常使用APNs推送服务。 ? image.png 为 App 开启 Push Notification 功能。如果是已经创建的 App ID 也可以通过设置开启 Push Notification 功能。 ? 开发证书用于开发调试使用;生产证书既能用于开发也可以产品发布,但是建议开发和发布分开以免出现推送事故。 ? image.png 点击 "Continue", 之后选择该证书准备关联的 AppID。 key.unencrypted.pem cat cert.pem key.unencrypted.pem > ck.pem #clear rm cert.pem rm key.pem rm key.unencrypted.pem 推送测试
如何使用远程推送 1. 为 App 开启远程推送服务 登录Apple Developer,进入 Identifiers 选择 App IDs。 ? ? 需要注意的是,您 App 的 BundleID 不能使用通配符,否则将无法使用远程推送服务。 ? 开启远程推送服务。 ? 2. 按照上面同样的步骤,生成生成环境的推送证书。 ? 从 iOS 9.2开始,Apple Developer 上生成的生产环境推送证书,名称为 Apple Push Services: XXX, 之前生成的生产环境推送证书名称为 Apple Production IOS Push Services: XXX。
推送的方式: 短信推送(第三方) 邮件推送 微信推送 公众号:认证的公众号(个人的认证公众号每天只能发一篇文章),粉丝可以跟公众号聊天,未认证公众号 服务号:企业认证(营业执照),沙箱环境测试主动给用户发消息 (推送),用户要接收到推送消息前提是需要关注对应的服务号才行 企业号 微信小程序 微信推送的流程: 微信沙箱环境:http://mp.weixin.qq.com/debug/cgi-bin/sandbox 使用pycharm打开微信推送demo,然后进行相关修改(下载地址) ? settings.py配置文件修改测试参数: ? ? ? ? ? 给用户推送消息功能 使用场景,公众号发布文章、公众号提供购买服务,用户购买成功后、公众号需要主动与用户联系的时候就需要给关注公众号并已经授权的用户发送信息,即推送消息 路由: ? ? ? ? 模板形式推送消息 ? 简单给单用户推送信息功能的实现,这里需要再进一步思考一下,如何给多用户或者全部用户推送消息?
前言 iOS消息推送分两种,本地推送和远程推送。本地推送是由本地应用触发的,是基于时间的通知形式,不通过网络,直接安装应用后就可以接到通知,一般用于闹钟定时、待办事项等提醒功能。 主要从iOS远程消息推送过程以及客户端如何处理推送消息的开发实现逻辑两方面来展开,最后梳理一下iOS消息推送测试时需要关注的点。 1.iOS消息推送过程 ? content-available:此字段为 iOS 7 silent remote notification 使用。不使用此功能时无需包含此字段。 4.消息推送功能测试 了解了消息的开发实现流程后,小编总结了消息推送测试时需要关注的点,希望对你有所启发: (1)消息推送对象 消息推送一般可以自定义推送对象,有全部推送,精确推送,及安卓和IOS渠道推送 (6)客户端操作:推送正常到达;点击推送响应;不同界面打开推送跳转界面及功能是否正常。 (7)系统兼容: iOS10系统前后推送机制有较大更新,检查系统兼容性。
github.com/shaojiankui/SmartPush 2、release安装包:https://github.com/shaojiankui/SmartPush/releases 二、配置 1、安装推送证书 沙盒环境:测试环境 生产环境 2、获取pushtoken 三、发送类型 1、自定义推送数据 alert:推送消息的文本内容 badge:应用图标右上角的数字。
或许很多童鞋还不知道,在 iOS 中收到推送通知时,如果 App 处于前台运行的情况下,推送的顶部弹窗是不会弹出来的。 然而就是有很多**的产品经理都会提出类似这样的**需求: 那就是在 App 处于前台时一样要弹出推送的窗口,而且还要能点击,能跳转到指定页面,甚至这一需求还涉及到了产品的核心功能。 获取推送内容,并且处理点击事件。 支持 iOS 7~10 beta,支持模拟器和真机运行。 接收远程/本地推送后弹窗 接收远程/本地推送后,自动在前台展示推送弹窗及声音。 completionHandler(UIBackgroundFetchResultNewData); } soundID 参数 iOS 系统自带的声音 id,系统级的推送服务默认使用的是三全音,id =
之前有写过利用Python自己写一个推送服务器, 今天说下如果集成友盟的推送服务 在这之前我们需要做一些准备动作 #1. 注册一个App ID #2. Enable Push NotificationSerivice, 并创建和下载开发/发布推送证书 #3. 安装推送证书, 然后把推送证书导出为p12文件 #4. 注册友盟账号 #5. 创建一个推送应用, 并上传推送证书的p12文件和填写密码 #6. registerForRemoteNotifications]; //开启log [UMessage setLogEnabled:YES]; //检查是否为iOS UIDevice currentDevice] systemVersion] floatValue] < 10.0) { } else { //如果是iOS
说到远程推送,应该用的也挺多的,今天就基于SEA的云推送服务,做一个推送的小demo,来了解一下iOS中的远程推送是怎么一回事儿,首先你得有苹果的开发者账号,好咸蛋也差不多了,主要内容走起。 一、准备阶段 1.在苹果开发官网上申请推送证书之前需要一个名字叫做certSigningRequest文件。 (6)、选中Push Notifications,使本AppID支持消息推送: ? 3、用上面的AppID申请推送证书 (1)、点击证书,选中开发模式,然后单选推送服务 ? (2)、选中我们刚才创建的AppID,如下: ? 二、服务器端代码编写: SAE上云推送所用到的PHP代码如下: 1 <?
---- 推送介绍 iOS 中的推送分为两种:本地推送和远程推送。与之对应两种通知分别是LocalNotification和RemoteNotification。 今天介绍本地推送,因为本地推送不涉及到苹果的推送服务器,所以测试本地推送功能不需要开发者证书,甚至在模拟器上测试也可以。 总结 在App处于前台时,创建一个或者多个本地通知,然后到了设置好的时间,iPhone 的通知中心,就会在指定时间将本地通知推送(分发)到App。 } 使用步骤 首先,是注册推送: UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes: application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { // 本地推送
云开发(Tencent Cloud Base,TCB)是腾讯云为移动开发者提供的一站式后端云服务,支持小程序、小游戏、Web、APP开发。它帮助开发者统一构建和管理资源,让开发者可以专注于业务逻辑的实现,而无需理解后端逻辑及服务器运维知识,开发门槛更低,效率更高。
扫码关注腾讯云开发者
领取腾讯云代金券