两大推送服务---jpush和fcm

    因为工作需要,接触了游戏中必不可少的推送服务,我们用到的是JPush和FCM。JPush(极光推送)是独立的第三方云推送平台, 开发者集成 SDK 后,可以通过调用 API 推送消息。  全面支持 Android, iOS, Winphone 三大手机平台,但是不支持海外Android,所以我们用FCM(Firebase) 来做海外Android的推送服务。因笔者是服务器开发,故此篇只介绍一些服务器相关的东西,不涉及客户端SDK的接入。

  JPush

    JPush 提供四种消息形式:通知,自定义消息,富媒体和本地通知。我们只用到了通知,JPush的通知支持定时通知,但是和普通的直接通知的API稍微有点不同,服务器推送的目标地址也不同。

普通推送

服务器接口说明文档地址:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/

推送目标地址:

https://api.jpush.cn/v3/push

JPush 当前支持 Android, iOS, QuickApp,Windows Phone 三个平台的推送。其关键字分别为:"android", "ios", "quickapp","winphone",也支持推送到所有平台,关键字为"all", 不同的平台推送的notification字段结构会稍微有区别,可能有很多的字段,但是一个简单的推送一般需要的字段如下:

字段名内容 
platformall或者[android]或者[ios]推送平台设置
audience[{registration_id,[pushid,push_id]}]推送设备指定、可同时推送多个
notification[{ios,[{alert, PushContent}]}]通知内容体。是被推送到客户端的内容
options[{apns_production, true}]apns_production 字段来设定推送环境。True 表示推送生产环境,False 表示要推送开发环境

 

如果有一些需要推送给客户端的消息,可以放在extras字段中,他的值是key,value的形式的list,字段和alert是同一级别。

定时推送

    定时推送可以设置一个时间,在到设置时间点之后再推送给用户。Jpush会维护一个Schedule,我们可以调用API对已发送到Jpush的推送进行修改和删除,且支持定期任务。

接口说明文档:https://docs.jiguang.cn/jpush/server/push/rest_api_push_schedule/

推送目标地址:https://api.jpush.cn/v3/schedules

  FCM

    fcm推送必须在装有谷歌框架的手机上才能收到,不支持服务端定时推送,但是可在平台手动操作设置定时推送。

一个简单的推送结构如下

[
  {registration_ids, [pushid,pushid]},
  {data, [{title, Title}, {body, Body}]}, //这里可以增加其他任何想发给客户端的自定义字段
  {nofification, []}  //内容可以和data重复
]

在实际测试中发现fcm推送有时会有一些延迟,且只有在退后台且尚未杀进程的情况下可以收到推送。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值