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

  • 配置示例:

  1. <feature name="magicWindow">
  2. <param name="urlScheme" value="magicWinodw" />
  3. <param name="ios_api_key" value="OFPIL3DU096QTJD17GT9EGWFZ2HGXBP3" />
  4. <param name="android_api_key" value="RBDDDWAFMZZEOLTI26Q6PH1E88D9H9LA" />
  5. <param name="serviceKey" value="zhoujielun,W2YO99IWWU"/>
  6. </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未安装,还会出现错误对话框:

magicWindow

所以,我们强烈推荐配置Universal link,而通过魔窗来配置Universal link也变得非常的简便。

(1) 配置developer.apple.com的相关信息

登录 https://developer.apple.com,选择Certificate, Identifiers & Profiles,选择相应的AppID,开启Associated Domains

magicWindow

注意:当AppID重新编辑过之后,需要更新相应的provisioning Profiles。

(2) 配置 UZApp.entitlements 文件

.entitlements是xml格式的文件,新建一个文本文件,将魔窗的域名(applinks:s.mlinks.cc)添加到该文件内。然后命名为 UZApp.entitlements 文件,然后将文件放置在代码包里面的res文件夹下,云编译时 APICloud 服务器会将本文件内的内容添加到编译工程里。详情参考 修改 entitilements 文件

示例如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>com.apple.developer.associated-domains</key>
  6. <array>
  7. <string>applinks:s.mlinks.cc</string>
  8. </array>
  9. </dict>
  10. </plist>

(3) 在后台填写相关App的mLink配置信息

magicWindow

team ID可以从你的苹果开发账号页面获取,如图:

magicWindow

注意:本模块在 iOS 平台上最低适配版本为 iOS9.0,云编译时请配置编译版本为iOS9

模块接口详情

registerApp

registerApp(callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;操作成功状态值,true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0 //错误码
  3. msg:"" //错误描述
  4. }

示例代码

  1. var magicWindow = api.require('magicWindow');
  2. magicWindow.registerApp(
  3. function(ret, err) {
  4. if (ret.status) {
  5. api.alert({ msg: '' + ret.status });
  6. } else {
  7. api.alert({ msg: err.msg });
  8. }
  9. }
  10. );

可用性

Android系统

可提供的1.0.0及更高版本

getLastChannelForMLink

获得最近一次的mLink短链接的渠道来源

getLastChannelForMLink(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. lastChannel:'appstore'
  3. }

示例代码

  1. var magicWindow = api.require('magicWindow');
  2. magicWindow.getLastChannelForMLink(function(ret, err) {
  3. if (ret.lastChannel) {
  4. alert(ret.lastChannel);
  5. }
  6. } );

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

registerMLinkHandler

注册一个的mLink handler,当接收到URL,并且所有的mLink key都没有匹配成功,就会调用默认的mLink handler registerMLinkHandler( callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. url:'http//www.baidu.com',
  3. serviceKey:'zhoujielun',
  4. params:params //字典
  5. }

示例代码

  1. var magicWindow = api.require('magicWindow');
  2. magicWindow.registerMLinkHandler(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

callbackEnable

A跳B,B判断是否需要返回A

callbackEnable( callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型
  3. }

示例代码

  1. var magicWindow = api.require('magicWindow');
  2. magicWindow.callbackEnable(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本

returnOriginAppWithParams

A跳B,B返回A的时候,调用此方法。

returnOriginAppWithParams( callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型 true :成功返回,false :失败
  3. }

示例代码

  1. var magicWindow = api.require('magicWindow');
  2. magicWindow.returnOriginAppWithParams(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

Android系统,iOS系统

可提供的1.0.0及更高版本