APNS推送Golang SDK使用Proxy代理

APNS推送Golang SDK使用Proxy代理,第1张

苹果的消息推送是通过请求域名:https://api.push.apple.com 实现的,该域名解析结果为美国,这引发了两个问题

1、接口请求时间长,性能低,而且容易请求超时报错

2、高峰期推送请求错误率升高

总体思路:增加一个美国代理服务器,通过代理服务器请求苹果消息推送服务

1、原来流程

2、现在流程

3、具体方案实施选择

选择一:proxy服务器,部署一个正向代理服务,提供push消息的正向代理,消息通过代理服务器送达苹果服务端

选择二:proxy服务器,独立实现、部署一个 标准的apns服务,负责 ios消息推送。将需要走美国节点的请求转发到该proxy节点

具体情况、具体分析,应思考的点:

问题一、苹果官方提供的SDK中,不支持设置代理服务器。官方SDK不适合更改,对以后系统更新不利

问题二、只有苹果的push服务需要代理,其他例如华为、小米、vivo不应走海外代理

问题三、代理安全性

问题四、代理方案下,有重试逻辑。 如何准确定义和判断失败, 可能会引起消息重复推送

问题五、实现简单、有效,正向代理方式:只需实现一个实例化对象方法,其他利用原始sdk即可。独立apns服务方式:需要实现一个apns服务,国内、国外均需服务部署,需要增加独立的开发和运营成本,另外还得改造调用服务,实现请求调度,优点服务独立、单一,具备一个单独微服务条件

github.com/sideshow/apns2

方法一: 修改SDK文件

第一步:设置环境变量

第二步:修改apns2.NewClient方法

方法二: 从新定义一个NewClient方法

1、先到google开发网站下载合适的SDK和ADT,网址:developer/sdk/index.html该网站已经被和协了,到百度里搜一下http代理,设置一下浏览器的代理就可以访问啦2、把下载的SDK解压到任意目录;3、运行eclipse,安装ADT4、设置ADT,把sdk指向第2步解压的sdk目录5、完成如果还不明白,在谷歌的开发网站(就是上面给出的网址)有详细的安装说明的,自己查一下。

腾讯Bugly Android SDk 镜像使用

1.打开独立Android SDK Manager

2.菜单依次打开Tools—>Manage Add-on Sites...—>User Defined Sites:

3.输入下面链接: http://android-mirror.bugly.qq.com:8080/android/repository/addon.xml

4.进入SDK Manager的Settings中,

5.设置代理服务器为 android-mirror.bugly.qq.com

6.代理端口为 8080

7.不勾选 Use Download Cache

8.勾选Force Http...


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/242374.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存