想要实现在网页里一键调到你APP的指定页面吗,好比打开 JD的一个商品的网页,从网页调到APP这个商品的页面。APP服务化, 使用魔窗SDK可以轻松实现!老规矩:效果图奉上
这里写图片描述
1.注册魔窗账号,
创建APP注册地址:www.magicwindow.cn创建你的app
这里写图片描述
2.嵌入sdk
这里只介绍Android Studio的嵌入方法
(1)下载aar包,将其放到libs目录
这里写图片描述
(2)在gradle内配置
repositories { flatDir {dirs'libs'} } dependencies { compile(name:'MagicWindowSDK', ext:'aar') }
(3)配置Manifest.xml
在你的引导页面 加入以下代码:
3.调用SDK
1.在引导页(SplashActivity) 进行Activity的初始化:
MWConfiguration config = new MWConfiguration(this);//设置渠道,非必须(渠道推荐在AndroidManifest.xml内填写)config.setChannel("你的渠道名称") //开启Debug模式,显示Log,release时注意关闭 .setDebugModel(true) //带有Fragment的页面。具体查看2.2.2.setPageTrackWithFragment(true) //设置分享方式,如果之前有集成sharesdk,可在此开启 .setSharePlatform (MWConfiguration. ORIGINAL);MagicWindowSDK.initSDK(config);
2.在自定义Application 注册session
Session.setAutoSession(this);
4.注册mLink
这里写图片描述
这里的key就是 从你的SplashActivity 路由到你具体Activity的 key。接下来,只需要在你的SplashActivity 注册路由即可。具体分析看注释,尤其注意其中有个 坑!!!!!小心,鼓捣了我好久。
private void registerLinks(Context context) { MLink.getInstance(context).registerDefault(new MLinkCallback() { @Override public voidexecute(MapparamMap, Uri uri,Contextcontext) { //默认的路由 如果没有匹配则转跳到 MainActivity 为你的首页 MLinkIntentBuilder.buildIntent(paramMap,context, MainActivity.class);} }); // testKey: mLink 的 key, mLink的唯一标识,用于进行路由操作 MLink.getInstance(context).register("testKey", new MLinkCallback() { public voidexecute(MapparamMap, Uri uri,Contextcontext) { //!!!!!!!!注意 此处有坑,如果你的SplashActivity转跳有延迟,那么在此处转跳的延迟必须大于前者转跳时间!!!!!!!! Observable.timer(1050,TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(aVoid->{ MLinkIntentBuilder.buildIntent(paramMap,context, DetailsActivity.class);}); } }); }
此时onCreate的代码如下:
publicclassSplashActivityextendsAppCompatActivity{@Overrideprotectedvoid onCreate(BundlesavedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash);//初始化SDK initSDK(); //注册SDK registerLinks(this); Uri mLink = getIntent().getData(); //如果从浏览器传来 则进行路由操作 if(mLink != null){ MLink.getInstance(this).router(this, mLink); finish(); }else { //否则执行原本操作 go2MainActivity(); } }
接下来添加你的短链接,按照提示添加即可
这里写图片描述
下面我们从浏览器里打开 短链接,看看发生了什么、
这里写图片描述
很神奇的从 网页转跳到了详情页 有木有!!!快去试试吧~~DEMO下载地址
如果你喜欢我的博客 请评论或者点喜欢!~!谢谢
文/androidwing1992(简书作者)
原文链接:http://www.jianshu.com/p/9b90658d3cde
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。