BBASMPlugin+OpenApp.h
5.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//
// BBASMPlugin+OpenApp.h
// SWAN
//
// Created by baidu on 2018/4/9.
// Copyright © 2018年 baidu. All rights reserved.
//
#import "BBASMPlugin.h"
#import "BBASMStoreProductViewController.h"
/**
打开其它应用端能力
*/
@interface BBASMPlugin (OpenApp) <SKStoreProductViewControllerDelegate>
/**
* 描 述: 打开其它应用 如果没有安装打开appStore下载页面
* 示 例: baiduboxapp://swanAPI/openApp?params={"open":"","download":""}&callback=_bdbox_js_186&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_launchapp
* 备 注: swan.openAppByURL
* ********** description ************
* @name: app.insert
* @authority: swanAPI
* @path: /openApp
* @args: [{"name": "open", "value": "string"}, {"name": "download", "value": "Object="}, {"name": "url", "value": "string="}, {"name": "isNeedDownload", "value": "boolean="}, {"name": "invokAnyWay", "value": "boolean="}, {"name": "cb", "value": "string"}, {"name": "extraParams", "value": "Object="}, {"name": "invokeFrom", "value": "string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)openApp:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 打开其它应用 专为广告组件使用,不加鉴权
* 示 例: baiduboxapp://swanAPI/openApp4Ad?params={"name":"","url":""}&callback=_bdbox_js_xxxx
* 文 档: http://es.baidu-int.com/index#/apidetail/1268
* 备 注: swan.openAdApp
* ********** description ************
* @name: openAdApp.insert
* @authority: swanAPI
* @path: /openApp4Ad
* @args: [{"name": "name", "value": "string="}, {"name": "url", "value": "string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)openApp4Ad:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 小程序APP支持静默下载、安装端能力
* 示 例: baiduboxapp://swanAPI/installApp?params={}&callback=_bdbox_js_xxxx
* 文 档: http://ft.baidu.com/#/scheme/swan_downloadadapp
* 备 注:
* ********** description ************
* @name: appInstallManager.install
* @authority: swanAPI
* @path: /installApp
* @args: [{"name": "type", "value": {"oneOf": ["queryStatus", "startDownload", "pauseDownload", "cancelDownload", "installApp", "resumeDownload"]}}, {"name": "url", "value": "string="}, {"name": "appId", "value": "string="}, {"name": "name", "value": "string="}, {"name": "onProgressUpdate", "value": "string="}, {"name": "cb", "value": "string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)installApp:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 调起AppStore内嵌下载页(供广告组件使用,不鉴权)
* 示 例: baiduboxapp://swanAPI/installApp4Ad?params={"appId":"379395415"}&callback=_bdbox_js_xxxx'
* 文 档: http://ft.baidu.com/#/scheme/swan_adrequest
* 备 注:
* ********** description ************
* @name: installApp4Ad
* @authority: swanAPI
* @path: /installApp4Ad
* @args: [{"name": "type", "value": {"oneOf": ["queryStatus", "startDownload", "pauseDownload", "cancelDownload", "installApp", "resumeDownload"]}}, {"name": "url", "value": "string="}, {"name": "appId", "value": "string="}, {"name": "name", "value": "string="}, {"name": "onProgressUpdate", "value": "string="}, {"name": "cb", "value": "string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)installApp4Ad:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 检查应用是否安装,iOS11.3.5开始支持d
* 示 例: baiduboxapp://swanAPI/checkAppInstalled?params={}&callback=_bdbox_js_734
* 文 档: http://ft.baidu.com/#/scheme/swan_checkappinstalled
* 备 注:
* ********** description ************
* @name: isAppInstalled
* @authority: swanAPI
* @path: /checkAppInstalled
* @args: [{"name": "name", "value": "string|Array"}, {"name": "cb", "value": "string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.utils.checkAppInstalled"}}}
*/
- (void)checkAppInstalled:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 宿主是否允许通过广告组件跳转其他App
* 示 例: baiduboxapp://swanAPI/isAllowedAdOpenAppSync?params={}&callback=_bdbox_js_734
* 文 档: http://es.baidu-int.com/#/apidetail/1305
* 备 注:
* ********** description ************
* @name: isAllowedAdOpenAppSync
* @authority: swanAPI
* @path: /isAllowedAdOpenAppSync
* @args: []
* @config: {"swan": {"web": {"invoke": "swan.prompt"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.utils.isAllowedAdOpenAppSync"}}}
*/
- (void)isAllowedAdOpenAppSync:(BBASchemeDispatcher *)dispatcher;
/**
* @brief 检查应用是否安装,iOS11.3.5开始支持
* @param params 端能力参数
* @return NSDictionary 端能力调用结果
*/
+ (NSDictionary *)checkAppInstalledWithParams:(NSDictionary *)params
appId:(NSString *)appId
completion:(void (^)(NSDictionary *completionData, NSString *cb))completion;
/**
* @brief 宿主是否允许通过广告组件跳转其他App
*/
+ (NSDictionary *)isAllowedAdOpenApp;
@end