服务热线 400-660-8066

石家庄网站建设
首页 站内资讯

石家庄网站建设

站内资讯
石家庄网站建设 / 站内资讯 / 产品资讯 / 正文

app消息推送-APP消息推送(APP Push)解决方案-服务端工作逻辑和实现

来源: All文章
发布时间:2023-03-20 13:36:58

1、APP消息推送(APP Push)解决方案-服务工作逻辑和实现

  App推送消息是一种常见的app消息提醒方式。

  我们的实现需要第三方的支持,后台通过界面向第三方发送Push请求,第三方在应用程序所在设备上实现推送。消息推送app在线状态。

  在与推送平台交互时,后台需要向第三方发送两部分信息,推送目标终端标志 推送内容

  APP推送需要定位目标终端,即推送设备,

  在简单的情况下,单设备推送,我们需要获得终端ID的概念来定位目标设备,

  注:不同渠道使用的单设备ID方式也不尽相同,以下是TokenID的概念。

  在实际的推送渠道中,往往有自定义的功能,比如通过标签来划分TokenID,达到批量差异化的效果。app推送功能。

  即通过API接口参数定义终端上收到的Push消息的内容和格式。安卓app消息推送。

  IOS的推送消息在显示上与安卓不同title,title部分只能是默认的APP名称,虽然Android部分的默认值也是APP名称,但也支持自定义title。

  从以上处理逻辑可以看出,后端首先需要注册客户端TokenId,然后保持TokenID的有效性更新,然后在需要发送APP推送时获得用户的有效性TokenID,uniapp如何实现消息推送。

  然后通过API与三方Push服务交互,使用TokenID和现有内容信息完成推送。app消息推送平台有哪些。

  实现后端分为两部分:

  1、TokenID的登记

  2、AppPushAPI的调用

  注:本项目有两个特殊情况:

  其中proct_id由于目前项目中的客户端同时有多个版本,不同版本需要推送独立处理,但在同一表中统一登记;

  而login_id跟member_id同时,由于当前系统中存在共享账户,一般账户账户是一对一的login_id和member_id是绑定的,不需要同时重复登记。app推送是怎么实现的。

  <pre>

  /==============================================================/APP为什么会推送消息。

  /*Table:sys_app_push_token*/

  /==============================================================/

  createtablesys_app_push_tokenrecord_idint(11)notnullauto_increment,

  login_idint(11),如何推送消息给手机app。

  member_idint(11),

  push_tokenvarchar(),

  visit_deviceint(4)comment'3:Android;4:IOS',

  proct_idvarchar(20)default'0'comment'',

  push_channelint(4)'1:IOS2:,3:小米,4:极光,

  nstatusint(4)状态:0:申请;1:生效;2:**;3:删除;4:历史记录

  create_useridint(11)notnulldefault0,

  create_timevarchar(20)"",app推送的信息怎么找回。

  edit_useridint(11)notnulldefault0,

  edit_timevarchar(20)"",app消息定时推送。

  this_remarktext,

  descriptiontext,

  create_ordernumvarchar(30)创建时记录流水号,

  last_ordernumvarchar(30)记录***次编辑时的流水号,app桌面消息推送角标。

  primarykey(record_id)ENGINE=InnoDB

  DEFAULTCHARACTERSET=utf8app推送是基于什么信息。

  COLLATE=utf8_general_ci

  auto_increment=

  row_format=COMPACT;推送能唤起app吗。

  altertablesys_app_push_tokencomment'apptoken表推送;

  /==============================================================/app消息推送开发。

  /*Index:Index_1*/

  /==============================================================/

  createindexIndex_1onsys_app_push_tokenrecord_id</pre>

  注:其中,推送渠道**用于PushAPI,参数的判断由客户端处理,后端直接登记判断结果。

  <pre>

  @Transactional(readOnly=false)

  publicbooleanuploadMemberPushTokenEnt(TrainVansContexttrainVansContext){

  try{push平台推送手机版。

  //checkalreadydata

  trainVansContext。getTrainVansRequest()。put("login_id",TrainVansUtils。getMV(trainVansContext。getTrainVansRequest(),"login_login_id"));

  //getAllmemberRelation个推离线推送。

  trainVansContext。getTrainVansRequest()。put("relation_type",TrainVansUtils。getMV(trainVansContext。getTrainVansRequest(),"visit_role"));

  List>memberRelationList=SpringContextHandler。getBean(MemberService。class)。getRelateMemberListByLoginId(trainVansContext);app的推送消息是怎么发出的。

  for(MapmemberRelateMap:memberRelationList){trainVansContext。getTrainVansRequest()。put("member_id",TrainVansUtils。getMV(memberRelateMap,"member_id"));

  MaptokenMap=SpringContextHandler。getBean(AppPushService。class)。getPushTokenMapByLoginMap(trainVansContext。getTrainVansRequest());

  //disablealreadydataapp的push是什么功能。

  if(tokenMap!=null){

  if(!TrainVansUtils。getMV(tokenMap,"push_token")。equals(TrainVansUtils。getMV(trainVansContext。getTrainVansRequest(),"push_token"))){trainVansContext。getTrainVansRequest()。put("record_id",TrainVansUtils。getMV(tokenMap,"record_id"));

  if(!SpringContextHandler。getBean(AppPushService。class)。updateDiabledThePushToken(trainVansContext)){

  thrownewRuntimeException("TranVans_Operate_Exception");//insertnewdata

  if(!SpringContextHandler。getBean(AppPushService。class)。insertPushTokenRecord(trainVansContext)){iOS消息推送。

  thrownewRuntimeException("TranVans_Operate_Exception");}else{

  //insertnewdata

  if(!SpringContextHandler。getBean(AppPushService。class)。insertPushTokenRecord(trainVansContext)){app消息推送实现原理。

  thrownewRuntimeException("TranVans_Operate_Exception");}

  returntrue;极光推送多少钱一个月。

  }catch(Exceptione){

  TrainVansUtils。setRetInfo(trainVansContext,"","RegisterTokenIDError");

  e。printStackTrace();远程推送app。

  thrownewRuntimeException("TranVans_Operate_Exception");</pre>

  注:该方法外部有一个关于相应帐户的帐户列表的遍历,遍历中的处理部分是TokenID的登记处理操作。通过APP发消息。

  推送渠道:App新消息提醒代码。

  APP推送不仅需要在APP打开或后台运行时推送消息,更需要在移动终端关闭APP时推送消息,app消息推送。

  渠道的优缺点无非是送达率和送达效率两个维度。

  其中,Android推送的渠道比较混乱,和小米提供的PUSH服务支持自平台的移动终端,而没有制造商提供PUSH服务的终端只能通过

  对接第三方服务。

  对这些现有渠道进行以下总结:

  1、IOS:我们公司经历了三个项目,信鸽推送效果稳定。API接入也很方便,是IOS端的**选择。

  2、Android-:自平台。

  3、Android-小米:小米自平台。

  4、Android-其他:目前使用的是“极光推送”。理想情况下,送货率和效率表现良好,但不如上述三个渠道稳定。

  在调用时,可以根据之前定义push_channel分发给各自的渠道,各渠道的具体对接请各自查看官网,API都很完善。

  中企动力是一家专业的网络推广公司,我们拥有丰富的网络推广经验和专业的团队,能够为企业提供全方位的网络推广服务。我们为企业提供网站建设网站优化、平台推广等服务,帮中企动力业在网络上提升知名度、扩大影响力、提升销售额。如果您有网络推广的需求,欢迎联系中企动力加微信:CE4006608066,我们将竭诚为您服务。

* 文章来源于网络,如有侵权,请联系客服删除处理。
在线 咨询

添加动力小姐姐微信

微信 咨询

电话咨询

400-660-8066

我们联系您

电话 咨询
微信扫码关注动力小姐姐 X
qr