@alfalab/bridge-to-native 1.4.0-beta.7b254fa → 1.4.1-beta.4145945
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -127,6 +127,20 @@ export declare class BridgeToNative {
|
|
|
127
127
|
* Применимо для всех версий на iOS и в новых версиях на Android (>=12.30.0), в более старых WV закрывается всегда автоматически.
|
|
128
128
|
*/
|
|
129
129
|
handleNativeDeeplink(deeplink: string, closeWebviewBeforeCallNativeDeeplinkHandler?: boolean): void;
|
|
130
|
+
/**
|
|
131
|
+
* Открывает dashboard экран NA.
|
|
132
|
+
*
|
|
133
|
+
* Полезно для сценария возврата из WV на dashboard экран приложения,
|
|
134
|
+
* когда обычный deeplink требует специальной обработки.
|
|
135
|
+
*
|
|
136
|
+
* ВАЖНО!
|
|
137
|
+
* В NA на Android до версии `12.30.0` текущее WV закрывается при открытии нового экрана,
|
|
138
|
+
* поэтому в закрытое WV невозможно вернуться back-навигацией.
|
|
139
|
+
*
|
|
140
|
+
* @param closeWebviewBeforeOpen Флаг принудительного закрытия текущего WV перед открытием dashboard экрана.
|
|
141
|
+
* Применимо для всех версий на iOS и в новых версиях на Android (>=12.30.0), в более старых WV закрывается всегда автоматически.
|
|
142
|
+
*/
|
|
143
|
+
openNativeAppDashboard(closeWebviewBeforeOpen?: boolean): void;
|
|
130
144
|
/**
|
|
131
145
|
* Сравнивает текущую версию приложения с переданной.
|
|
132
146
|
*
|
|
@@ -159,6 +159,22 @@ class BridgeToNative {
|
|
|
159
159
|
handleNativeDeeplink(deeplink, closeWebviewBeforeCallNativeDeeplinkHandler = false) {
|
|
160
160
|
this.externalLinksService.handleNativeDeeplink(deeplink, closeWebviewBeforeCallNativeDeeplinkHandler);
|
|
161
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Открывает dashboard экран NA.
|
|
164
|
+
*
|
|
165
|
+
* Полезно для сценария возврата из WV на dashboard экран приложения,
|
|
166
|
+
* когда обычный deeplink требует специальной обработки.
|
|
167
|
+
*
|
|
168
|
+
* ВАЖНО!
|
|
169
|
+
* В NA на Android до версии `12.30.0` текущее WV закрывается при открытии нового экрана,
|
|
170
|
+
* поэтому в закрытое WV невозможно вернуться back-навигацией.
|
|
171
|
+
*
|
|
172
|
+
* @param closeWebviewBeforeOpen Флаг принудительного закрытия текущего WV перед открытием dashboard экрана.
|
|
173
|
+
* Применимо для всех версий на iOS и в новых версиях на Android (>=12.30.0), в более старых WV закрывается всегда автоматически.
|
|
174
|
+
*/
|
|
175
|
+
openNativeAppDashboard(closeWebviewBeforeOpen = false) {
|
|
176
|
+
this.externalLinksService.openNativeAppDashboard(closeWebviewBeforeOpen);
|
|
177
|
+
}
|
|
162
178
|
/**
|
|
163
179
|
* Сравнивает текущую версию приложения с переданной.
|
|
164
180
|
*
|
|
@@ -9,6 +9,7 @@ export declare class ExternalLinksService {
|
|
|
9
9
|
private navigationByNativeAppInProgress;
|
|
10
10
|
constructor(nativeParamsService: NativeParamsService);
|
|
11
11
|
handleNativeDeeplink(deeplink: string, closeWebviewBeforeCallNativeDeeplinkHandler?: boolean): void;
|
|
12
|
+
openNativeAppDashboard(closeWebviewBeforeOpen?: boolean): void;
|
|
12
13
|
getHrefToOpenInBrowser(link: string): string;
|
|
13
14
|
openInBrowser(link: string): void;
|
|
14
15
|
openInNewWebview(link: string, nativeTitle?: string, closeCurrentWebview?: boolean): void;
|
|
@@ -35,6 +35,22 @@ class ExternalLinksService {
|
|
|
35
35
|
}
|
|
36
36
|
this.navigateByNativeApp(preparedNativeUrl);
|
|
37
37
|
}
|
|
38
|
+
openNativeAppDashboard(closeWebviewBeforeOpen = false) {
|
|
39
|
+
if (this.navigationByNativeAppInProgress) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const originalNativeUrl = `${this.nativeParamsService.appId}:///`;
|
|
43
|
+
const preparedNativeUrl = this.nativeParamsService.environment === 'ios'
|
|
44
|
+
? (0, utils_1.appendFromCurrentQueryParamForIos)(originalNativeUrl)
|
|
45
|
+
: originalNativeUrl;
|
|
46
|
+
if (closeWebviewBeforeOpen &&
|
|
47
|
+
this.nativeParamsService.canUseNativeFeature('savedBackStack')) {
|
|
48
|
+
(0, utils_1.closeWebviewUtil)();
|
|
49
|
+
setTimeout(() => window.location.replace(preparedNativeUrl), 0);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.navigateByNativeApp(preparedNativeUrl);
|
|
53
|
+
}
|
|
38
54
|
getHrefToOpenInBrowser(link) {
|
|
39
55
|
if (!this.nativeParamsService.canUseNativeFeature('linksInBrowser')) {
|
|
40
56
|
return `${this.nativeParamsService.appId}://webFeature?type=recommendation&url=${encodeURIComponent(link)}`;
|
package/package.json
CHANGED