常见问题 - JPush 合集(持续更新)

问题汇总
标签: #<Tag:0x00007fb82f7ecfb8>

(12) #44

如何针对性的将某条消息推送给某个用户


前提条件:客户端已安装了一个集成了极光 SDK 的 App ,且成功注册取到了 registrationID 值

  • 根据集成指南:AndroidiOS,将极光的 SDK 集成到自己的项目中去,在配置正确的情况下,初始化后可以取到 registrationID ,能取到该 ID 是初始化成功的标志!

  • 如果你是服务端开发,现在需要先测试一下推送功能,可以下载极光的 demo 进行测试
    在官网控制台 - 应用详情 - 推送设置 - Android - 使用浏览器扫码下载一个 Android 的 demo 安装到手机上。

极光提供的几种推送目标:API 文档说明官网推送页面

  • tag、alias、registrationID、segment 都可以用于实现本需求,一般在前三个字段中任选一个去实现。

  • 极光推送针对的是设备,tag、alias 等也是与设备进行的绑定,不管是使用什么样的推送目标,在极光服务器最终都是查询到满足条件的 registrationID 来使得推送送达到设备上。

思路参考:

根据一般的 App 逻辑,开发者会有自己的用户信息,在用户注册登陆后将用户信息传到自己服务器保存。

极光注册得到的 registrationID 是设备标识,不是开发者自己创建的用户,所以需要将「开发者的用户体系」和「极光设备」关联起来,如何做?

  1. 在上传用户信息给自己的服务器时,顺带将极光初始化得到的 registrationID 也对应上传并保存,可直接用该 ID 信息进行推送。该 ID 信息很重要,即便你不使用它进行推送,我的建议是也上传到服务器保存。

  2. 使用别名和标签对用户进行分类、做个性化的标识。

    • 比较简单的做法是:用我们的用户名作为别名值调用极光的客户端 api :AndroidiOS 设置为该 App 的别名;对一些多用户集合性质的分类,就设置为标签,譬如某些用户都喜欢了「周杰伦」,将「周杰伦」三个字作为标签给这些用户设置,当你对「周杰伦」这个标签推送时,他们都会收到。

    • 设置别名标签成功后,也同样的与用户信息一起上传到开发者服务器上保存起来,当要选择推送的时候,在自己的数据库里面去查询即可得到。

    • 如果你们在思考「标签、别名应该是服务端还是客户端设置」,阅读本帖

  3. 需求:用户退出登录后不要收到通知,一般思路是项目的用户退出登录—删除别名—点击登录—重设别名。

  • 若你们不允许多设备登录,需要判断用户是否更换设备:将用户某唯一信息与获取到的 registrationID 一起上传,registrationID 与之前相比改变了,则判断为更换了设备。

    • 如果使用 registrationID 推送,则只需要设置推送到当前登录设备的 registrationID 即可,如果是使用别名、标签,请继续阅读:
  • 如果用户未在 A 手机主动点击退出登陆 ,直接在 B 手机登录:

    • 希望 A 手机不再收到消息,那么应该在自己的后台判断出 A 用户“ 换了设备登录” ,让 A 手机自动做登出操作,在客户端置空别名
  • 如果用户直接杀死 A 手机的 App,在 B 手机登录,登出信息无法及时送达到 A 手机上。

  • 需要注意:别名删除后 至 重设别名 期间,推送的消息, 在重设别名后,设备不会收到。

    • 若需要这期间的消息也被收到,需要自己服务器对此进行判断、保存、并在客户端重设别名后,重新向极光发起推送请求。

    • 若需要用户的历史推送消息可被查询,需要自己服务器那边去保存。

  • 注意:对别名标签的操作并不影响广播推送的消息和对 registrationID 推送的消息的接收,只是收不到对别名标签推送的消息,如何完全关闭推送服务:

    • Android 端调用 stoppush

      • 一种本地的状态操作,相当于手动终止 push 服务的效果,这个会导致同时关掉对所有类型消息的接收。
      • 极光推送所有的其他 API 调用都无效。
      • 必须调用 resumepush 才能恢复推送服务。
      • 恢复后,如果推送的消息还在time_to_live内,客户端会收到这条消息。
    • iOS 提示用户在手机[设置]-[通知]-[XX App]选择打开或关闭通知;
      iOS 8 以上可用此方法跳转到通知设置页让用户设置:
      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]

    • iOS 也可以调用反注册代码进行关闭:
      [[UIApplication sharedApplication] unregisterForRemoteNotifications];
      • iOS 9 设备使用代码反注册 APNs ,再调用代码注册 APNs ,需要杀死应用后,再重新开启应用才会有 APNs 提示(这里可能与系统本身 bug 有关)。


如果对你有帮助,点个赞:sparkling_heart:呗ლ(╹◡╹ლ)

点这里返回常见问题目录,不吹不黑,收藏本帖可以解决你 90% 的问题 (ノ◕ω◕)ノଘ_ଘ




