到目前为止,Android Studio已经是开发原生Android App的主流IDE,它是由Google官方设计并基于JetBrains的IntelliJ IDEA。我们魔窗开发的sdk也是使用此IDE。

       我们魔窗提供的企业级的深度链接(Deeplink)解决方案mLink,是致力于做创业者最需要、最好用、最贴心的App增长工具,并为创业者构建一个去中心化的高效连接时代,解决App有机增长、生态落地和流量共享的问题!

       越来越多的App开始对接我们的sdk,有些客户有不止一个App,甚至有些客户有几十个、几百个App。如果他们要集成sdk的话,需要对一个个App来加代码,确实是不小的工作量。我们开始考虑能否帮助客户快速实现sdk的集成。于是,考虑从开发工具的角度来实现。因为Android Studio和Xcode都可以安装plugin,他们本身的架构是支持插件化的,而且他们都有丰富的第三方plugin。很多plugin的确能够帮助开发者提高工作效率,所以我们开发了基于Android Studio的plugin。

       插件的安装很简单,通过搜素“magicwindow”就能找到我们的plugin,然后点install,重启AndroidStudio就能实现安装。

安装成功后,会在任务栏上出现”MagicWindow”的字样。表示plugin已经安装成功了。

我们可以再验证一下,点击“Check SDK Version”,如果您的工程中没有集成我们的sdk会提示“请先下载sdk”。如果已经集成了我们的sdk,会出现一个弹框告诉您当前使用魔窗sdk的版本号。

这个功能的好处在于,能明确知道sdk的版本号。我们在帮助客户排查集成的问题时,经常会先问一下客户使用的sdk版本号,很多客户不知道如何去看,所以我们提供了这个贴心的功能。
言归正常,对于一个Android App要从头开始集成我们的sdk,首先可能需要看我们的集成文档。复制一堆配置代码,包括java的以及xml的,一不小心还会复制错。借助我们的”Init MagicWindow Conf”功能,在Application类里可以通过图形化界面快速生成sdk的配置以及AndroidManifest.xml中的配置。

在sdk配置的对话框中输入app的渠道号和appKey,就会自动生成代码。这些生成的配置是集成我们sdk所必要的代码。

如果您想集成mLink的功能,也很简单。我们的plugin也提供了代码生成的功能。一般会在引导页的Activity中完成mLink的注册和路由,此时可以通过我们plugin的”Init MLink”功能来生成这些代码。

借助plugin生成的代码,只能自动生成registerWithAnnotation()这个方法。这个方法是借助Annotation实现mLink跳转,而无需写register逻辑。如果有特殊的跳转逻辑或者需要传递额外的参数,我们还是推荐您使用register()方法自己来实现。

对于mLink相关的Annotation,我们也提供了快捷生成的方式,这些方式是给懒人准备的,当然我们自己用起来也觉得很方便。

此时,基本完成sdk的集成步骤,也差不多介绍完了我们plugin的全部功能。最后还剩下一个功能,App正式发版时,一般会借助gradle打包,打包的时候会做一些混淆的工作。遇到过好几个客户,把我们的sdk也进行了混淆,从而导致无法使用mLink的功能。我们的plugin提供了“Keep MW SDK”的功能,它可以在proguard的配置中排除我们的sdk混淆。到此,sdk正式集成完成了,我们没有写一行代码:)。

如果大家对我们的plugin感兴趣,可以去github上拉我们的代码(https://github.com/magicwindow/mw-sdk-plugin),欢迎在使用时给我们提需求,也欢迎发pr给我们。

最后不能忘了Xcode的用户,我们会等到Swift 3正式发布后,考虑用Swift 3开发一款插件给iOS的开发者使用。

借助magicwindow sdk plugin快速集成sdk的更多相关文章

  1. 李洪强iOS开发之-环信03_集成 SDK 基础功能

    李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...

  2. Android Studio快速集成讯飞SDK实现文字朗读功能

    今天,我们来学习一下怎么在Android Studio快速集成讯飞SDK实现文字朗读功能,先看一下效果图: 第一步 :了解TTS语音服务 TTS的全称为Text To Speech,即“从文本到语音” ...

  3. 【Unity游戏开发】SDK接入与集成——小白入门篇

    一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...

  4. 视频云SDK iOS持续集成项目实践

    1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...

  5. 使用 CocoaPods 给微信集成 SDK 打印收发消息

    使用 CocoaPods 给微信集成 SDK 打印收发消息 推荐序 本文介绍的是一套逆向工具,可以在非越狱手机上给任意应用增加插件.在文末的示例中,作者拿微信举例,展示出在微信中打印收发消息的功能. ...

  6. iOS - 集成SDK问题

    1.大部分社交平台接口不支持https协议. 问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据.对ShareSDK来说,具体表现可能是,无法授权.分享 ...

  7. ShareSDK入门指南:Android 10分钟快速集成

    ShareSDK 官方已提供Android 快速集成教程,以官方教程为参考,本文重点指导大家在集成中遇到的问题. Android 快速集成官方教程:http://wiki.mob.com/Androi ...

  8. OpenCV3.4.1快速集成到Android studio中,10分钟搞定

    OpenCV3.4.1快速集成到Android studio中,10分钟搞定     转载 https://blog.csdn.net/yu540135101/article/details/8259 ...

  9. 轻量易用的微信Sdk发布——Magicodes.Wx.Sdk

    概述 最简洁最易于使用的微信Sdk,包括公众号Sdk.小程序Sdk.企业微信Sdk等,以及Abp VNext集成. GitHub地址:https://github.com/xin-lai/Magico ...

随机推荐

  1. poj 3233 矩阵快速幂+YY

    题意:给你矩阵A,求S=A+A^1+A^2+...+A^n sol:直接把每一项解出来显然是不行的,也没必要. 我们可以YY一个矩阵: 其中1表示单位矩阵 然后容易得到: 可以看出这个分块矩阵的左下角 ...

  2. php编程常用经验

    1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数&quo ...

  3. 锋利的jQuery-3--$()创建节点

    创建节点可以用jquery的工厂函数,$() $() 会根据传入的html标记字符串,创建一个dom对象,并将这个dom对象包装成一个jquery对象后返回. var li_1 = $("& ...

  4. BurpSuite之SQL Injection

    BurpSuite之SQL Injection[平台]:mutillidae[工具]BurpSuite 1.4.07 + FireFox1:安装配置mutillidae如果遇到问题,开下面的帖子.ht ...

  5. MySQL日期数据类型、MySQL时间类型使用总结

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...

  6. URAL 1932 The Secret of Identifier 题解

    http://acm.timus.ru/problem.aspx?space=1&num=1932 B - The Secret of Identifier Time Limit:1000MS ...

  7. js中的getAttribute方法使用示例

    getAttribute()方法是一个函数.它只有一个参数——你打算查询的属性的名字,下面为大家介绍下其具体的使用   getAttribute()方法 至此,我们已经向大家介绍了两种检索特定元素节点 ...

  8. 常用的HTTP协议

    http协议: 基本格式:http://<host>:<port>/<path>?<query>#<frag> 示例:http://www. ...

  9. Stream探究

    http://segmentfault.com/a/1190000003479884 1. 认识Stream Stream的概念最早来源于Unix系统,其可以将一个大型系统拆分成一些小的组件,然后将这 ...

  10. Android如何在java代码中设置margin

    习惯了直接在xml里设置margin(距离上下左右都是10dip),如: <ImageView android:layout_margin="10dip" android:s ...