借助magicwindow sdk plugin快速集成sdk
到目前为止,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的更多相关文章
- 李洪强iOS开发之-环信03_集成 SDK 基础功能
李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...
- Android Studio快速集成讯飞SDK实现文字朗读功能
今天,我们来学习一下怎么在Android Studio快速集成讯飞SDK实现文字朗读功能,先看一下效果图: 第一步 :了解TTS语音服务 TTS的全称为Text To Speech,即“从文本到语音” ...
- 【Unity游戏开发】SDK接入与集成——小白入门篇
一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...
- 视频云SDK iOS持续集成项目实践
1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...
- 使用 CocoaPods 给微信集成 SDK 打印收发消息
使用 CocoaPods 给微信集成 SDK 打印收发消息 推荐序 本文介绍的是一套逆向工具,可以在非越狱手机上给任意应用增加插件.在文末的示例中,作者拿微信举例,展示出在微信中打印收发消息的功能. ...
- iOS - 集成SDK问题
1.大部分社交平台接口不支持https协议. 问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据.对ShareSDK来说,具体表现可能是,无法授权.分享 ...
- ShareSDK入门指南:Android 10分钟快速集成
ShareSDK 官方已提供Android 快速集成教程,以官方教程为参考,本文重点指导大家在集成中遇到的问题. Android 快速集成官方教程:http://wiki.mob.com/Androi ...
- OpenCV3.4.1快速集成到Android studio中,10分钟搞定
OpenCV3.4.1快速集成到Android studio中,10分钟搞定 转载 https://blog.csdn.net/yu540135101/article/details/8259 ...
- 轻量易用的微信Sdk发布——Magicodes.Wx.Sdk
概述 最简洁最易于使用的微信Sdk,包括公众号Sdk.小程序Sdk.企业微信Sdk等,以及Abp VNext集成. GitHub地址:https://github.com/xin-lai/Magico ...
随机推荐
- BZOJ1036 树的统计
Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. Q ...
- Treap实现山寨set
treap插入.删除.查询时间复杂度均为O(logn) treap树中每个节点有两种权值:键值和该节点优先值 如果只看优先值,这棵树又是一个堆 treap有两种平衡方法:左旋&右旋 inser ...
- KPROCESS IDT PEB Ldr 《寒江独钓》内核学习笔记(3)
继续上一篇(2)未完成的研究,我们接下来学习 KPROCESS这个数据结构. 1. 相关阅读材料 <深入理解计算机系统(原书第2版)> 二. KPROCESS KPROCESS,也叫内核进 ...
- TCP/IP详解 学习二
链路层: 在 T C P / I P协议族中,链路层主要有三个目的:(1)为 I P模块发送和接收 I P数据报:( 2)为 A R P模块发送 A R P请求和接收 A R P应答:( 3)为 R ...
- POJ3233Matrix Power Series(十大矩阵问题之三 + 二分+矩阵快速幂)
http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS Memory Limit: 131072K Total ...
- css中的id和css的区别
在样式表定义一个样式的时候,可以定义id也可以定义class. 1.在CSS文件里书写时,ID加前缀"#":CLASS用"." 2.id一个页面只可以使用一次: ...
- android加载大图片到内存
1)演示效果: 1)代码演示: 布局代码: 权限配置:
- footable动态载入数据
footable_redraw事件 $('#scan').on('click',function(){ var html = '<tr><td>mayidudu</td& ...
- textView中判断文本长度,自定义表情长度为1,emoj表情长度为1,输入限制
static const int MAX_LIMIT_NUMS = 100; /**< 输入个数限制 */ // self.inputNumberTipsLabel 控制器的view上一个用 ...
- SQL 基本语句
1.修改sa账户密码 在查询分析器中执行如下语句: sp_password Null,'teracypwd','sa' 把SA的密码设为"teracypwd" 执行成功后有&quo ...