Преобразование пользователей мобильного Интернета в пользователей нативных приложений

Что делать, если вы приложили усилия для создания отличного мобильного веб-сайта в дополнение к красивому нативному приложению, но заметили, что коэффициент конверсии в нативном приложении выше, чем в Интернете. В этом случае конверсия мобильных веб-пользователей в загрузку вашего приложения может дать толчок вашему бизнесу. Хотя перемещение их от одного к другому может быть сложной задачей, динамические ссылки упрощают эту задачу. С помощью очень небольшого кода вы можете добавить возможность для пользователя щелкнуть ссылку в вашем мобильном Интернете и перейти на соответствующую страницу в вашем приложении, даже если им нужно сначала перейти в App Store или Google Play Store, чтобы установить его!

Ключевые преимущества

  • Превратите мобильных веб-пользователей в пользователей нативных приложений, сделав переход максимально комфортным для них.
  • Пользователи могут запускать ваше приложение с тем же содержимым, которое они просматривали на вашем сайте.
  • Требуется очень небольшая интеграция.

Вот как начать!

Прежде чем вы начнете

Сделайте содержание вашего приложения глубоким ссылкам

Ключом к превращению мобильных веб-пользователей в пользователей нативных приложений является обеспечение того, чтобы при открытии приложения пользователь видел тот же контент, что и в Интернете. Итак, прежде чем вы сможете отправлять своих мобильных веб-пользователей в свое приложение, ваше приложение должно иметь возможность получать прямые ссылки на контент.

Если вы реализовали универсальные ссылки для iOS или ссылки на приложения для Android , вы, вероятно, уже выполнили эту работу. Но если нет, добавьте в свое приложение логику, которая принимает URL-адрес с вашего веб-сайта и отображает соответствующий контент в вашем приложении для пользователя.

Настройте новый проект Firebase и установите Dynamic Links SDK в свое приложение. ( iOS , Android , C++ , Unity ). Установка Dynamic Links SDK позволяет Firebase передавать данные о Dynamic Link после того, как пользователь установит приложение. Без SDK невозможно подключить пользователя после установки одним кликом перед установкой.

Теперь пришло время настроить ссылки, которые будут перемещать людей с вашего сайта в ваше родное приложение. Не беспокойтесь, если у ваших пользователей еще не установлено приложение; Динамические ссылки могут позаботиться об этом за вас.

На каждой странице вашего веб-сайта динамически создавайте динамическую ссылку . Поскольку вы уже сделали свой контент глубоким, параметр link может быть просто URL-адресом страницы, на которой он находится.

Вот как может выглядеть такая ссылка:

<a href="https://example.page.link/?link=https://www.example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

Когда пользователи открывают эту ссылку на своем устройстве, если приложение, указанное параметром apn (в Android) или параметром ibi (в iOS), не установлено, пользователи переходят в Play Store или App Store для установки приложения. Затем приложение открывается, и ему передается URL-адрес, указанный в параметре link .

Откройте связанный контент в своем приложении.

Затем вам нужно получить ссылку, переданную вашему приложению, и открыть связанный контент, что легко сделать с помощью Dynamic Links SDK:

iOS

В iOS вы получаете динамическую ссылку, реализуя метод application:continueUserActivity:restorationHandler: В обработчике восстановления вы можете получить динамическую ссылку, вызвав handleUniversalLink:completion: . Если динамическая ссылка была передана вашему приложению, вы можете получить ее из свойства url FIRDynamicLink . Например:

Цель-C

Примечание. Этот продукт Firebase недоступен для целей macOS, Mac Catalyst, tvOS или watchOS.
[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

Быстрый

Примечание. Этот продукт Firebase недоступен для целей macOS, Mac Catalyst, tvOS или watchOS.
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

Кроме того, вы должны вызвать dynamicLinkFromCustomSchemeURL: в application:openURL:options: для получения динамических ссылок, передаваемых вашему приложению в виде URL-адресов пользовательской схемы. Например:

Цель-C

Примечание. Этот продукт Firebase недоступен для целей macOS, Mac Catalyst, tvOS или watchOS.
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

Быстрый

Примечание. Этот продукт Firebase недоступен для целей macOS, Mac Catalyst, tvOS или watchOS.
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

Теперь, когда у вас есть значение параметра link , отобразите связанное содержимое для своего пользователя.

Андроид

В Android вы используете метод getDynamicLink() для получения данных из динамической ссылки:

Java

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
            @Override
            public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
                if (!task.isSuccessful()) {
                    // Handle error
                    // ...
                }

                FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(task.getResult());
                if (invite != null) {
                    // Handle invite
                    // ...
                }
            }
        });

Kotlin+KTX

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                // Handle error
                // ...
            }

            val invite = FirebaseAppInvite.getInvitation(task.result)
            if (invite != null) {
                // Handle invite
                // ...
            }
        }

Теперь, когда у вас есть значение параметра link , отобразите связанное содержимое для своего пользователя.