精华内容
下载资源
问答
  • 移动端最佳cp 魔窗

    2015-07-12 12:57:44
    你只需在App 内嵌入魔窗SDK,就可以在应用内创建多个动态魔窗位,魔窗位可以以任意的展现形式出现在任意指定的位置,你可以在后台动态控制魔窗位中投放的内容,想做活动时就在App任意位置开启它,不想做活动就让它...
  • coso js 魔窗

    2017-06-28 16:22:06
    首先导入魔窗的SDK包 再在AppActivity里注册和使用 protected void onStart() { super.onStart(); Uri mLink = getIntent().getData(); MLink.getInstance(AppActivity.this).deferredRouter(); Log.

    首先导入魔窗的SDK包
    再在AppActivity里注册和使用

     protected void onStart() {
           super.onStart();
            Uri mLink = getIntent().getData();
            MLink.getInstance(AppActivity.this).deferredRouter();
            Log.e("MagicWindowsSDK", "onStart" + mLink); 
            if (mLink != null) {
                MLink.getInstance(this).router(mLink);
            } else {
                Log.d("请您安装软件", "请您安装软件");
                //MLink.getInstance(this).checkYYB();
            }      
         }
    
    private void initMagicWindows() {
              MWConfiguration config = new MWConfiguration(this);
                config.setDebugModel(true)
                        .setPageTrackWithFragment(true)
                        .setWebViewBroadcastOpen(true)
                        .setSharePlatform(MWConfiguration.ORIGINAL);
                MagicWindowSDK.initSDK(config);
        }
    
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    initMagicWindows();       
             registerForMLinkCallback();
             Uri mLink = getIntent().getData();
             MLink.getInstance(AppActivity.this).deferredRouter();
             System.out.println("魔窗返回绑定参数mlink mLinkmLinkmLinkmLink"+mLink);
             if (mLink != null) {
                MLink.getInstance(this).router(mLink);
             } else {
                //MLink.getInstance(this).checkYYB();
             }
             }
    
    
    private static void registerForMLinkCallback() {
            MLink mLink = MagicWindowSDK.getMLink();
            System.out.println("------------------------registerForMLinkCallback");
    
            mLink.registerDefault(new MLinkCallback() {
                @SuppressWarnings("null")
                @Override
                public void execute(Map<String, String> paramMap, Uri uri, Context context) {
                    //todo: 获取动态参数,用来处理
                    System.out.println("---------------------进入注册");
                    String id = ""; 
                    String type = "";
                    try {
                       if (paramMap != null) {
                        id = paramMap.get("hehe"); //通过key来取得需要的信息
                        type = paramMap.get("hehe");
                       } else if(uri != null) {
                        id = uri.getQueryParameter("hehe");
                        type = paramMap.get("hehe");
                       }
                    } catch (Exception e) {
                        Log.e("mlinkInfo", "Exception", e);
                    }      
    
                    System.out.println(id+"魔窗返回绑定参数mlink key"+type);
    //              for (Map.Entry MapString : paramMap.entrySet()) { 
    //                  String key=(String) MapString.getKey();//次方法获取键值对的名称 
    //                  String value=(String) MapString.getValue();//次方法获取键值对的值 
    //                  System.out.println(key+":*************:"+value); 
    //              }
                    //todo: 此处可以根据获取的动态参数id来做相应的处理
    //              Intent intent = new Intent(context, AppActivity.class);
    //              intent.putExtra("from", "mLink");
    //              AppActivity.instance.processIntent(intent);           
                }
            });
        }
    
    @Override
        public void onPause() {
            Session.onPause(self);
            super.onPause();
        }
    protected void onResume() {
             Session.onResume(self);
            super.onResume();
            }
    
    AndroidManifest.xml 里的配置
    <activity android:name="org.cocos2dx.javascript.AppActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation">
          <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
    
          <intent-filter>
            <data android:scheme="kuailaihngame"/>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
        </activity>
    <activity android:name="com.zxinsight.common.base.MWActivity" android:exported="true"
            android:configChanges="orientation|keyboardHidden|screenSize|navigation"/>
    在application里添加
    <meta-data 
            android:name="MW_APPID" android:value="你的appkey" /> 
            <!--渠道名称MW_CHANNEL不能更改 -->
        <meta-data 
            android:name="MW_CHANNEL" android:value="渠道id" />
        <!-- wx end -->
    
    权限
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
      <uses-permission android:name="android.permission.GET_TASKS" />
      <uses-permission android:name="android.permission.READ_PHONE_STATE" />
      <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
      <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
      <uses-permission android:name="android.permission.RECORD_AUDIO" />
      <uses-permission android:name="android.permission.VIBRATE" />
    
    
    然后去魔窗官网注册一个账号,添加一个app
    配置一下mLink
    mLink服务名称:名称
    mLink服务key: key
    Android URI:key?hehe=:id&hehe=:type
    
    
    //在写一个网页   微信分享的时候在这个网页链接的后面加上"?hehe" + hehe + "&hehe=" + ""  //自己需要传的参数就可以了
    <html xmlns:th="http://www.thymeleaf.org" lang="en">
    <head>
      <meta charset="UTF-8"/>
      <meta name="apple-mobile-web-app-cacable" content="yes" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, user-scaleble=0"/>
      <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
      <title>"微信跳转"</title>
    </head>
    <body>
    
    <div class="main>
         <div class="banner">
           <a class="dwnBtn" id="openApp" href=""></a>
        </div>
        <div class="middle"...>
    </div>
     <script src="https://static.mlinks.cc/scripts/dist/mlink.min.js"></script>
     <!-- h5 静态传参数 如gameRoomID -->
     <script>
       function HashMap(key,value){  
        var key;  
        var value;  
        this.put = function(key,value){  
        this.key = key;  
        this.value = value;  
      }  
      this.getKey = function(){  
        return key;  
      }  
      this.getValue = function(){  
       return value;  
      }  
     }  
    
      function Request(){  
       var parameters = null;  
       this.init = function(){  
        var location = window.location.href;  
        var index = location.indexOf("?");  
        var queryString = ((index>0)?location.substring(index+1):null);  
        if(null!=queryString){  
           parameters = new Array();  
           var parameterArray = queryString.split("&");  
           var length = parameterArray.length;  
           for(var i=0;i<length;i++){  
           var parameter = parameterArray[i];  
           index =  parameter.indexOf("=");  
           var key = parameter.substring(0,index);  
           var value = parameter.substring(index+1);  
           if(null!=key && key.length>0){  
             parameters.push(new HashMap(key,value));  
          }  
         }  
        }  
      }  
    
      this.getParameter = function(key){  
      this.init();  
      if(null==parameters)  
        return "";  
      var length = parameters.length;  
      for(var i=0;i<length;i++){  
         hashMap = parameters[i];  
         if(hashMap.getKey() == key){  
           return hashMap.getValue();  
         }  
       }  
       return "";  
     }  
    
     this.getParameterValues = function(key){  
      this.init();  
      if(null==parameters)  
        return null;  
      var array = new Array();  
      var length = parameters.length;  
      for(var i=0;i<length;i++){  
          hashMap = parameters[i];  
          if(hashMap.getKey() == key){  
            array.push(hashMap.getValue());  
         }  
      }  
      return array;  
      }
      }  
     </script>
     <!-- 魔窗对象 -->
     <script>
     window.onload = function(){
      var request = new Request();
       new Mlink({
         mlink: "AclX",
         button: document.querySelector("a#openApp"),
         autoLaunchApp: true,
         autoRedirectToDownloadUrl: true,
         downloadWhenUniversalLinkFailed: false,
         inapp:false,
         params:{id:request.getParameter(""), type:request.getParameter("")}
      });
     }
     </script>
     </body>
     </html> 
    
    
    展开全文
  • 项目一直在使用「魔窗」,但是随着「魔窗」被「极光」收购成为「魔链」后,就变得越来越不稳定; 刚开始的时候,「极光」只是把这个业务接过来,并没有做过多的干预,导致出现不同机型,展示不一样场景的问题,比如...

    背景

    项目一直在使用「魔窗」,但是随着「魔窗」被「极光」收购成为「魔链」后,就变得越来越不稳定;

    刚开始的时候,「极光」只是把这个业务接过来,并没有做过多的干预,导致出现不同机型,展示不一样场景的问题,比如:

    ① 小米手机能实现完美跳转,华为,oppo 则只能跳转到首页
    ② 部分手机在程序中点击 home 按键,再切回程序,结果是开启了新的一份程序,再推出的时候,需要退出 n 个程序
    ③ 点击「魔窗」链接,如果恰好在对应页面,「魔窗」会新开一个相同的页面
    ...

    没有找客服地方,只能靠自己不断试错,不断调试,耗费了大量时间和精力,但这样也不能完美解决,但是对应的 ios 却是正常运用,所以还不好使用别的方案...

    所以,「魔窗」在近段时间就是我的噩梦啊 !!!

    好在终于解决了!

    解决方案

    第一步,将「魔窗」之前的配置全部“搬运”到「极光魔链」里面

    「魔窗」之前的配置链接
    https://mlinks.jiguang.cn/mlinkSetting/mlinkMgnt
    长这个样子

    旧配置.png

    旧配置.png

     

    被收购后新的地址链接进入
    极光开发者服务中心

    然后进入应用设置,在设置里面完成配置

     

    新配置.png

    新配置.png

    在新配置里面,可以选择一个跳转渠道

     

    跳转渠道.png

    跳转渠道.png

     

    这一点很好,但是只能选一种

    第二步

    配置好之后,再将原来「魔窗」的sdk 全都换成「极光魔链」的最新的sdk,然后按照配置文档重新配置即可。

    链接在这里
    https://docs.jiguang.cn//jmlink/client/Android/android_sdk/

    总结

    重新配置之后,功能就都正常了,而且「魔链」的客服反馈也很及时,很棒棒哦,有问题直接加群或者发邮件就行。

    好啦,应该是只有我遇到了这样的问题吧,就当是一个记录吧~~

     

    微信搜索

    黑键手记

    就是本人公众号,喜欢就关注一下吧,么么哒。

    公众号是第一更新文章平台,csdn 是同步过来的,所以有的图片会丢失,请谅解。

     

    展开全文
  • Android开发-魔窗DeeplinkDemo-AndroidStudio 对应博文:http://blog.csdn.net/iwanghang/article/details/70238463
  • 【安卓】安卓集成魔窗-完整实例

    千次阅读 2017-09-03 00:22:44
    前些日子,公司安卓应用的魔窗出现问题,需要重新写过。于是,就有了此篇魔窗HelloWord。 没有包含微信分享,如果有微信分享,无非就是再集成微信分享,将分享链接改为魔窗的mLink深度链接即可 魔窗官网:...

    前些日子,公司安卓应用的魔窗出现问题,需要重新写过。于是,就有了此篇魔窗HelloWord。
    没有包含微信分享,如果有微信分享,无非就是再集成微信分享,将分享链接改为魔窗的mLink深度链接即可

    魔窗官网:http://www.magicwindow.cn/

    魔窗介绍就不重复了,想去了解的可以去官网看看、

    企业级的深度链接(Deeplink)解决方案mLink
    场景式连接/服务连接
    内容分发
    跨App Store/应用市场的渠道分析

    可以这么理解,通过浏览器访问某一链接(可以带参数),直接在本机上打开安装的应用(通过scheme),通过配置或者参数跳转到不同的场景

    首先当然是去注册账号咯。
    然后进入到管理后台,也就是http://mgnt.magicwindow.cn

    填写产品信息:

    这里的微信分享AppID,是你集成微信分享(微信会分配给你一个appid)后需要填写的。

    填写APP信息:

    iOS应用的填写先不管,这里讲的是安卓。
    包名就是你的项目AndroidManifest.xml里面的包名:

    URL Scheme其实填写的是你的应用的唯一标识,你可以自定义,记住后面需要加://
    下载地址是你没有安装应用时,访问链接后跳转的链接,一般填写应用下载地址

    魔窗位信息:

    不需要填写,直接点完成即可。

    下面就是选择添加mLink服务,选择好产品之后,点击添加mLink服务

    接下来就是填写信息了:

    mLink服务名称自定义。可以有中文。
    mLink服务key: 页面key只能包含英文字母,数字和下划线,且只能以英文字母或者下划线开头,且长度不得大于50
    也就是mLink的唯一标识
    iOS URL我现在不管。
    Android URL: 第一个参数mLinkHello我是随便写的(可以自定义为其他的),我到现在都不明白配置这个有什么用。
    官方文档解释为:

    貌似这是一个动态参数,我没用到这个,不管,我随便填写的。
    ?问号后面的也是动态参数,这是我比较熟悉的传参。id和name为参数名。记得中间需要填写的是=:这两个符号不能分开写。
    点击保存即可。
    不出意外的话,会这样:

    现在配置完了,直接看代码吧。

    首先你需要创建一个启动页(Cocos2d-x开发的游戏也可以),记得是启动页而不是首页。
    在AndroidManifest.xml中配置启动页:

            <activity android:name=".HomeMWActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
                <intent-filter>
                    <data android:scheme="chenhaoxiang"/>
                    <action android:name="android.intent.action.VIEW" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="android.intent.category.BROWSABLE" />
                </intent-filter>
            </activity>

    首页:

            <activity android:name=".MainActivity">
                <intent-filter>
                    <category android:name="android.intent.category.DEFAULT"/>
                </intent-filter>
            </activity>

    需要跳转的页面:

            <activity
                android:name=".ParaSetActivity"
                android:label="ParaSetActivity">
                <intent-filter>
                    <category android:name="android.intent.category.DEFAULT"/>
                </intent-filter>
            </activity>

    ParaSetActivity类上的注解的值为mLink的key

    实例说明,没有集成微信分享,想测试的,可以直接用mLink短链接带上参数,例如:https://aevcir.mlinks.cc/A0dY?id=1&name=chx
    在浏览器中直接访问,即可跳转到ParaSetActivity页面,参数值也可在app中读出
    实例中的MW_APPID请替换为自己的魔窗App Key,可以在产品管理中看到:

    更多的理解,可以通过下面的实例(使用android studio开发)去看看。也可以直接下载官方的DEMO

    源代码下载地址:

    GITHUB源码下载地址:点我进行下载

    本文章由[谙忆]编写, 所有权利保留。
    欢迎转载,分享是进步的源泉。

    转载请注明出处:http://chenhaoxiang.cn

    本文源自人生之旅_谙忆的博客

    展开全文
  • 魔窗教你玩转App个人中心 很多人在问,魔窗位加在哪比较好,魔sir告诉你,魔窗位可以加在应用的任何位置,甚至可以让你省去一整块功能的开发。你不信么?通过下面的例子告诉你,魔窗如何承包你的个人中心!你只要...
  • 魔窗笔记

    js接入流程

    导入js文件

    <script src="https://static.mlinks.cc/scripts/dist/mlink.min.js"></script>

    特别提示: 请直接使用此链接, 不要将此文件下载到您项目中, 否则, 我们在更新数据结构或API接口后有可能会导致mLink失效。

    设定一个a标签

    <a id="btnOpenApp">打开APP</a>

    配置魔窗后台并获取短连接

    ps. https://a.mlinks.cc/ABCD,其中ABCD为短链KEY;

    推荐使用短链KEY

    对象初始化方式

    new Mlink({
        mlink:'https://a.mlinks.cc/ABCD',//短链地址,推荐使用KEY
        button:document.querySelector('a#btnOpenApp')//所需绑定的a标签的id
    });

    配置文件方式初始化(适合同一页面多入口)

    var link='https://a.mlinks.cc/ABCD';//短链地址
    var btn_1=document.querySelector('a#btnOpenApp1');
    var btn_2=document.querySelector('a#btnOpenApp2');
    var btn_3=document.querySelector('a#btnOpenApp3');
    
    var options = [
        {
            mlink: link+'?name=1',
            button: btn_1
        }, {
            mlink:link+'?name=2',
            button: btn_2
        }, {
            mlink: link+'?name=3',
            button: btn_3
        }
    ];
    
    new Mlink(options);

    参数传递

    Android接入流程

    欢迎使用Markdown编辑器写博客

    本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:

    • Markdown和扩展Markdown简洁的语法

    • 代码块高亮

    • 图片链接和图片上传

    • LaTex数学公式

    • UML序列图和流程图

    • 离线写博客

    • 导入导出Markdown文件

    • 丰富的快捷键


    快捷键

    • 加粗 Ctrl + B

    • 斜体 Ctrl + I

    • 引用 Ctrl + Q

    • 插入链接 Ctrl + L

    • 插入代码 Ctrl + K

    • 插入图片 Ctrl + G

    • 提升标题 Ctrl + H

    • 有序列表 Ctrl + O

    • 无序列表 Ctrl + U

    • 横线 Ctrl + R

    • 撤销 Ctrl + Z

    • 重做 Ctrl + Y

    Markdown及扩展

    Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]

    使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。

    本编辑器支持 Markdown Extra ,  扩展了很多好用的功能。具体请参考Github.

    表格

    Markdown Extra 表格语法:

    项目 | 价格

    ——– | —

    Computer | $1600

    Phone | $12

    Pipe | $1

    可以使用冒号来定义对齐方式:

    | 项目 | 价格 | 数量 |

    | :——– | ——–:| :–: |

    | Computer | 1600 元 | 5 |

    | Phone | 12 元 | 12 |

    | Pipe | 1 元 | 234 |

    定义列表

    Markdown Extra 定义列表语法:

    项目1

    项目2

    定义 A

    定义 B

    项目3

    定义 C

    定义 D

    定义D内容

    代码块

    代码块语法遵循标准markdown代码,例如:

    
    @requires_authorization
    
    def somefunc(param1='', param2=0):
    
        '''A docstring'''
    
        if param1 > param2: # interesting
    
            print 'Greater'
    
        return (param2 - param1 + 1) or None
    
    class SomeClass:
    
        pass
    
    >>> message = '''interpreter
    
    ... prompt'''
    

    脚注

    生成一个脚注1.

    目录

    [TOC]来生成目录:

    数学公式

    使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com.

    • 行内公式,数学公式为:Γ(n)=(n1)!nN

    • 块级公式:

    x=b±b24ac2a

    更多LaTex语法请参考 这儿.

    UML 图:

    可以渲染序列图:

    Created with Raphaël 2.1.0张三张三李四李四嘿,小四儿, 写博客了没?李四愣了一下,说:忙得吐血,哪有时间写。

    或者流程图:

    Created with Raphaël 2.1.0开始我的操作
    • 关于 序列图 语法,参考 这儿,

    • 关于 流程图 语法,参考 这儿.

    离线写博客

    即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。

    用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。

    博客发表后,本地缓存将被删除。 

    用户可以选择 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

    注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

    浏览器兼容

    1. 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。

    2. IE9以下不支持

    3. IE9,10,11存在以下问题

      1. 不支持离线功能

      2. IE9不支持文件导入导出

      3. IE10不支持拖拽文件导入



    1. 这里是 脚注内容.
    展开全文
  • 申请魔窗开放平台

    2019-03-19 09:56:46
    1、魔窗官方网址:http://www.magicwindow.cn/ 登陆账号密码,如果没有就申请注册。 2、登陆后如图下页面点击产品管理 3、点击产品后,在点击新增产品,选择App 4、参照图下填写ios对应明细 5、参照图下填写Android...
  • 最近弄魔窗SDK踩过的坑

    千次阅读 2017-03-06 16:09:56
    先扔上两个魔窗的官方文档哈: 魔窗iOS官方文档 魔窗中遇到的问题 其中具体的key 具体的使用 这个吧 就一一看文档对应就好了 还有视频 虽然视频跟实际官网后台有差距的 但还是可以看得懂的 ,我只解决问题 问题1...
  • 安卓 魔窗SDK 快速接入

    千次阅读 2017-01-23 23:15:50
    首先要清楚目标是什么?魔窗官网有成果视频展示,接入之前最好看一下,方向不对努力白费,不要急着对着文档操作 , 理清思路 。
  • 魔窗。做最好的App增长工具和生态落地最后一公里 30分钟极速接入,1天改造完毕 以上功能仅仅是魔窗的冰山一角,想了解很多其它快来勾搭我们的萌妹子姗姗 在微信一键唤起功能的背后,...
  • Android项目接入魔窗SDK自定义使用

    千次阅读 2017-03-02 15:44:27
    1、魔窗官网产品配置正确。 2、app目录下build.gradle文件,添加依赖: compile (name:'MagicWindowSDK', ext:'aar') 3、Manifest中Launcher类声明scheme,字符串与官网产品配置中的一致。 4、对闪屏类(程序...
  • 融资1个亿,5000万给魔窗,凭啥?

    千次阅读 2016-07-01 11:48:00
    魔窗“黑帮式增长”大会上,美人信息向魔窗豪掷5000万人民币,并加磅4亿美人用户,凭啥?
  • iOS第三方库-魔窗Mlink的坑

    千次阅读 2017-02-24 18:26:15
    下面说一下我再使用魔窗-mlink功能中遇到的问题, 含有mlinkkey识别的方法使用: /** * 注册一个mLink handler,当接收到URL的时候,会根据mLink key进行匹配,当匹配成功会调用相应的handler * 需要在 ...
  • APP服务化, 使用魔窗SDK可以轻松实现!老规矩:效果图奉上 1.注册魔窗账号,创建APP注册地址:www.magicwindow.cn创建你的app 2.嵌入sdk这里只介绍Android Studio的嵌入方法 转载请注明出处:...
  • sdk优化过程,是一段血泪史,可以吐槽的地方无数。魔窗研发副总裁沈哲首次分享他们在移动端SDK优化之路上遇到的各种坑。
  • 魔窗SDK集成

    千次阅读 2017-03-22 16:36:14
    package com.example.tcl.magicwindow; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity;...import android.os.Bundle;
  • 2018年11月28日,魔窗mlink官方发出了一份题为《至mLink忠实客户的一封信》的邮件,引起了广大移动开发者们的激烈讨论。 魔窗在邮件中正式宣布,原免费产品mLink将在2019年1月1日开始采取按年计费制,并且年费从2W...
  • 写在文前的话作为App创业者的好基友,魔窗的二师兄们最近都在加班加点地给大家谋福利,太多好消息来不及说出口,所以从今天开始我们会介绍很多魔窗的优秀客户(都是圈里网红级App)给大家认识,如果有看对眼的别害羞...
  • 通过shareSDK分享链接,通过scheme传参到IOS和安卓.棋牌游戏只需要这些,丢掉魔窗吧!
  • 魔窗--H5网页唤醒APP

    2018-01-25 11:08:00
    2019独角兽企业重金招聘Python工程师标准>>> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 385
精华内容 154
关键字:

魔窗