铺垫
工作的关系使得我有了从服务器推送消息得手机上的需求,而这个需求我不停是使用邮件来实现的,就是在服务端通过邮箱给自己发送邮件,手机端使用对应的APP就会收到消息提示,也不用多个账号。
但是测试发如今iOS系统中,许多的邮件APP并不会及时的进行推送,大部分会有延时,最后选择了QQ邮箱,仅仅是由于新邮件可以及时收到。
由于JSBox也是我常使用的工具,我盼望在邮件中通过参数通报的方法直接运行一个脚本。虽然邮件容许使用HTML作为内容,但是许多会屏蔽
<a></a>
标签的链接。
为理解决以上的问题,我周末的时间抽空写了一个Telegram Bot,它的作用就是用来给我推送服务器的一些消息。
Bot能做什么?
很easy,就是推送文字和图片消息到我的Telegram上。
点击添加Bot
t.me
怎么推送
进入Bot后,点击底部的
Start
即可获取属于自己的推送链接。
推送的消息是通过对这个链接使用GET/POST请求进行的:
// 推送文字HelloWorld curl -X GET https://tgbot.lbyczf.com/sendMessage/:Token?text=HelloWorld
其他请参考:
Fndroid/tg_push_botgithub.com
请求完毕后,Telegram会收到对应的消息。
现在已经支持的字段:
推送链接
假如Scheme是Http或Https,那么推送到Telegram是直接可以访问的,也可以使用
Markdown
来展示一个链接。
但是假如是推送其他的Scheme如
jsbox://run?name=xxx
,那么这个链接是不会被Telegram X版本担当的,但是Telegram依然可以。但是这种环境下,Markdown就无效了,链接会变成文字。
虽然有限定,但是我们依然可以直接在推送的消息内里运行JSBox或Workflow脚本。
既然是推送到Telegram,那另有什么玩法?
就我个人来说,有的,就是和Chrome配合,把偶然候网上看到的工具直接发送到Telegram,大概是稍后再看,也大概是保存图片及段落。
对的,接着我就做了个Chrome的插件。
Fndroid/tg_notification_chromegithub.com
通过简单的设置(就是把Bot天生的链接填入设置页面)即可开始使用:
在需要推送的文字、图片和链接上点击右键,在菜单中选择
推送到Telegram
就好了:
GitHub地点
Fndroid/tg_push_botgithub.com Fndroid/tg_notification_chromegithub.com
telegram收不到推送
1. 检察手机端
- App 是否授权容许吸收通知 ;
推送通知时 App 需处于后台/封闭的状态 ,由于在 iOS 系统中,假如 App 在前台,就不会收到弹窗和通知中心的通知;( 附 :iOS 10 + ,前台通知触发回调处置完成后,调用
completionHandler
可 实现前台通知弹窗,详细参考 iOS 10 通知适配 – 4.4.2 )。
检察手机端的推送设置,可以通过如下的方法来判定手机端是否能从苹果 APNs 服务端拿到 Device Token , 假如设置不对,就会报错。
-
(
void
)
application
:(
UIApplication
*)
application didFailToRegisterForRemoteNotificationsWithError
:(
NSError
*)
error
{
NSLog
(@
"didFailToRegisterForRemoteNotificationsWithError %@"
,
error
);
}
unregisterForRemoteNotifications
接口(长途推送注销接口),装备调用该接口后无法收到苹果 APNs 推送通知。
2. 检察推送模式
-
iOS 端的推送通知,走的是苹果官方的 APNs 通道,本身区分
开发环境
和
生产环境
。 -
开发时安装得手机的 App,只能以
开发模式
推送,使用
APNs Sandbox
推送证书。 -
正式公布后,通过 App Store 安装的 App,只能以
生产模式
推送,用
APNs Production
推送证书;生产环境通知测试,参考 移动推送 iOS : Ad Hoc App 怎样进行生产环境推送通知测试? -
假如推送模式选错,要么推送证书传错,苹果的 APNs 服务端就会以为该 Device Token 无效,无法推送通知。常见控制台排查错误:
推送状态:失败
,
失败缘故: apns token 失效
。 -
OpenAPI的 推送高级接口 中,服务端可以通过设置
iOSApnsEnv
参数设置推送模式。留意 “ iOS ” 的 i 要小写 ,不然默认推送的是 生产模式。
3. 检察 IDE 设置
-
若没有打开推送开关,会触发 deviceToken 注册错误回调:
didFailToRegisterForRemoteNotificationsWithError:
,提示下述错误:
Error
Domain
=
NSCocoaErrorDomain
Code
=
3000
"未找到应用程序的“aps-environment”的授权字符串"
UserInfo
=
0x1740741c0
{
NSLocalizedDescription
=未找到应用程序的“
aps
-
environment
”的授权字符串
Xcode 8 开始,会出现一个推送开关,请保证它是处于打开状态
4. 推送证书正当性校验
5. 装备关机
装备关机后再推送通知,苹果 APNs 只保存最后一条通知,当重新开机后只能收到最后一条通知。
如题,我这里微信都是!可以收到通知的,telegram 就不可以。
telegram 收到消息之后,右上角的消息数目可以主动改变,但是 Banner 通知、通知!中心都没有。
列位 v 有有存在相怜悯况的吗?
本文网址:
http://www.1cm8858.com/d/202062711320_5190_2042496806/home
Ten articles before and after
如何下载发送到telegramapi-电报telegram技巧分享
数学幼儿园益智游戏――拍电报大班教案含反思-电报telegram技巧分享
美国签证中文电码如何填写?DS-电报telegram技巧分享
??最新高清完整福利视频telegram.twatWITG/电报纸飞机频道群组导航大全-电报telegram技巧分享
什么是telegram电报?群组广播-电报telegram技巧分享