友盟推送友盟推送用了一段时间,怎么“收到数”变少了呢?

友盟推送  时间:2021-08-25  阅读:()

友盟推送android java端的代码怎么使用

最好的方法,研读官方提供的Demo,这里说的Java端应该是前端,即Android App端,在应用程序启动的时候,开启推送功能,同时在清单文件移植Demo提供的一些内容,测试几遍就差不多了。





android 友盟推送 未读消息怎么做

JPush SDK 收到推送,通过广播的方式,转发给开发者App,这样开发者就可以灵活地进行处理。

这个动作不是必须的。

用户有需要才定义 Receiver 类来处理 SDK过来的广播。

如果不做这个动作,即不写自定义 Receiver,也不在 AndroidManifest.xml 里配置这个 Receiver,则默认的行为是: 接收到推送的自定义消息,则没有被处理 可以正常收到通知,用户点击打开应32313133353236313431303231363533e59b9ee7ad9431333363376432用主界面 接受广播 如果全部类型的广播都接收,则需要在 AndroidManifest.xml 里添加如下的配置信息: <receiver android:name="Your Receiver" android:enabled="true"> <intent-filter> <action android:name=&.jpush.android.intent.REGISTRATION" /> <action android:name=&.jpush.android.intent.MESSAGE_RECEIVED" /> <action android:name=&.jpush.android.intent.NOTIFICATION_RECEIVED" /> <action android:name=&.jpush.android.intent.NOTIFICATION_OPENED" /> <category android:name="You package Name" /> </intent-filter> </receiver> 每个 Receiver action 详细解释如下。

Action .jpush.android.intent.REGISTRATION SDK 向 JPush Server 注册所得到的注册 ID 。

一般来说,可不处理此广播信息。

要深入地集成极光推送,开发者想要自己保存App用户与JPush 用户关系时,则接受此广播,取得 Registration ID 并保存与App uid 的关系到开发者自己的应用服务器上。

使用极光推送提供的别名与标签功能,是更加简单轻便的绑定App用户与JPush用户的方式,请参考文档:别名与标签使用教程。

Intent 参数 JPushInterface.EXTRA_REGISTRATION_ID SDK 向 JPush Server 注册所得到的注册 全局唯一的 ID ,可以通过此 ID 向对应的客户端发送消息和通知。

Bundle bundle = intent.getExtras(); String title = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID); Action .jpush.android.intent.MESSAGE_RECEIVED 收到了自定义消息 Push 。

SDK 对自定义消息,只是传递,不会有任何界面上的展示。

如果开发者想推送自定义消息 Push,则需要在 AndroidManifest.xml 里配置此 Receiver action,并且在自己写的 BroadcastReceiver 里接收处理。

Intent 参数 JPushInterface.EXTRA_TITLE 保存服务器推送下来的消息的标题。

对应 API 消息内容的 title 字段。

对应 Portal 推送消息界面上的“标题”字段(可选). Bundle bundle = intent.getExtras(); String title = bundle.getString(JPushInterface.EXTRA_TITLE); JPushInterface.EXTRA_MESSAGE 保存服务器推送下来的消息内容。

对应 API 消息内容的 message 字段。

对应 Portal 推送消息界面上的"消息内容”字段。

Bundle bundle = intent.getExtras(); String message = bundle.getString(JPushInterface.EXTRA_MESSAGE); JPushInterface.EXTRA_EXTRA 保存服务器推送下来的附加字段。

这是个 JSON 字符串。

对应 API 消息内容的 extras 字段。

对应 Portal 推送消息界面上的“自定义内容”。

Bundle bundle = intent.getExtras(); String extras = bundle.getString(JPushInterface.EXTRA_EXTRA); JPushInterface.EXTRA_CONTENT_TYPE 保存服务器推送下来的内容类型。

对应 API 消息内容的 content_type 字段。

Bundle bundle = intent.getExtras(); String type = bundle.getString(JPushInterface.EXTRA_CONTENT_TYPE); JPushInterface.EXTRA_RICHPUSH_FILE_PATH SDK 1.4.0 以上版本支持。

富媒体通消息推送下载后的文件路径和文件名。

Bundle bundle = intent.getExtras(); String file = bundle.getString(JPushInterface.EXTRA_RICHPUSH_FILE_PATH); JPushInterface.EXTRA_MSG_ID SDK 1.6.1 以上版本支持。

唯一标识消息的 ID, 可用于上报统计等。

Bundle bundle = intent.getExtras(); String file = bundle.getString(JPushInterface.EXTRA_MSG_ID); Action .jpush.android.intent.NOTIFICATION_RECEIVED 收到了通知 Push。

如果通知的内容为空,则在通知栏上不会展示通知。

但是,这个广播 Intent 还是会有。

开发者可以取到通知内容外的其他信息。

Intent 参数 JPushInterface.EXTRA_NOTIFICATION_TITLE 保存服务器推送下来的通知的标题。

对应 API 通知内容的 n_title 字段。

对应 Portal 推送通知界面上的“通知标题”字段。

