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

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

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

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

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

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

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

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

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

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

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

На каждой странице вашего веб - сайта, динамически генерировать Dynamic Link . Так как вы уже сделали свой контент глубоко связываемым, то 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 параметр (КСН) не установлен, пользователи попадают в Play Маркете и App Store , чтобы установить приложение. Затем приложение открывает и URL , указанный в link параметр передается на него.

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

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

iOS

КСН, вы получите Dynamic Link, реализовав application:continueUserActivity:restorationHandler: метод. В обработчике восстановления, вы можете получить Dynamic Link по телефону handleUniversalLink:completion: . Если Dynamic Link был передан в приложение, вы можете получить его из url - FIRDynamicLink 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

В Android вы используете getDynamicLink() метод , чтобы получить данные от Dynamic Link:

Джава

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
                    // ...
                }
            }
        });

Котлин + KTX

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

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

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