美文网首页极光征文
极光征文 | 记一次极光推送PR

极光征文 | 记一次极光推送PR

作者: Weidaicheng | 来源:发表于2019-01-19 12:40 被阅读1次

    就在前不久,我的一个对 jpush-api-csharp-client 的PR #28 被合并到项目中,其实这一次的修改只是在 readme.md 中添加了一个到我的项目的链接,仅此而已。
    一切还是要从头说起。

    当时还没有从上一家公司离职。后台需要做一个向我们产品的Android & iOS端推送消息的功能,那个时候是我第一次听说极光推送,在此之前我认为的消息推送是要在app内自己编写逻辑,而极光可以很方便的实现多端推送。

    项目后台是 .Net,看到这儿的同学可能会觉得奇怪,跟我此次PR中链接到的项目平台并不一样。当时由于自己在学习 .Net core,而在 .Net core 中默认支持了DI,不需要再引用第三方服务来实现此功能,在默认的Asp.Net Core模板代码中也包含了像 services.AddMvc() 这样的代码,其内部操作就算将一些需要的对象注入到了IoC容器中。背景介绍到此。

    看到给出的推送示例代码,每次使用都需要自己去 new 一下,或者是放到一个静态类中,让我感觉很难受。当时就想:能不能在 .Net core 中使用一句简单的 services.AddJPush() 让后边的使用可以一劳永逸?很快,这个小功能就实现了,然后提了一个PR #24

    在18年12月中的时候收到了回复,并没有采用我该次的提交。


    comment.png

    确实是我自己的疏忽,极光推送的类库是面向 .Net Standard 的,即同时需要支持 .Net core.Net Framework,而我添加的这个功能在 .Net Framework 中并不能使用。

    但是我并没有放弃。

    我重新写了一个扩展类库 jpush-api-csharp-client.Extensions,如果使用Asp.Net Core,可以引用改类库,使用前面所说的简单操作。
    当然这次PR被merge进了官方项目中,在此非常感谢 @helperhaps

    关于改扩展的具体使用方法可以查看 文档 ,另外欢迎各种Star和Fork,以及PR。

    最后,无论所有语言的发展离不开开源社区每一个人的努力。

    「本文为极光征文参赛文章」

    相关文章

      网友评论

        本文标题:极光征文 | 记一次极光推送PR

        本文链接:https://www.haomeiwen.com/subject/tutnrqtx.html