Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Превратите пользователей вашего мобильного веб-приложения в пользователей нативного приложения

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Что делать, если вы приложили усилия для создания отличного мобильного веб-сайта в дополнение к красивому нативному приложению, но заметили, что коэффициент конверсии в нативном приложении выше, чем в Интернете. В этом случае конверсия мобильных веб-пользователей в загрузку вашего приложения может дать толчок вашему бизнесу. Хотя перемещение их от одного к другому может быть сложной задачей, динамические ссылки упрощают эту задачу. С помощью очень небольшого кода вы можете добавить возможность для пользователя щелкнуть ссылку в вашем мобильном Интернете и перейти на соответствующую страницу в вашем приложении, даже если им нужно сначала перейти в 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 , отобразите связанное содержимое для своего пользователя.