jpush推送格式 swift_Swift - JPush极光推送的使用6(定时推送通知)
前面的文章中推送通知我都是立即发送,其实使用 JPush我们还可以通过创建定时任务来实现消息的定时发送。
1,创建具体时间点的定时任务
(1)样例说明
服务端页面上我们除了填写通知内容外,还可以指定发送通知的时间。点击“发送”后,客户端不会立刻收到通知。
只有到了指定的的时间,客户端才会收到通知。
(2)index.php(服务端代码)
//引入代码
require 'JPush/autoload.php';
use JPush\Client as JPush;
if(isset($_POST["message"])){
//初始化
$app_key = "7b528331738ec719195798fd";
$master_secret = "32da4e2c06dc7b25da2c9828";
$client = new JPush($app_key, $master_secret);
//简单的推送样例
$payload = $client->push()
->setPlatform('ios', 'android')
->addAllAudience()
->setNotificationAlert($_POST["message"])
->options(array(
"apns_production" => true //true表示发送到生产环境(默认值),false为开发环境
))
->build();
// 创建在指定时间点触发的定时任务
$response = $client->schedule()->createSingleSchedule("指定时间点的定时任务",
$payload, array("time"=>$_POST["time"]));
echo 'Result=' . json_encode($response);
}
?>
通知内容:
发送时间:
推送
(3)AppDelegate.swift(客户端代码。这个同之前文章里的一样,没有改变。本文代码已升级至 Swfit3)
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
//通知类型(这里将声音、消息、提醒角标都给加上)
let userSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound],
categories: nil)
if ((UIDevice.current.systemVersion as NSString).floatValue >= 8.0) {
//可以添加自定义categories
JPUSHService.register(forRemoteNotificationTypes: userSettings.types.rawValue,
categories: nil)
}
else {
//categories 必须为nil
JPUSHService.register(forRemoteNotificationTypes: userSettings.types.rawValue,
categories: nil)
}
// 启动JPushSDK
JPUSHService.setup(withOption: nil, appKey: "7b96331738ea713195698fd",
channel: "Publish Channel", apsForProduction: false)
return true
}
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
//注册 DeviceToken
JPUSHService.registerDeviceToken(deviceToken)
}
func application(_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable : Any],
fetchCompletionHandler
completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
//增加IOS 7的支持
JPUSHService.handleRemoteNotification(userInfo)
completionHandler(UIBackgroundFetchResult.newData)
}
func application(_ application: UIApplication,
didFailToRegisterForRemoteNotificationsWithError error: Error) {
//可选
NSLog("did Fail To Register For Remote Notifications With Error: \(error)")
}
//..........
}
2,创建循环重复执行的定时任务
比如下面代码创建一个每天14点发送的定时任务。
// 创建一个每天14点发送的定时任务
$response = $client->schedule()->createPeriodicalSchedule("每天14点发送的定时任务", $payload,
array(
"start"=>"2016-01-22 13:45:00",
"end"=>"2016-12-25 13:45:00",
"time"=>"14:00:00",
"time_unit"=>"DAY",
"frequency"=>1
));
echo 'Result=' . json_encode($response);
3,更新指定的定时任务
$schedule_id = $response["body"]["schedule_id"];
// 更新指定的定时任务
$response = $client->schedule()->updatePeriodicalSchedule($schedule_id, null, true);
echo "Result=" . json_encode($response);
4,获取定时任务列表
$response = $client->schedule()->getSchedules();
echo "Result=" . json_encode($response);
5,删除定时任务
$response = $client->schedule()->deleteSchedule($schedule_id);
echo "Result=" . json_encode($response);
jpush推送格式 swift_Swift - JPush极光推送的使用6(定时推送通知)相关推荐
- jpush推送格式 swift_SWIFT集成极光JPUSH推送
今天记录一下用swift集成极光推送 一.首先到极光推送的官网下载iOS对应的SDK包 SDK下载地址,地址自己搜索 二.第二步在极光的官网创建账号配置对应的应用信息,推送证书的这些就不介绍了很基本 ...
- 【微信早安定时推送消息】微信公众号定时推送早安消息 带天气、纪念日、生日、定时推送等(完整代码)
我挥舞着键盘和本子,发誓要把世界写个明明白白. 简介 利用所学知识给他/她一个惊喜,是作为计算机专业的你最大的乐趣. 无计算机基础,5分钟即设置好 (定时推送 及 最新版 将在下期带来) 获取完整代码 ...
- jpush推送格式 swift_swift 极光推送
1.项目配置 1.1 导入SDK 1.1.1 CocoaPods导入 # platform :ios, '9.0' target 'JGPush' do use_frameworks! pod 'JP ...
- jpush推送格式 swift_Swift中配置极光推送
因为要适配iOS 10以下的系统,所以在配置极光推送时要做一些处理. 先上代码,等会儿慢慢说,或者有问题可以在下面留言.当然我写的也有不标准的地方,还请各位多多指教. 如下代码 import UIKi ...
- 极光推送服务端API(定时推送任务,推送到指定设备,推送到所有设备)
极光推送常用的几个api方法总结,抽取出了utils类,利用MsgType进行业务类型区别,方便app端收到推送后进行不同处理: 首先引入依赖: <!-- 极光推送 --><depe ...
- 手把手教你给女朋友编写一个公众号定时推送(java版本)
2022-08-15 开通微信云托管 在公众号推送的云服务器选择上,我选择的是微信云托管. 扫码登陆后,如果是第一次注册试用,没有环境,可以选择自己擅长的语言进行一键部署模板.此处我选择的是Sprin ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- 极光推送后台php接口,极光推送Jpush(v2)接口 服务端PHP版本的REST API推送类
在许多的手机App开发中推送是一个必须的应用.高大上的企业都会自己投入成本搭建自己的推送服务器,而小微企业则会选择一些服务商,使用他们的服务,减轻自己的运营和维护的成本.Jpush(极光推送)是目前比 ...
- .net平台借助第三方推送服务在推送Android消息(极光推送) 转
分类: .net外部工具接口(3) .net知识精华(29) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近做的.net项目(Windows Service)需要向Android手机发送推 ...
最新文章
- BT656与BT1120那点事
- golang微服务框架对比_微服务里程碑,Golang与Spring Cloud Alibaba完美结合
- c语言编程高价是啥,有哪位高手可以帮我做几道c语言编程,有钱的呀,价格可以商量...
- DXPerience6.x 使用体会(二)
- ServiceComb开放性设计
- spring整合问题集合1
- vbs if 不等于_6、if语句和关系表达式
- java反编译器JAD.exe的使用
- 二维矩阵边界包围JAVA_Quart 2D 绘制图形简单总结
- 小扎展示Facebook十年产品路线图,跳票的智能音箱又有新爆料
- java tmp 目录_Tmp目录丢失引发Java进程异常
- Unity 安装个人免费版步骤详解
- 数值计算之 梯度向量和梯度矩阵,雅可比矩阵,海森矩阵
- python14张图下载_Python网络爬虫入门(三)—— 做个简陋的pixabay 图片下载器 (附源码)...
- 他是中国最牛X的黑客,曾让6个国家束手无策,却被怀疑是精神病
- UOJ14 DZY Loves Graph
- 解决黑群晖切换网络环境后无法访问的问题
- Java关于身份证验证的实现
- 【Kruskal】Uva 1395 Slim Span
- 【前端】一、web技术基础
热门文章
- 7 面阿里,终获 Offer《原力计划【第二季】》第 9周周榜揭晓!!!
- 盘点 12 款让开发效率“飞起”的 VS Code 插件
- 为什么旧硬件的驱动越来越难找了?
- 英特尔首推异构编程神器 oneAPI,可让程序员少加班!
- 5G手机江湖:一场卡位战,一位“关键先生”,一个“王者”
- 库克回应 iPhone 11 系列不支持 5G;哈啰 App 被下架;Flutter 1.9 稳定版发布 | 极客头条...
- 厉害了!这项技术BAT力捧!程序员:我彻底慌了...
- 山东到底有没有互联网?
- 编程语言流行指数:Python 稳居宝座,Java 滑坡!
- Google 作恶!99.9% 的 Android 手机 App 都在窃取隐私