天天看点

扫盲:Java 后端开发常用的 10 种第三方服务(2)

6)邮件发送

基本上每个应用都离不开邮件发送,最常用的邮件服务器就是腾讯邮箱和网易邮箱。常用的电子邮件协议包括 SMTP、POP3 和 IMAP,不过,邮件的创建和发送只需要用到 SMTP 协议就可以了。

Java 官方提供了对电子邮件协议封装的 Java 类库,就是 JavaMail,但并没有包含在标准的 JDK 中,GitHub 地址如下:

https://javaee.github.io/javamail/

记得之前接到过这样一个需求,要求发送的邮件不能到垃圾邮箱里,还挺难做的。因为邮件服务器,比如说腾讯和网易,都做了邮件的过滤器,会识别一些邮件,自动放到垃圾邮箱里。

7)短信发送

使用短信发送验证码几乎是每个应用必不可少的一部分,仿佛手机号码就代表了一个人,所以丢手机是一件非常危险的事情——需要立即挂失。

短信是需要运营商支持的,所以基本上都需要依赖第三方代理。市面上有很多短信网关代理,阿里云通信是比较常用的一个,以前叫阿里大于。

扫盲:Java 后端开发常用的 10 种第三方服务(2)

阿里云通信的价格是每条短信 0.036 元,市面上还有一些其他的服务商,有些价格更低,但稳定性我个人没有测评过。我的技术交流群里就潜藏了不少做短信的商户人员。

应用接入阿里云通信并不复杂,我之前在 CSDN 上分享过一个博客,很详细,图文并茂,还带源码实例,需要的小伙伴可以去围观下。

https://qingmiaogu.blog.csdn.net/article/details/78751698

8)消息推送

消息推送(Push)指运营人员通过自己的产品或第三方工具对用户移动设备进行的主动消息推送。用户可以在移动设备锁定屏幕和通知栏看到 push 消息通知,通知栏点击可唤起 APP 并去往相应页面。

移动应用上,推送已经成为一个标配功能。

iOS 在系统层面与苹果 APNs(Apple Push Notification service)服务器建立连接,应用通过观察者模式向 iOS 系统注册关注的消息,系统收到 APNs Server 消息后转发到相应的应用程序。

Android 的 C2DM(Android Cloud to Device Messaging)采取与 iOS 类似的机制,都是由系统层面来支持消息推送,但是由于 Google 的服务在国内不能稳定的访问,此方案对于国内用户来说基本是无法使用的。

鉴于 Android 平台 C2DM 推送的不可用性,国内涌现出大量的第三方推送服务提供商,目前应用最为广泛的第三方推送服务提供商包括个推、极光、友盟、小米、华为、BAT 等,我之前用个推做过一个小程序的推送 Demo,API 调用起来很简单,感觉还挺好用的。

消息推送有时候让人很烦,尤其是一些 APP,不停地推,所以我手机上的消息推送权限基本上是关闭状态的——从此世界就安静了。

9)开放平台

通过开放平台,可以使用 OAuth 等协议获取用户在第三方平台上的信息以实现第三方平台登录。比如用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。

国内的微博、微信、QQ 是最常见的第三方登录方式,阿里系的产品可以通过支付宝授权登录,还有一些网站绑定了 GitHub 登录。

阮一峰的网络日志上有一篇 GitHub OAuth 第三方登录示例教程:

https://www.ruanyifeng.com/blog/2019/04/github-oauth.html

10)支付接口

目前,接入最多的支付接口就是支付宝和微信。

支付宝提供了当面付、APP 支付、手机网站支付、电脑网站支付等支付接口。

扫盲:Java 后端开发常用的 10 种第三方服务(2)

提供的文档很齐全,还有 Java、PHP、.NET 等版本的 Demo。

https://opendocs.alipay.com/open/270

微信支付的话,我推荐使用开源工具库 WxJava:

https://github.com/Wechat-Group/WxJava

我们公司的网站就用的这个,支持包括微信支付、开放平台、小程序、企业微信/企业号和公众号等的后端开发,很齐全。

以上,希望对小伙伴们有所帮助,我们下期见。

二哥肝了两天两夜,《程序员不可或缺的软实力》第一版强势来袭,纯手敲,足足 20 万字精华文章,贯穿了我十余年的编程生涯,涉及到了生活和工作中的方方面面,如果你是迷茫的在校大学生,或者刚入职的新人,相信我的个人经历,可以给你带去一些思考,从而树立起正确的人生观和价值观。

扫盲:Java 后端开发常用的 10 种第三方服务(2)

那这份 PDF 该怎么获取呢?

链接:https://pan.baidu.com/s/1TA3txLvHxQNJEOJUHSZEqQ 密码:ps7z

如链接失效,请转至备用链接:

https://shimo.im/docs/pJQv6qVcHqdYwrxx

最后,真心希望这份 PDF 能够对大家起到实质性的帮助,我也会在后面不断完善这本电子书,敬请期待。

当然,也日常求个赞!