jpush-flutter-plugin icon indicating copy to clipboard operation
jpush-flutter-plugin copied to clipboard

基于Kotlin重构Android插件代码并支持多Flutter engine和更精准的result回调管理

Open techwn opened this issue 4 years ago • 1 comments

现有JPushPlugin的职责太多

  • onMethodCall调用处理
  • 管理各种回调的缓存
  • 基于static的持有JPushPlugin instance,并在每次attach之后被新的plugin实例覆盖,这样是不合理的,存在潜在bug
  • 过多的isDartReady,instance = null, context = null相关判断, 显得比较混乱
  • 持有静态内部类JPushReceiver,并和宿主基于static的JPushPlugin instance进行数据交互

所以拆分JPushPlugin的缓存和回调分发功能到单例类:JPushCallbackDispatcher。 JPushPlugin专注于onMethodCall的dart端代码调用处理。 另外删除静态内部类JPushPlugin$JPushReceiver,相关功能合并到JPushEventReceiver

架构变化如下: Push Notification Setting (1)

techwn avatar Jun 28 '21 07:06 techwn

放弃吧...你看他们鸟你吗...这就是你国内上游厂商🤮

AlexV525 avatar Sep 23 '21 02:09 AlexV525