前面的文章中推送通知我都是立即发送,其实使用 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(定时推送通知)相关推荐

  1. jpush推送格式 swift_SWIFT集成极光JPUSH推送

    今天记录一下用swift集成极光推送 一.首先到极光推送的官网下载iOS对应的SDK包  SDK下载地址,地址自己搜索 二.第二步在极光的官网创建账号配置对应的应用信息,推送证书的这些就不介绍了很基本 ...

  2. 【微信早安定时推送消息】微信公众号定时推送早安消息 带天气、纪念日、生日、定时推送等(完整代码)

    我挥舞着键盘和本子,发誓要把世界写个明明白白. 简介 利用所学知识给他/她一个惊喜,是作为计算机专业的你最大的乐趣. 无计算机基础,5分钟即设置好 (定时推送 及 最新版 将在下期带来) 获取完整代码 ...

  3. jpush推送格式 swift_swift 极光推送

    1.项目配置 1.1 导入SDK 1.1.1 CocoaPods导入 # platform :ios, '9.0' target 'JGPush' do use_frameworks! pod 'JP ...

  4. jpush推送格式 swift_Swift中配置极光推送

    因为要适配iOS 10以下的系统,所以在配置极光推送时要做一些处理. 先上代码,等会儿慢慢说,或者有问题可以在下面留言.当然我写的也有不标准的地方,还请各位多多指教. 如下代码 import UIKi ...

  5. 极光推送服务端API(定时推送任务,推送到指定设备,推送到所有设备)

    极光推送常用的几个api方法总结,抽取出了utils类,利用MsgType进行业务类型区别,方便app端收到推送后进行不同处理: 首先引入依赖: <!-- 极光推送 --><depe ...

  6. 手把手教你给女朋友编写一个公众号定时推送(java版本)

    2022-08-15 开通微信云托管 在公众号推送的云服务器选择上,我选择的是微信云托管. 扫码登陆后,如果是第一次注册试用,没有环境,可以选择自己擅长的语言进行一键部署模板.此处我选择的是Sprin ...

  7. 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)

    这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...

  8. 极光推送后台php接口,极光推送Jpush(v2)接口 服务端PHP版本的REST API推送类

    在许多的手机App开发中推送是一个必须的应用.高大上的企业都会自己投入成本搭建自己的推送服务器,而小微企业则会选择一些服务商,使用他们的服务,减轻自己的运营和维护的成本.Jpush(极光推送)是目前比 ...

  9. .net平台借助第三方推送服务在推送Android消息(极光推送) 转

    分类: .net外部工具接口(3) .net知识精华(29) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近做的.net项目(Windows Service)需要向Android手机发送推 ...

最新文章

  1. BT656与BT1120那点事
  2. golang微服务框架对比_微服务里程碑,Golang与Spring Cloud Alibaba完美结合
  3. c语言编程高价是啥,有哪位高手可以帮我做几道c语言编程,有钱的呀,价格可以商量...
  4. DXPerience6.x 使用体会(二)
  5. ServiceComb开放性设计
  6. spring整合问题集合1
  7. vbs if 不等于_6、if语句和关系表达式
  8. java反编译器JAD.exe的使用
  9. 二维矩阵边界包围JAVA_Quart 2D 绘制图形简单总结
  10. 小扎展示Facebook十年产品路线图,跳票的智能音箱又有新爆料
  11. java tmp 目录_Tmp目录丢失引发Java进程异常
  12. Unity 安装个人免费版步骤详解
  13. 数值计算之 梯度向量和梯度矩阵,雅可比矩阵,海森矩阵
  14. python14张图下载_Python网络爬虫入门(三)—— 做个简陋的pixabay 图片下载器 (附源码)...
  15. 他是中国最牛X的黑客,曾让6个国家束手无策,却被怀疑是精神病
  16. UOJ14 DZY Loves Graph
  17. 解决黑群晖切换网络环境后无法访问的问题
  18. Java关于身份证验证的实现
  19. 【Kruskal】Uva 1395 Slim Span
  20. 【前端】一、web技术基础

热门文章

  1. 7 面阿里,终获 Offer《原力计划【第二季】》第 9周周榜揭晓!!!
  2. 盘点 12 款让开发效率“飞起”的 VS Code 插件
  3. 为什么旧硬件的驱动越来越难找了?
  4. 英特尔首推异构编程神器 oneAPI,可让程序员少加班!
  5. 5G手机江湖:一场卡位战,一位“关键先生”,一个“王者”
  6. 库克回应 iPhone 11 系列不支持 5G;哈啰 App 被下架;Flutter 1.9 稳定版发布 | 极客头条...
  7. 厉害了!这项技术BAT力捧!程序员:我彻底慌了...
  8. 山东到底有没有互联网?
  9. 编程语言流行指数:Python 稳居宝座,Java 滑坡!
  10. Google 作恶!99.9% 的 Android 手机 App 都在窃取隐私