magicWindow
来自于:开发者立即使用
registerApp getLastChannelForMLink registerMLinkHandler callbackEnable returnOriginAppWithParams
概述
魔窗简介
1.“魔窗”:帮运营人员把 App 内的 Banner 轻松变成“任意门”,营销模板、渠道分发、数据整合通通都到碗里来。
2.魔窗于2016年5月推出mLink,由营销窗口外延到深度链接Deeplink。
3.魔窗采用“免费+增值收费”的盈利模式。
魔窗产品功能
魔窗前端应用内表现方式是一个可更换的“魔窗位”,后台有SaaS形式的内容、数据管理工具,包含活动开关、H5 页面设计、不同渠道分发、数据收集等功能。
魔窗产品介绍
魔窗主要通过以下服务来帮助企业APP获取海量用户流量,提升用户的产品体验
1.mLink.
2.内容分发:魔窗的内容分发技术,能帮你把内容自动分发并适配到各个需要内容的地方,保证内容分发方、内容接收方及用户的三方体验
3.场景式连接/服务连接:魔窗的技术能让上下游App在场景和服务自然连接 ,如在“格瓦拉App”中直接唤起“滴滴打车App”前往电影院,帮助App之间创造巨大的流量红利.
4.跨App Store/应用市场的渠道分析:魔窗的技术能突破应用市场的黑盒,根据每次App的运营行为,精准分析从各个细分渠道带来的新增、激活、活跃、留存和转化,推广效果一目了然,实时优化运营策略.
5.魔窗位: 魔窗位,即App中的多个动态位置管理窗口,通过这个窗口,可以实现内容的展示以及App之间的深度协作跳转。魔窗位具有由你掌控、任意形式、原生体验、任意位置、实时开关、定向能力、支持分享7大特性.
6.活动运营.
模块概述
magicWindow模块封装了魔窗平台的SDK,使用此模块可以为创业者提供全端的APP增长解决方案.魔窗提供一系列轻量级的可快速对接的增长工具: 企业级的深度链接(Deeplink)解决方案mLink,场景式连接/服务连接 ,内容分发,跨App Store/应用市场的渠道分析
使用魔窗基本流程说明
1.在 魔窗网站 注册账号,按照步骤提示注册应用,并新建多个魔窗位,可获得AppKey和魔窗位Key。
2.前端调用magicWindow模块方法。
模块使用攻略
1,配置 config.xml 文件
使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 名称:magicWindow
参数:ios_api_key,android_api_key,urlScheme, serviceKey
配置示例:
<feature name="magicWindow">
<param name="urlScheme" value="magicWinodw" />
<param name="ios_api_key" value="OFPIL3DU096QTJD17GT9EGWFZ2HGXBP3" />
<param name="android_api_key" value="RBDDDWAFMZZEOLTI26Q6PH1E88D9H9LA" />
<param name="serviceKey" value="zhoujielun,W2YO99IWWU"/>
</feature>
字段描述:
urlScheme:(必须配置)iOS系统中App之间是相互隔离的,通过URL Scheme,App之间可以相互调用,并且可以传递参数。
ios_api_key:从魔窗开放平台获取的 App Key。
android_api_key:从魔窗开放平台获取的 App Key。
serviceKey:是 mLink 服务的唯一标识,在魔窗后台设置。配置地址:http://mgnt.magicwindow.cn/mlinkSetting/serviceSetting?productId=3324
2,配置 Universal link (本步骤仅限iOS 平台,android上忽略此步骤)
Universal link是iOS9的一个新特性,通过Universal link, App可以无需打开Safari,直接从微信中跳转到App,真正的实现一键直达。如果使用URL Scheme的话,需要先打开Safari,用户体验变得很差,如果App未安装,还会出现错误对话框:
所以,我们强烈推荐配置Universal link,而通过魔窗来配置Universal link也变得非常的简便。
(1) 配置developer.apple.com的相关信息
登录 https://developer.apple.com,选择Certificate, Identifiers & Profiles,选择相应的AppID,开启Associated Domains
注意:当AppID重新编辑过之后,需要更新相应的provisioning Profiles。
(2) 配置 UZApp.entitlements 文件
.entitlements是xml格式的文件,新建一个文本文件,将魔窗的域名(applinks:s.mlinks.cc)添加到该文件内。然后命名为 UZApp.entitlements 文件,然后将文件放置在代码包里面的res文件夹下,云编译时 APICloud 服务器会将本文件内的内容添加到编译工程里。详情参考 修改 entitilements 文件。
示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:s.mlinks.cc</string>
</array>
</dict>
</plist>
(3) 在后台填写相关App的mLink配置信息
team ID可以从你的苹果开发账号页面获取,如图:
注意:本模块在 iOS 平台上最低适配版本为 iOS9.0,云编译时请配置编译版本为iOS9
模块接口详情
registerApp
registerApp(callback(ret, err))
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;操作成功状态值,true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:0 //错误码
msg:"" //错误描述
}
示例代码
var magicWindow = api.require('magicWindow');
magicWindow.registerApp(
function(ret, err) {
if (ret.status) {
api.alert({ msg: '' + ret.status });
} else {
api.alert({ msg: err.msg });
}
}
);
可用性
Android系统
可提供的1.0.0及更高版本
getLastChannelForMLink
获得最近一次的mLink短链接的渠道来源
getLastChannelForMLink(callback(ret, err))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
lastChannel:'appstore'
}
示例代码
var magicWindow = api.require('magicWindow');
magicWindow.getLastChannelForMLink(function(ret, err) {
if (ret.lastChannel) {
alert(ret.lastChannel);
}
} );
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
registerMLinkHandler
注册一个的mLink handler,当接收到URL,并且所有的mLink key都没有匹配成功,就会调用默认的mLink handler registerMLinkHandler( callback(ret, err))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
url:'http//www.baidu.com',
serviceKey:'zhoujielun',
params:params //字典
}
示例代码
var magicWindow = api.require('magicWindow');
magicWindow.registerMLinkHandler(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
callbackEnable
A跳B,B判断是否需要返回A
callbackEnable( callback(ret, err))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型
}
示例代码
var magicWindow = api.require('magicWindow');
magicWindow.callbackEnable(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本
returnOriginAppWithParams
A跳B,B返回A的时候,调用此方法。
returnOriginAppWithParams( callback(ret, err))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型 true :成功返回,false :失败
}
示例代码
var magicWindow = api.require('magicWindow');
magicWindow.returnOriginAppWithParams(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统,iOS系统
可提供的1.0.0及更高版本