给Ionic写一个cordova(PhoneGap)插件
2018-05-09 14:26
260 查看
给Ionic写一个cordova(PhoneGap)插件
之前由javaWeb转html5开发,由于面临新技术,遂在适应的过程中极为挣扎,不过还好~,这个过程也极为短暂;现如今面临一些较为复杂的需求还会有一丝丝头痛,却没有一开始那么强烈了。。。
在正式写下文之前,我先感谢公司大boss:王总,感谢他让我进入了一个有挑战性的技术公司 并在这个过程中一直鼓励我不断汲取新技术,同时也指正了我在开发中的一些不太好的习惯,十分感谢!
再~,感谢在开发中给予我太多帮助的杜勇以及孙金~,不论是需求讨论还是具体开发阶段都会给予一些十分有用的思路以及难点解答,尤其是面临技术瓶颈的时候~,再次感谢他们,十分感谢!
对于新手,建议准备好相应的IDE及环境:webstrom、google chrome、eclipse(或者 idea),android SDK ; webstrom 用于配合页面js以及插件开发,eclipse用于app插件调试。
就拿最近一个需求来说吧,需求:未防止第三方破解app,客户找了一个安全公司做个评估,其中一个安全问题是安卓apk的包经过修改后依然可以安装运行(ios由于安全机制存在不存在这个问题),项目组内部讨论出一个比较好的解决方案是用户登陆前验证app包的hashcode值,并与后台交互验证当前发行版app的hashcode的有效性,以杜绝破解。
这个需求的难点在于需要访问手机的内存读取安装包文件,如果是普通的需求就可以一个html、一个JS(controller)外加上路由配置就 so easy~
首先一个规范的cordova插件是这样子的(这里我写的一个插件的名字是 cordova-plugin-integrity-checking):
View Code
嗯~,貌似插件已近九成了~,下面该为命令准备一个package.json文件方便将插件添加到项目中:
请注意上图5~10行,其他地方随意哈~
以上两张图中,第一张图是在项目目录下打 "cordova plugin list"命令列出当前项目所用的所有的cordova插件,第二张图是在当前项目下将插件添加到项目中,只要不出现fail字样即插件添加成功,如果插件中需要添加变量,请在 命令后面 添加 “--veriable”(后面的英文单词是变量名)。。。。。。,添加成功,webstrom会自动刷新,这时候请看这里,看这里:
当前插件调用的方式是:
Cordova.apkValidate.getSHA1(function (successCallback) {
//success logic~~~
},function (errorCallback) {
//error logic~~~
})
你的项目有一个专门放置plugin的plugins的目录,目录下面有两个文件android.json和fetch.json,这两个文件里面都有插件的申明,以上三张图中第二和第三张,如没有请检查!,好了写了仨小时多该结束了\(^o^)/,顺便放两张图(构建平台后的文件),读者自行思索,看有没有发现什么哈(∩_∩)
我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=y2lervmuyy9z
之前由javaWeb转html5开发,由于面临新技术,遂在适应的过程中极为挣扎,不过还好~,这个过程也极为短暂;现如今面临一些较为复杂的需求还会有一丝丝头痛,却没有一开始那么强烈了。。。
在正式写下文之前,我先感谢公司大boss:王总,感谢他让我进入了一个有挑战性的技术公司 并在这个过程中一直鼓励我不断汲取新技术,同时也指正了我在开发中的一些不太好的习惯,十分感谢!
再~,感谢在开发中给予我太多帮助的杜勇以及孙金~,不论是需求讨论还是具体开发阶段都会给予一些十分有用的思路以及难点解答,尤其是面临技术瓶颈的时候~,再次感谢他们,十分感谢!
对于新手,建议准备好相应的IDE及环境:webstrom、google chrome、eclipse(或者 idea),android SDK ; webstrom 用于配合页面js以及插件开发,eclipse用于app插件调试。
就拿最近一个需求来说吧,需求:未防止第三方破解app,客户找了一个安全公司做个评估,其中一个安全问题是安卓apk的包经过修改后依然可以安装运行(ios由于安全机制存在不存在这个问题),项目组内部讨论出一个比较好的解决方案是用户登陆前验证app包的hashcode值,并与后台交互验证当前发行版app的hashcode的有效性,以杜绝破解。
这个需求的难点在于需要访问手机的内存读取安装包文件,如果是普通的需求就可以一个html、一个JS(controller)外加上路由配置就 so easy~
首先一个规范的cordova插件是这样子的(这里我写的一个插件的名字是 cordova-plugin-integrity-checking):
1 <config-file target="AndroidManifest.xml" parent="/*"> 2 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 3 </config-file>
View Code
嗯~,貌似插件已近九成了~,下面该为命令准备一个package.json文件方便将插件添加到项目中:
请注意上图5~10行,其他地方随意哈~
以上两张图中,第一张图是在项目目录下打 "cordova plugin list"命令列出当前项目所用的所有的cordova插件,第二张图是在当前项目下将插件添加到项目中,只要不出现fail字样即插件添加成功,如果插件中需要添加变量,请在 命令后面 添加 “--veriable”(后面的英文单词是变量名)。。。。。。,添加成功,webstrom会自动刷新,这时候请看这里,看这里:
当前插件调用的方式是:
Cordova.apkValidate.getSHA1(function (successCallback) {
//success logic~~~
},function (errorCallback) {
//error logic~~~
})
你的项目有一个专门放置plugin的plugins的目录,目录下面有两个文件android.json和fetch.json,这两个文件里面都有插件的申明,以上三张图中第二和第三张,如没有请检查!,好了写了仨小时多该结束了\(^o^)/,顺便放两张图(构建平台后的文件),读者自行思索,看有没有发现什么哈(∩_∩)
我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=y2lervmuyy9z
相关文章推荐
- phonegap cordova ionic插件
- cordova/phonegap/ionic ios 在线更新插件
- 自定义cordova插件(phonegap、ionic)
- 搭建 AngularJS+Ionic+Cordova开发APP----- win10环境运行一个Ionic_demo
- phonegap(cordova) 自己定义插件代码篇(五)----android ,iOS 集成微信登陆
- ionic2自定义cordova插件开发以及使用(Android)
- 【未完后补】cordova&ionic使用视频播放插件videogular
- angularjs ionic 如何使用Cordova 插件
- ionic 热更新插件cordova-hot-code-push的使用
- Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?
- ionic实战系列(二):使用cordova插件
- ionic cordova 插件 资源
- 给phonegap添加一个支持跳转的插件
- ionic项目之cordova自定义插件的配置
- cordova(phonegap)4.2自定义插件
- ionic添加cordova-plugin-camera拍照插件后build报错
- ionic学习之Android6.0 运行时权限插件cordova-plugin-android-permissions
- ionic 用 cordova插件,ping++方式 实现支付宝,微信支付
- 使用Phonegap(Cordova)插件将数据存贮到Native设备的Sqlite数据库中
- Ionic学习笔记六 Cordova 插件开发