JPush 常见问题目录
未登录状态,唤醒用户消息通知,如果一个账号在多个手机上登陆,一个手机又多个账号登陆,通知是发到哪?用户在哪看到消息通知?
iOS 推送退出账号后 依然可以收到推送
关于极光推送的数据问题
推送消息
极光 前台 后台服务器之间的处理
Android极光推送切换用户时怎么解除别名绑定
问个小问题,关于推送的
JPush能否实现2个客户端登陆时强制下线第一个客户端的功能
Alias length is no more than 40!
极光推送的离线消息(默认1天)到底是什么含义?
推送实现个推功能是否要设置别名
极光推送的场景应用
设置别名和 tags 总返回6002(每设置失败 8s 后再发请求)
极光推送能按照某一条件实时推送吗?比如:订单的物流信息
关于多终端推送问题
iOS10及以上版本,用户登录状态接收推送,退出就不接受推送怎么处理,谢谢
是用registrationId推送比较好还是别名比较好
同一个设备,更新别名后,无法推送
请问怎样将注销~登录的这段时间里的推送消息保留为离线,登录后再收到这段时间的推送?
使用设备id推送没有问题,设置别名出错
关于PHP往APP上推送的问题 第一次使用
从简单的测试中了解极光推送可以实现的效果
(12) #45

如何开通 VIP 服务,VIP 服务与免费服务有什么区别


1、免费与付费用户的区别:JPush 功能对比

  • 免费用户可以使用基本的推送服务,不会被强制收费。

  • 由于极光所有的免费用户共享免费通道和推送速度(二十万条/秒),所以在推送高峰期,免费用户会存在消息延迟可能,延迟时间根据高峰情况波动。

  • VIP 用户使用的单独的专用通道,不受其他人推送的影响,所以不会受高峰期影响导致延迟。

  • 文档中标注为 VIP 专属接口的 API 只提供给 VIP 客户,包括:

    • 消息统计:针对一条消息 (一个 MessageID)的完整统计数据。
    • 用户统计:近 2 个月内某时间段的:新增、在线、活跃用户数据。
    • 获取用户在线状态:可查询近 10 分钟内是否在线、最后上线时间。
    • 管理员 API :可实现创建、删除 App,上传证书。
  • 其他说明:

    • VIP 客户技术支持是一对一 24 小时服务,负责您公司的极光客户经理会为你们创建专门的群进行相关支持服务,紧急情况可直接与客户经理电话联系。

    • 免费用户技术支持由于对接的用户很多,不保证及时的支持服务,请在咨询后耐心等待,建议优先在社区搜索问题。

    • Android 厂商通道(小米、华为、魅族、Google FCM)仅提供给 VIP 客户。

    • 消息推送总数没有限制,但对推送频率有限制,VIP 用户拥有更高的频率上限,阅读 API 调用频率限制文档

    • 远程定时任务,免费用户当前未过期的任务总数不能超过 100 个,VIP 用户可以申请提高上限,最高可达 2000。

    • JPush 短信补充服务,需要开通短信 VIP ,可自行充值

    • VIP 客户可以提出定制需求,需求通过产品评估后将实现,可提供定制版客户端 SDK ,服务端功能。

    • VIP 客户支持子账号功能,母账号可以给子账号分配官网各项信息的查看和使用权限。

    • 私有云客户可以在企业内部实现推送服务,相关数据均保存在企业内部。

    • 私有云客户可以定制 PC 客户端 & PC Web 推送。

2、付费相关的业务均需要与极光商务联系,商务将安排具体的客户经理与您联系,只有客户经理有权报价。

  • QQ 公众号:800024881 ( Mac 版本的 QQ 上没有公众号这个功能,请使用其他版本 QQ 联系)

  • 电话:400-612-5955(电话若没有人接听,客服可能因会议等原因离开了工位,请等待一下重拨)

  • 邮箱:sales@jpush.cn

  • 其他渠道:可以在社区私信我、在开发者群可联系 JPush QQ 1206559424、发邮件给 support@jpush.cn

  • 为便于迅速进行登记与联系,请提供如下信息:

    • 公司名称:

    • 地区(我们是分区域进行联系的,如果是有总公司、分公司,那么提供您将会付费的公司所在区域):

    • 您贵姓:× 先生/女士

    • 联系方式(为迅速联系,请提供您的电话,若愿意,还可以提供您的 QQ 或者微信):

    • 您的需求(所需开通的服务,需要咨询的内容):

    • 您的应用是什么类型的,有没有上线,应用的 Appkey:



如果对你有帮助,点个赞:sparkling_heart:呗ლ(╹◡╹ლ)

点这里返回常见问题目录,不吹不黑,收藏本帖可以解决你 90% 的问题 (ノ◕ω◕)ノଘ_ଘ




厂商通道收费吗?
C# SDK 能不能实现消息实时监听
第三方系统收不到推送的消息,现在我用了Firebase,怎样能让JPush能推送到第三方?
苹果手机推送目标和成功的数量都是0
【jpush】请问自定义目标出现0是怎么回事呢
极光推送开发证书能收到推送但生产证书收不到推送
极光推送给离线设备推送消息后,设备在几个小时后连上网络了,为什么没有收到消息?
JPush 常见问题目录
(12) #46

通知栏右侧大图如何实现


iOS

Android

  • 从 JPush Android SDK v3.1.7 开始支持

  • REST API 在 Notification - Android 新增字段 large_icon 支持该功能

  • large_icon 传网络图片时,不能超过 30k;传本地资源路径时,只需要填文件名称,不需要任何前缀后缀

  • Android 的大图标大部分情况下显示在通知栏消息右侧,有可能在左侧显示,这与设备系统有关

  • 效果:
    screenshot-16
    screenshot-4



如果对你有帮助,点个赞:sparkling_heart:呗ლ(╹◡╹ლ)

点这里返回常见问题目录,不吹不黑,收藏本帖可以解决你 90% 的问题 (ノ◕ω◕)ノଘ_ଘ