Bundle bundle = intent.getExtras(); String title = bundle.getString(JPushInterface.EXTRA_NOTIFICATION_TITLE); JPushInterface.EXTRA_ALERT 保存服务器推送下来的通知内容。

对应 API 通知内容的 n_content 字段。

对应 Portal 推送通知界面上的“通知内容”字段。

Bundle bundle = intent.getExtras(); String content = bundle.getString(JPushInterface.EXTRA_ALERT); JPushInterface.EXTRA_EXTRA SDK 1.2.9 以上版本支持。

保存服务器推送下来的附加字段。

这是个 JSON 字符串。

对应 API 通知内容的 n_extras 字段。

对应 Portal 推送通知界面上的“自定义内容”字段。

Bundle bundle = intent.getExtras(); String extras = bundle.getString(JPushInterface.EXTRA_EXTRA); JPushInterface.EXTRA_NOTIFICATION_ID SDK 1.3.5 以上版本支持。

通知栏的Notification ID,可以用于清除Notification Bundle bundle = intent.getExtras(); int notificationId = bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID); JPushInterface.EXTRA_CONTENT_TYPE 保存服务器推送下来的内容类型。

对应 API 消息内容的 content_type 字段。

Portal 上暂时未提供输入字段。

Bundle bundle = intent.getExtras(); String type = bundle.getString(JPushInterface.EXTRA_CONTENT_TYPE); JPushInterface.EXTRA_RICHPUSH_HTML_PATH SDK 1.4.0 以上版本支持。

富媒体通知推送下载的HTML的文件路径,用于展现WebView。

Bundle bundle = intent.getExtras(); String fileHtml = bundle.getString(JPushInterface.EXTRA_RICHPUSH_HTML_PATH); JPushInterface.EXTRA_RICHPUSH_HTML_RES SDK 1.4.0 以上版本支持。

富媒体通知推送下载的图片资源的文件名,多个文件名用 “,” 分开。

与 “JPushInterface.EXTRA_RICHPUSH_HTML_PATH” 位于同一个路径。

Bundle bundle = intent.getExtras(); String fileStr = bundle.getString(JPushInterface.EXTRA_RICHPUSH_HTML_RES); String[] fileNames = fileStr.spilt(","); JPushInterface.EXTRA_MSG_ID SDK 1.6.1 以上版本支持。

唯一标识通知消息的 ID, 可用于上报统计等。

Bundle bundle = intent.getExtras(); String file = bundle.getString(JPushInterface.EXTRA_MSG_ID); Action .jpush.android.intent.NOTIFICATION_OPENED 用户点击了通知。

一般情况下,用户不需要配置此 receiver action。

如果开发者在 AndroidManifest.xml 里未配置此 receiver action,那么,SDK 会默认打开应用程序的主 Activity,相当于用户点击桌面图标的效果。

如果开发者在 AndroidManifest.xml 里配置了此 receiver action,那么,当用户点击通知时,SDK 不会做动作。

开发者应该在自己写的 BroadcastReceiver 类里处理,比如打开某 Activity 。

Intent 参数 JPushInterface.EXTRA_NOTIFICATION_TITLE 保存服务器推送下来的通知的标题。

对应 API 通知内容的 n_title 字段。

对应 Portal 推送通知界面上的“通知标题”字段。

Bundle bundle = intent.getExtras(); String title = bundle.getString(JPushInterface.EXTRA_NOTIFICATION_TITLE); JPushInterface.EXTRA_ALERT 保存服务器推送下来的通知内容。

对应 API 通知内容的n_content字段。

对应 Portal 推送通知界面上的“通知内容”字段。

Bundle bundle = intent.getExtras(); String content = bundle.getString(JPushInterface.EXTRA_ALERT); JPushInterface.EXTRA_EXTRA SDK 1.2.9 以上版本支持。

保存服务器推送下来的附加字段。

这是个 JSON 字符串。

对应 API 消息内容的 n_extras 字段。

对应 Portal 推送通知界面上的“自定义内容”字段。

Bundle bundle = intent.getExtras(); String type = bundle.getString(JPushInterface.EXTRA_EXTRA); JPushInterface.EXTRA_NOTIFICATION_ID SDK 1.3.5 以上版本支持。

通知栏的Notification ID,可以用于清除Notification Bundle bundle = intent.getExtras(); int notificationId = bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID JPushInterface.EXTRA_MSG_ID SDK 1.6.1 以上版本支持。

唯一标识调整消息的 ID, 可用于上报统计等。

