diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
index 111c027d53..376ff28cbb 100644
--- a/android/AndroidManifest.xml
+++ b/android/AndroidManifest.xml
@@ -173,6 +173,9 @@
+
diff --git a/android/src/com/mapswithme/maps/intent/Factory.java b/android/src/com/mapswithme/maps/intent/Factory.java
index 083637b3fa..5896ae15b7 100644
--- a/android/src/com/mapswithme/maps/intent/Factory.java
+++ b/android/src/com/mapswithme/maps/intent/Factory.java
@@ -336,6 +336,7 @@ public class Factory
{
static final String SCHEME_HTTPS = "https";
static final String HOST = "dlink.maps.me";
+ static final String HOST_DEV = "dlink.mapsme.devmail.ru";
@Override
public final boolean isSupported(@NonNull Intent intent)
@@ -348,7 +349,8 @@ public class Factory
String scheme = intent.getScheme();
String host = data.getHost();
- return SCHEME_HTTPS.equals(scheme) && HOST.equals(host) && isLinkSupported(data);
+ return SCHEME_HTTPS.equals(scheme) && (HOST.equals(host) || HOST_DEV.equals(host)) &&
+ isLinkSupported(data);
}
abstract boolean isLinkSupported(@NonNull Uri data);
diff --git a/configure.sh b/configure.sh
index 9af6a596db..00bf769707 100755
--- a/configure.sh
+++ b/configure.sh
@@ -100,6 +100,7 @@ else
#define BOOKMARKS_CATALOG_FRONT_URL ""
#define BOOKMARKS_CATALOG_DOWNLOAD_URL ""
#define BOOKMARKS_CATALOG_EDITOR_URL ""
+#define DLINK_URL ""
#define GOOGLE_WEB_CLIENT_ID ""
#define RUTAXI_APP_TOKEN ""
#define ADS_REMOVAL_SERVER_ID ""
diff --git a/iphone/Maps/Classes/MapsAppDelegate.mm b/iphone/Maps/Classes/MapsAppDelegate.mm
index cb433c411f..ee80f5c43d 100644
--- a/iphone/Maps/Classes/MapsAppDelegate.mm
+++ b/iphone/Maps/Classes/MapsAppDelegate.mm
@@ -771,11 +771,15 @@ didReceiveNotificationResponse:(UNNotificationResponse *)response
if (isFBURL)
return YES;
- if ([self checkLaunchURL:(url.host.length > 0 && [url.host rangeOfString:@"dlink.maps.me"].location != NSNotFound)
- ? [self convertUniversalLink:url] : url])
+ auto hosts = @[@"dlink.maps.me", @"dlink.mapsme.devmail.ru"];
+ for (auto host in hosts)
{
- [self handleURLs];
- return YES;
+ if ([self checkLaunchURL:(url.host.length > 0 && [url.host rangeOfString:host].location != NSNotFound)
+ ? [self convertUniversalLink:url] : url])
+ {
+ [self handleURLs];
+ return YES;
+ }
}
return NO;
diff --git a/iphone/Maps/maps.me dbg.entitlements b/iphone/Maps/maps.me dbg.entitlements
index 89321335e7..652d31801c 100644
--- a/iphone/Maps/maps.me dbg.entitlements
+++ b/iphone/Maps/maps.me dbg.entitlements
@@ -7,6 +7,7 @@
com.apple.developer.associated-domains
applinks:dlink.maps.me
+ applinks:dlink.mapsme.devmail.ru
diff --git a/map/bookmark.cpp b/map/bookmark.cpp
index acfa9bc632..4f29444b78 100644
--- a/map/bookmark.cpp
+++ b/map/bookmark.cpp
@@ -5,8 +5,12 @@
#include
+#include "private.h"
+
namespace
{
+std::string const kDeepLinkUrl = DLINK_URL;
+
std::string GetBookmarkIconType(kml::BookmarkIcon const & icon)
{
switch (icon)
@@ -286,8 +290,11 @@ bool BookmarkCategory::IsCategoryFromCatalog() const
std::string BookmarkCategory::GetCatalogDeeplink() const
{
+ if (kDeepLinkUrl.empty())
+ return {};
+
std::ostringstream ss;
- ss << "https://dlink.maps.me/catalogue?id=" << m_serverId << "&name=" << UrlEncode(GetName());
+ ss << kDeepLinkUrl << "catalogue?id=" << m_serverId << "&name=" << UrlEncode(GetName());
return ss.str();
}
diff --git a/omim_config.h b/omim_config.h
index d6b3a95de0..d8f4c95cf6 100644
--- a/omim_config.h
+++ b/omim_config.h
@@ -7,3 +7,4 @@
//#define STAGE_PASSPORT_SERVER
//#define STAGE_PURCHASE_SERVER
//#define STAGE_UGC_SERVER
+//#define STAGE_DLINKS