Что такое onelink to
От веба до приложения за один DeepLink
Android-приложения являются отражением сайта или сервиса и зачастую представляют собой сходный функционал в удобной оболочке. Из-за этого становится насущным вопрос навигации между страничкой в вебе и установленным клиентом. Для решения этой проблемы были изобретены диплинки (deeplink). Под катом вас ждёт увлекательная история о том, как мы внедряли их у себя и обрабатывали случай, когда у пользователя ещё не было установлено наше приложение.
Диплинки были придуманы так давно, что сейчас уже сложно представить приложение без них. Сама по себе технология не требует свежего Android API, однако если допиливать App Indexing, то можно столкнуться с тем, что работает оно с API 17.
Вернёмся к диплинкам. Их конфигурация представляет собой набор настроек для intent-filter в манифесте приложения, которые описывают паттерны поддерживаемых ссылок.
После этих нехитрых манипуляций при каждом нажатии на ссылку, удовлетворяющую настройкам фильтра, пользователю предлагается выбор между несколькими приложениями, в том числе и вашим. Далее активити, для которой мы задали intent-filter, получит Intent, содержащий в себе линк. Если достать его методом Intent#getData и распарсить необходимые параметры, то можно направить пользователя сразу в интересующий раздел.
После реализации может возникнуть вполне резонный вопрос: что делать, если у пользователя ещё нет приложения? Ответом будут особые диплинки, которые в этом случае умеют направлять человека в Маркет. При должном усердии такую ссылку можно генерировать самим, но нет никаких гарантий, что она будет работать со всеми браузерами и на всех версиях Android. Сейчас довольно много сервисов, предлагающих решение по крайней мере части этих проблем, например, AppsFlyer с их OneLink или Firebase с DynamicLink. Все они работают примерно одинаково, только DynamicLink использует для обработки диплинков предустановленные сервисы Google.
OneLink
Сам по себе OneLink ведёт на серверы AppsFlyer; они определяют, с какого устройства пользователь вышел в сеть, и перенаправляют его на соответствующий адрес. Можно задать редиректы для десктопа, Android и iOS. Когда Android-приложение установлено, линк прилетает в него через Intent как обычный диплинк. Когда приложения нет, в работу вступают Google Chrome и Google Play.
Наличие приложения проверяется браузером. У Chrome есть спецификация особого формата ссылок, которые потом конвертируются им в Intent и отправляются в систему. Она предусматривает задание ссылки на Google Play в случае, если приложение не установлено. Подробнее с ней можно ознакомиться тут.
Вообще в Google Play можно передать ссылку на приложение таким образом, чтобы после установки и запуска он прокинул часть её дальше. Это реализуется с помощью query-параметра url и будет выглядеть примерно так:
В этом случае best.memes/jokes попадёт внутрь приложения после его установки в виде диплинка. По умолчанию AppsFlyer работает не так: он предлагает получить ссылку через интерфейс библиотеки. Сам диплинк при этом, видимо, передаётся в приложение через серверы сервиса.
Это очень неудобно, потому что, во-первых, мы не можем понять наверняка, надо ли нам ждать какие-то параметры или пользователь просто тыкнул в иконку и параметров не будет. Во-вторых, мы хотим сразу открывать нужный раздел приложения, без лишних блокировок и ожиданий. AppsFlyer же предлагает открывать главный экран, а когда пришли (и если пришли) параметры, то редиректить. Нас такой подход не устроил, поэтому мы сгенерировали свой url в Google Play с параметром для случая, когда пользователь переходит по диплинку с Android-устройства и у него нет приложения. Его мы задали в Onelink, чтобы получать диплинк в приложении без необходимости дожидаться библиотеку.
OneLink работал отлично, пока мы не попробовали пошарить его в Slack. Дело в том, что он открывает ссылки в своём встроенном браузере через Chrome Custom Tabs. Если коротко, то это вкладка браузера, которая открывается в процессе вашего приложения и может быть кастомизирована, чтобы не выбиваться из общего стиля (подробнее можно почитать тут). В этом случае откроется веб-версия Google Play и диплинк в приложение после установки проброшен не будет. Аналогично браузер ведёт себя, если руками скопировать OneLink в адресную строку и перейти по ссылке. Об этом случае разработчики Chrome писали в Release Notes несколько версий назад. Суть в том, что при таком подходе в браузере не срабатывает редирект в Google Play, когда приложение не установлено, и пользователь остаётся в вебе. Силами OneLink побороть это поведение не удалось, поэтому мы обратились к DynamicLink.
DynamicLink
Глубокая интеграция Google Play Services в систему позволяет им оптимизировать проверку наличия целевого приложения на устройстве. Это довольно закрытая экосистема, поэтому досконально разобраться в принципах её работы не удалось, однако всё указывает на то, что Chrome открывает активити с прогрессом, принадлежащую Google Play Services, которая определяет, как ей поступить с диплинком. После этого либо происходит редирект либо в Google Play, либо в приложение. При этом диплинк потом попадает в приложение через Intent, то есть без дополнительных библиотечных костылей.
Субъективно, такой подход функционирует не быстрее, чем OneLink, однако он работает при открытии ссылки в Chrome Custom Tabs, что является существенным преимуществом, потому что их используют многие приложения.
Кроме прочего, Firebase позволяет посмотреть схему работы ссылки и куда редиректится пользователь на каждой платформе в каждом случае. Выглядит это примерно так:
Выводы
OneLink. Целевое приложение установлено | OneLink. Целевое приложение НЕ установлено | DynamicLink. Целевое приложение установлено | DynamicLink. Целевое приложение НЕ установлено | |
---|---|---|---|---|
Ссылка открывается системой (ACTION_VIEW) | + | Пришлось «закостылить», чтобы получать диплинк сразу на старте | + | + |
Ссылка открывается в Chrome Custom Tabs | — | — | + | + |
По ссылке нажимают в браузере | + | Пришлось «закостылить», чтобы получать диплинк сразу на старте | + | + |
Ссылку копируют в адресную строку | — | — | + | + |
Из таблицы видно, что в реализации с DynamicLinks всё работает без костылей и во всех интересных нам случаях.
Web-to-App для приложений. Часть 2: Настройка интеграции с помощью Conversion API и Onelink Appsflyer. Примеры лэндингов
В своей первой статье про Web2App я рассказал про то, как работает web воронка для закупки на мобильные игры и приложения, но практически у всех остались вопросы по тому, как всё-таки лучше всё настроить, чтобы конверсии присваивались к рекламным кампаниям и падали в MMP для отслеживания окупаемости и масштабирования. В этой статье я больше углубился в техническую часть вопроса, несмотря на то, что работаю в User Acquisition. В своём Telegram канале публикую еще больше инсайтов по рекламе мобильных приложений, так что подписывайся, чтобы не пропустить продолжение и разбор вопросов.
Пример 1: Где-то лучше работает, когда размещена лишь иконка приложения, его название и CTA button без какой-либо дополнительной информации. Так мы интригуем пользователя и не оставляем ему выбора, кроме как нажать на единственную кнопку. На некоторых продуктах такой тип лэндинга не радовал результатами и лучше отрабатывала страница, где добавляли преимущества приложения и отзывы пользователей, дополняя LP дополнительными кнопками, ведущими в Store.
Выше пример чуть более подробного лэндинга.
Пример 2: Дать на лэндинге часть контента приложения, чтобы вовлечь пользователя и настроить на целевые действия внутри приложения (на подписку или покупку). Это обычно не подходит для игр и утилит, но может хорошо работать например для стриминговых и фитнес приложений, где продаются книги/курсы/тренировки. Лэндинг может начинаться как статья о продукте и далее содержать самую интересную часть контента, цель которой вовлечь пользователя в само приложение и там совершить покупку, чтобы получить продолжение контента. Реализация такого лендига требует тестирование гораздо бОльшего количества вариаций страниц. Для приложения Galatea, которое я продвигаю, мы тестируем десятки новых страниц в месяц и лишь на нескольких из них сходится экономика.
Ниже пример Landing Page, который несложно найти в открытом доступе через Ads Library, где мы представляем приложение в виде статьи и далее даём прочитать бесплатно первую главу книги. С помощью логотипов известных СМИ повышаем доверие пользователей и успешно конвертируем их в плательщиков. (P.S. на самом деле эти СМИ и правда про нас писали, так что это ни разу не введение в заблуждение)
Landing Page готов, как произвести интеграцию?
Для полноценного User Acquisition с помощью Web-to-App воронки крайне необходима оптимизация на целевое событие web пикселя Facebook (или другого источника) внутри приложения (обычно Purchase) либо на объём покупок (Value). Да, без этого тоже можно начать, мы так делали в июне-июле 2021, когда еще не знали как проинтегрировать события (у нас, к сожалению, стоит трекер Adjust, что делает процесс интеграции в разы сложнее, так как нет решения out-of box, как Onelink от AppsFlyer)
Есть несколько главных минусов такой закупки:
7 секретных функций OneLink: повышаем эффективность рекламы на мобильных устройствах
OneLink — это важный инструмент для роста, который направляет пользователей на нужные экраны как на десктопе, так и на мобильных устройствах. Он повышает конверсию и делает все для удобства клиента. Он позволяет маркетологам и разработчикам определять, куда надо направить каждого пользователь, на основе нескольких характеристик из единого канала данных. Лучше всего, когда приложение OneLink полностью интегрировано в платформу AppsFlyer, ведь так проще формировать отчеты и анализировать данные без каких-либо дополнительных затрат.
Чтобы помочь вам повысить эффективность, представляем 7 секретов, которые позволят получить максимум от OneLink.
1. Перенастройте некоторые ссылки OneLink, изменив URL-адрес, установленный по умолчанию
Привлекательность OneLink заключается в том, что он обеспечивает одну единую ссылку (диплинк) для всех платформ. Экран конфигурации OneLink позволяет определить целевую страницу для десктопа по умолчанию. Этот URL-адрес будет использоваться при всех кликах по ссылкам OneLink в вебе.
Тем не менее, могут возникнуть ситуации, когда требуется изменить этот URL-адрес в вебе на определенную прямую ссылку, не изменяя поведение существующих ссылок OneLink. Пусть, например, вы используете одну и ту же ссылку OneLink для всех рассылок о ваших праздничных распродажах. Однако в одной конкретной рассылке вы рекламируете ограниченные по времени продажи потрясающего нового телевизора формата 4K.
Изменение логики URL-адреса для конкретной ссылки OneLink делается очень просто. Просто добавьте в ссылку параметр отслеживания af_web_dp, и все клики в вебе будут перенаправлены на новый URL-адрес.
Например: myapp.onelink.me/abc123?pid=Social&c=campaign1& af_web_dp=http%3A%2F%2Fwww.alternatelandingpage.com
Совет: не забудьте сделать URL-кодирование 🙂
2. Изменяйте целевые страницы ваших ссылок OneLinks без создания новых
Могут возникнуть самые разные ситуации, когда нужно направлять пользователей на целевую страницу, а не сразу в магазин приложений. Например, платформы социальных сетей, такие как Facebook, накладывают в своих приложениях некоторые ограничения диплинки. Поэтому часть маркетологов действуют в обход, предоставляя своим пользователям больше информации о конкретных предложениях на промежуточной целевой странице, прежде чем отправить пользователя в магазин.
Чтобы добавить целевую страницу в любую ссылку OneLink, просто добавьте в эту ссылку параметры af_ios_url и af_android_url.
Например: myapp.onelink.me/abc123?pid=Social&c=campaign1& af_ios_url=http%3A%2F%2Fwww.ioslandingpage.com&af_android_url=http%3A%2F%2Fwww.androidlandingpage.com
3. Повысьте безопасность диплинкинга и сделайте ссылки OneLink более удобными с помощью Android App Links
Начиная с Android 6, добавились ссылки Android App Links — эквивалент iOS Universal Links. Они обеспечивают более безопасные диплинки, привязывая их функции к соответствующему домену. App Links также более удобны для пользователей, так как запускают приложение сразу, не открывая веб-браузер и не выводя диалоговое окно Android для уточнения данных. А самое главное — OneLink полностью поддерживает Android App Links.
Включить данную функцию совсем не сложно. Просто следуйте нашему Руководству по интеграции App Links.
4. Настройте выделенную уникальную переадресацию iOS 10.3+
В iOS 10.3 Apple представила новую функцию безопасности, которая перенаправляет клики по трекинговым ссылкам в мобильных приложениях в браузер Safari, а затем выводит диалоговое окно, предлагая пользователю перейти в App Store.
Иногда пользователи решают не переходить в App Store. Для такой переадресации OneLink предоставляет целевую страницу по умолчанию, а также позволяет дополнительно настроить ее, предоставив свой собственный URL переадресации. Просто добавьте параметр af_ios_fallback URL, чтобы изменить перенаправление для устройств под управлением iOS 10.3 и выше для выбора ссылки OneLink. Дополнительную информацию см. в нашей отдельной статье в базы знаний о переадресации iOS 10.3.
Например: myapp.onelink.me/abc123?pid=Social&c=campaign1& af_ios_fallback=http%3A%2F%2Fwww.ios10-3redirect.com
5. Оптимизация и настройка ваших публикаций в социальных сетях
Одно из самых популярных применений OneLink — это измерение и оптимизация рекламных постов на страницах социальных сетей. Ваши подписчики — это главная цель при продвижении мобильных приложений, как для свежих установок, так и возврата существующих пользователей. Тем не менее, в диплинках часто не хватает тегов Open Graph (тегов OG), которые социальные сети используют для предварительного показа изображений и текстов.
Используйте упомянутый выше параметр af_web_dp, чтобы направить социальные платформы на ваши настраиваемые URL-адреса конкретных страниц, с которых они смогут извлечь все соответствующие теги Open Graph. Просто добавьте в предоставляемый URL-адрес необходимые теги OG, определенные в разделе на данной странице.
6. Используйте OneLink, чтобы веб-сайты были удобнее
OneLink — это не только идеальный способ повысить эффективность вашей рекламы в мобильных приложениях. OneLink также может перенаправить посетителей веб-сайтов на выделенную и специально настроенную страницу. Когда OneLink направляет пользователей на какую-либо веб-страницу, все параметры соответствующего запроса, определенные в ссылке отслеживания OneLink, добавляются к данному URL-адресу. Просто извлеките эти параметры и используйте их для персонализации веб-страницы.
Например, рассмотрим следующую ссылку OneLink: myapp.onelink.me/abc123?pid=Social&c=holidaycampaign&offer=LG4KTV. Когда пользователи нажимают эту ссылку в браузере на декстопе, они перенаправляются на URL-адрес по умолчанию, определенный в конфигурации OneLink (www.mypage.com), с параметрами запроса, добавленными к этому URL-адресу:www.mypage.com?pid=Social&c=holidaycampaign&offer=LG4KTV. В этом случае параметры запроса указывают, что эти пользователи пришли по нажатию баннера праздничной кампании для телевизора LG 4K на вашем веб-сайте. Показы предложений этой кампании для такой марки телевизора увеличат конверсии.
7. Optimize User Invites with OneLink
Начиная с AppsFlyer SDK 4.8.x, мы включили специальные API-интерфейсы для простой генерации трекинговых ссылок на основе OneLink, которые можно использовать как органическую часть потока приглашений peer-to-peer. Поскольку эти API построены на OneLink, эти приглашения автоматически направят каждого пользователя в нужное место, независимо от устройства или платформы, повысив эффективность вашей рекламы и позаботившись об удобстве пользователей. Дополнительную информацию см. в нашем руководстве по приглашению конкретных пользователей.
Чтобы узнать больше об OneLink, обратитесь к своему консультанту или закажите демонстрацию AppsFlyer прямо сегодня.
Что такое onelink to
Development of the new version of onelink.to is steadilly progressing. Our development team has divided the time with building the new platform and improving the existing service when needed, which has made the development of the new platform taking longer than what we hoped for.
We are aiming for a launch of the new version within a few months
Platform development is progressing steadily. Since late spring 2020 the core engine has been running on the new platform and has never been better. In May traffic soared and we deployed a second core server to better handle spikes in traffic.
Even though we are working on the new platform, we do spend time doing updates on the old one as well. For the first time in a long while we are adding a new “device type”. This is to support new Huawei devices that no longer have access to Google Play services. We are handling these devices as a separate type of Android devices with their own download link.
So if you have your app on the Huawei AppGallery you can now add that link to your onelink.
At the same time we have opened up to use several more Android app stores, the complete list being: Google Play, Huawei AppGallery, Tencent App Store, Qihoo 360 App Store, Xiomi MIUI App Store, Baido App Store. All these can be used for Android and Huawei download links.
After living a quiet life the past years things are starting to change with onelink.to. Not that anything has been bad, just that there is so much more we can do.
From the end of last year onelink.to is operated under new management, not really in terms of people working with it, but in terms of ownership and ambition.
From the start in 2011 until now onelink.to has been running as a part of app development company Mobile Interaction, and have not really been given the love and attention it deserved. Now the intention is to take onelink.to to the next level by adding features, creating more value.
What has been done so far is to move hosting from a legacy VPS service to a more modern hosting using Google Cloud Platform. This has allowed us to finally add SSL support, which many of you have been requesting.
What’s next?
The first thing that will happen is that the entire service will be rewritten in a more modern platform to better allow for added features. After that we will concentrate on accounts and statistics. Further on we will probably start to look at functionality like deep linking and attribution, things that will require an SDK.
Freemium price model
We are proud to have been able to offer this service for free all this time. But to be able to offer more and better we will need to start charging for at least some parts of the service. The plan is to have a premium price model but with a free tier. A basic service available for free and the rest of the features at a premium. All existing onelink.to URLs at that time will continue to work with no change.
Onelink.to is a free short link generator for app downloads.
With onelink.to you get one short link or QR code to your app no matter if it’s on Apple AppStore, Google Play, Blackberry Appworld, Microsoft Store, or Amazon Appstore for Kindle Fire. Instead of printing several QR codes or having several separate links to each app store, you only need one short link or QR code.
Works on iPhone, iPad, Android, Windows Phone, Blackberry, and Kindle Fire.
If you like onelink.to then please help and spread the word in your network
Onelink.to is the easy and fuss-free way to link to your app!
Just add the download URLs to your app and we will determine which to use every time someone is using your onelink.to short link.
Sign in to be able to edit your short links (change download URLs) and to see statistics. When you sign in you can also select your own link (vanity URL).
You can use onelink.to free of charge, both for private and commercial use.
By using onelink.to you agree to not send emails with onelink.to short links in them unless the email comply with the US CAN-SPAM Act.
Any use of this service for other purposes than app downloads is prohibited.
* Redirecting to the fallback URL have security conditions.
Alfabank.onelink.me: что это такое?
Сейчас большинство людей пользуется банками или платежными системами для того, чтобы совершать платежи и оплачивать покупки. Кто-то пользуется электронными кошельками или аналогичными сервисами, чтобы делать тоже самое.
Вот только доля банков в этом деле несоизмеримо больше. Только стоит внимательно относится ко всем местам, где вы собираетесь оставлять свои данные или к ссылкам, по которым собираетесь совершить переход. Мошенники не дремлют, так что всегда есть шанс потерять свои деньги.
Альфабанк
Альфа-банк — крупнейший частный банк в России, занимающий четвёртое место по размеру активов. На рынке розничного кредитования занимает 3 место с долей в 4,7% рынка, из них 3 место с долей 11,7% – рынок кредитных карт. Имеет 486 офисов (главный — в Москве), 7,3 млн активных частных клиентов и 631 тыс. — активных корпоративных (по итогам 2020 года).
Учрежден он был еще в девяностом году, так что является довольно крупной и известной организацией. У них много сервисов, которые могут привлечь клиентов. Особенно популярны их кредитные карты и предложения, которые часто используются разными людьми.
Alfabank.onelink.me
Если пришло СМС якобы от Альфа-банка следующего содержания: «Сделайте ваш банк ещё удобнее, установите приложение Альфа-Мобайл: https://alfabank.onelink.me/набор цифр и символов».
Если позвонить на линию поддержки, то они подтвердят, что эта СМС от банка. Это довольно странный подход от служб безопасности серьезной организации: давать клиенту ссылку на левый ресурс под соусом банка.
При таком подходе, если клиенту прилет сообщение с таким же текстом, но чуть измененной ссылкой, то он может нажать на него не задумываясь.
Хотя, стоит все же отметить, что Appsflyer – это партнер Банка, а направленная ссылка корректна и ведет на приложение «Альфа-Мобайл». Так что конкретно по такому адресу переходить можно. Так что стоит запомнить на будущее, что по конкретно такой ссылке можно щелкать без опасений.
Вот только часто ли человек досконально сверяет все буквы и цифры? Лучше самостоятельно открывать и скачивать приложения и там искать все ссылки на акции и бонусы.
Alfabank.onelink.me – это ссылка на приложение или конкретное предложение в этой программе. Если там нет никаких подмен в адресе, то вы просто откроете нужную страницу. Так что переходить можно, но стоит всегда внимательно следить за содержимым остальных сообщений.