Bundle bundle = intent.getExtras(); String file = bundle.getString(JPushInterface.EXTRA_MSG_ID); 代码示例 public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); Log.d(TAG, "onReceive - " + intent.getAction()); if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) { } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) { System.out.println("收到了自定义消息。

消息内容是:" + bundle.getString(JPushInterface.EXTRA_MESSAGE)); // 自定义消息不会展示在通知栏,完全要开发者写代码去处理 } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) { System.out.println("收到了通知"); // 在这里可以做些统计,或者做些其他工作 } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) { System.out.println("用户点击打开了通知"); // 在这里可以自己写代码去定义用户点击后的行为 Intent i = new Intent(context, TestActivity.class); //自定义打开的界面 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } else { Log.d(TAG, "Unhandled intent - " + intent.getAction()); } }

友盟推送用了一段时间,怎么“收到数”变少了呢?

首先,需要确认一下发送的基数“发送总数”有没有发生变化,这个一般都是由于开发者选择发送的范围有变化导致的。

举个简单例子,有的开发者在使用友盟推送的时候,会利用友盟推送提供的“App版本”这个维度,开发者可能选择的推送条件是“给版本低于2.0的用户”推消息,那么可以想象到,随着App的发版,老用户会陆续升级到新版本,那么“版本低于2.0”的用户肯定是越来越少,这样第一步的“发送总数”就已经变少了,肯定会影响到最终的“收到数”。

  其次,需要明确的是,消息推送是有一个“送达率”的概念的,关于送达率的定义和解释,在我另一个帖子也有一篇普及文章(谈谈消息推送服务的"送达率"_U盟友盟消息推送论坛),一般来讲,送达率是和App自身的质量(主要衡量指标是DAU,DAU比例)正相关的,如果是活跃的设备,一般也是推送能够触达的。

所以,刚发新版的时候,一般推送的送达率都会比较高。

随着时间的增长,部分用户会变成沉默用户,部分用户会卸载掉你的App,这些都会严重影响到推送的送达率(具体可以看下帖子里面的那个图标例子),最终推送的送达率是会稳定在一个比较固定的比例,经验值是在App日活比例的基础上,再增加一定的比例,增加部分的比例就是第三方推送的作用,因为第三方推送都有一个较为强大的互保联盟,尽可能保证消息的送达率。

那么在这种情况下,“有效设备(Android/iOS)”、“服务器推送设备(Android)”,“成功投递APNs(iOS)”这几个数字都会受到影响,影响最终的“收到数”。

大部分开发者反馈的情况应该都可以归属到这一类,楼主提到的靠推广获取用户,很可能就是做完活动后,用户大面积的卸载造成的。

  最后,很重要的一点,也是很多开发者会忽略的,那就是消息的有效期。

很明显,消息设置的有效期越长,那么能触达的用户越多,在设备有效期内,友盟推送会帮开发者尽可能得把设备的离线消息投递下去。

所以一般很短时间内,前后两次推送发生了明显的“收到数”变化很大,大多数都是这个原因导致的。

无忧云(25元/月),国内BGP高防云服务器 2核2G5M

无忧云官网无忧云怎么样 无忧云服务器好不好 无忧云值不值得购买 无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免北岸建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高...

RAKsmart:美国圣何塞服务器限量秒杀$30/月起;美国/韩国/日本站群服务器每月189美元起

RAKsmart怎么样?RAKsmart是一家由华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(部分自营),支持使用PayPal、支付宝等付款方式,网站可选中文网页,提供中文客服支持。本月商家继续提供每日限量秒杀服务器月付30.62美元起,除了常规服务器外,商家美国/韩国/日本站群服务器、1-10...

域名注册需要哪些条件(新手注册域名考虑的问题)

今天下午遇到一个网友聊到他昨天新注册的一个域名,今天在去使用的时候发现域名居然不见。开始怀疑他昨天是否付款扣费,以及是否有实名认证过,毕竟我们在国内域名注册平台注册域名是需要实名认证的,大概3-5天内如果不验证那是不可以使用的。但是如果注册完毕的域名找不到那也是奇怪。同时我也有怀疑他是不是忘记记错账户。毕竟我们有很多朋友在某个商家注册很多账户,有时候自己都忘记是用哪个账户的。但是我们去找账户也不办...

友盟推送为你推荐
阈值电压典型MOS管的阈值电压是多少网不易上网的利与弊(辩论)查看加密空间请问下怎么看加密的qq空间软件更新不可用三星GALAXY S3出现:“您的设备已修改。软件更新不可用”。系统如何解决?安卓手机用什么安全软件好手机应用软件下载哪个好用?我的手机是安卓系统的,帮忙推荐一个,谢谢锤子手机发布会视频锤子手机发布会上,老罗说安卓不是原生的安卓这是什么意思?原生的安卓应该是什么样呢?最新汽车电子产品目前国内生产“汽车电子”(如:车载DVD、数字电视、个人电脑等车用电子产品)的企业有哪些?大数据人才培养哪些大学开设了大数据专业,并且已经有了应届毕业生宽带包月移动宽带网能包月吗?手机证书申请手机证书可以再什么网站上申请啊
域名备案中心 vir 美国主机评论 网络星期一 新世界电讯 魔兽世界台湾服务器 129邮箱 阿里云邮箱登陆 徐州电信 存储服务器 server2008 weblogic部署 pptpvpn 美国西雅图独立 let 报警主机 qq空间打开慢 789小游戏 好玩的免费网络游戏 杭州电信测速 更多