到目前为止,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. linux学习笔记二-----文件权限管理

    一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...

  2. dll劫持技术

    DLL劫持技术当一个可执行文件运行时,Windows加载器将可执行模块映射到进程的地址空间中,加载器分析可执行模块的输入表,并设法找出任何需要的DLL,并将它们映射到进程的地址空间中. DLL劫持原理 ...

  3. svn切换用户

    问题背景:你用一个用户更新了代码,此时想用另一个用户提交,这就涉及到一个svn切换用户的问题 1. 查看svn 的用户名,密码:找到用户名,密码文件,都是明文的,你可以看到例:linuxhjj@hjj ...

  4. [转载]如何在Ubuntu上安装LAMP服务器系统

    [2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时,我更偏爱在不受干扰的情况下,在我那台计算机上的开发环境下进行开发.我宁愿所犯的错误大部分是 ...

  5. Song Jiang's rank list

     Song Jiang's rank list Time Limit:1000MS     Memory Limit:512000KB     64bit IO Format:%I64d & ...

  6. LayoutComponent类,用于layout的组件类。 LayoutComponent保存的所有用于布局的数据。

      LayoutComponent ()   默认构造函数 更多...     ~LayoutComponent ()   默认的析构函数 更多...     CREATE_FUNC (LayoutC ...

  7. [Effective JavaScript 笔记]第19条:熟练掌握高阶函数

    高阶函数介绍 高阶函数曾经是函数式编程的一个概念,感觉是很高深的术语.但开发简洁优雅的函数可以使代码更加简单明了.过去几年中脚本语言采用了这些个技术,揭开了函数式编程的最佳惯用法的神秘面纱.高阶函数就 ...

  8. Unity3D占用内存太大的解决方法

    原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大 ...

  9. [codeforces 260]B. Ancient Prophesy

    [codeforces 260]B. Ancient Prophesy 试题描述 A recently found Ancient Prophesy is believed to contain th ...

  10. [转载]WiFi有死角? 巧用旧无线路由器扩展覆盖

    怎么了,家里的WiFi有死角?老旧无线路由器的无线覆盖不给力?现在大功率无线产品或双频无线产品的售价并不便宜,而且仅靠一台无线路由器并不能满足多户型家庭的无线覆盖需求.那么,是不是有什么廉价而又实用的 ...