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