GCM消息代收

Potesta de Tornaco edited this page Jul 4, 2018 · 7 revisions

使用限制

  1. 仅支持支持GMS的设备。
  2. 需要借用设备自带的GCM通道。
  3. X-APM版本大于等于4.9.9-BETA4

以上均由用户维护,应用管理无法帮助你搞定,通常刷GMS,登陆google账号即可。

解决什么问题

  1. 主要用来解决微信,虽然支持GCM,但是只用来启动微信服务来接收处理消息。

原理

  1. 微信好友A发消息给B(B设备装了X-APM)。
  2. B设备上的GMS服务进行消息分发。
  3. X-APM在消息分发之前,取得消息内容(请参考代码点我看源代码,X-APM不会乱用你的消息和隐私),累计消息数目,并在system_server进程发送通知(因此通知来自Android系统)。
  4. 用户点击通知,可以进入微信应用,此时累计的消息数目清零(因此消息数目仅供参考)。

1--3过程无需运行微信应用。

后续

无需对微信进行其他保护性配置(包括之前介绍的 关联启动规则 也不需要再针对微信GCM设定),微信只要不卸载,不冻结,可以做任何处理。

自定义消息通知行为

如何自定义提醒铃声

首先准备一份铃声文件(XXX.ogg),手动将其复制到存储根目录/Notifications/目录下,并且重命名为apm_custom_ringtone_${包名}.ogg 例如,自定义Telegram提醒铃声的文件路径:/storage/emulated/0/Notifications/apm_custom_ringtone_org.telegram.messenger.ogg

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.