Url схемы для android

Русские Блоги

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

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

Таким образом, система Android также знает эту ситуацию, поэтому онаschemeЧто-то вроде этогоУдобствоНаше приложение предоставляет доступ другим пользователям.

Прекратите сначала говорить ерундудемонстрационный адрес


Эта статья в основном описывает
1. Предоставьте другим возможность открывать собственные приложения.
2. Ссылка на веб-страницу в веб-просмотре открывает приложение.
3. Каковы URL-адреса готовых схем
IV. Связанные вопросы, требующие внимания

1. Обеспечьте вход для открытия собственного приложения по схеме:

Метод прост:
Добавьте фильтр намерений к тегу активности в файле AndroidManifest.xml и добавьте схему данных, хост и т. д., как показано на рисунке.

Примечание. Напишите новый фильтр намерений в MainActivity. Если вы напишете его непосредственно в фильтре, открытом при запуске, значок приложения исчезнет (поскольку категория перезаписывается как DEAFAULT)

Таким образом, мы можем открыть собственное приложение со следующим кодом

Мы также можем передавать параметры через эту ссылку url
Какая польза от передачи параметров? Например, чтобы открыть интерфейс чата QQ с кем-либо, вы должны передать номер QQ.
Итак, ссылка для открытия qq обычно:
mqqwpa://im/chat?chat_type=wpa&uin=522648467

Затем в MainActivity с помощью следующего кода, чтобы получить

Во-вторых, ссылка в веб-просмотре, чтобы открыть приложение

Все мы знаем, что текущие веб-страницы обычно открывают сторонние приложения, такие как открытие Thunder, открытие временных разговоров QQ и т.д. Это веб-ссылки, но веб-ссылки действительно могут открывать локальные приложения Android (при условии, что браузер поддерживает это). С помощью веб-ссылки можно открыть программное обеспечение ПК в браузере компьютера и открыть приложение в браузере мобильного телефона. В чем дело? Причина будет объяснена позже

В веб-просмотре Android он не поддерживает непосредственное открытие локальных приложений, поэтому мы должны решать это сами.

Онлайн-метод обычно таков:
Судя по тому, является ли это обычной ссылкой на веб-страницу при перенаправлении, если это не так, она вызывается схемой, и мы сами обработаем ее для намеренного перенаправления.

tips:
можно использовать снова в случае успеха view.post(new Runnable() <
@Override
public void run() <
view.loadUrl(successUrl);
>
>); Затем он автоматически перейдет к успешному интерфейсу. successUrl — успешный интерфейс html, написанный в моих локальных активах
Таким же образом его можно использовать, когда приложение не может установить // Указывает, что этого действия нет в системе
view.post(new Runnable() <
@Override
public void run() <
Toast.makeText (MainActivity.this, «Приложение не установлено», Toast.LENGTH_SHORT) .show ();
view.loadUrl(failUrl);
>
>); Затем он автоматически перейдет к интерфейсу сообщения об ошибке. failUrl — это html-интерфейс с подсказкой об ошибке, написанный в моих локальных активах

Тест на открытие QQ по веб-ссылке:

Когда мы напечатали URL-адрес перенаправления, мы обнаружили, что URL-адрес QQ был перенаправлен несколько раз, и форма, наконец представленная в мобильном браузере, была формой схемы:mqqwpa://im/chat?chat_type=wpa&uin=522648467
Почему нам нужно перенаправлять? Возвращаясь к упомянутому выше вопросу, URL-адрес, используемый на веб-странице:http://wpa.qq.com/msgrd?v=3&uin=793563805&site=qq&menu=yesЭто может напрямую открыть qq ПК в браузере компьютера, но на мобильном телефоне перенаправление состоит в том, чтобы оценить и проверить, является ли он мобильным браузером, и если это так, он перенаправит URL-адрес на ссылку в виде схемы.

Читайте также:  Все для android 480 800

А здесь, чтобынотаЕсли shouldOverrideUrlLoading возвращает не true, а super, то вы будете удивлены, обнаружив, что qq перенаправляет непосредственно на свое сокровище приложения, ха-ха, немного отвратительно

Контрольная работа:
Мы создаем HTML в локальных ресурсах

Затем напрямую откройте

Щелкните ссылку в смоделированном веб-просмотре, чтобы открыть приложение qq.

1. Если мы хотим открыть интерфейс временного чата назначенного QQ, нам нужно, чтобы QQ открыл интерфейс временного чата, иначе будет сообщено об ошибке.
Откройте здесьизИнструмент продвиженияЕго можно открыть в Китае бесплатно, в противном случае перенаправленный URL-адрес будет не mqqwpa: // chat . а tencent: // message . Впрочем, если вы вызываете намерение напрямую, вы не можете найти соответствующее действие и сбой, поэтому вам придетсяУбедитесь, что ваш соответствующий номер QQ был открыт для временного чата (продвижение)
2. Если вы хотите щелкнуть, чтобы открыть приложение, а затем перейти по ссылке на другую веб-страницу, вы можете сделать это.

нота: Поскольку поток перехвата веб-просмотра не находится в основном потоке, его можно реализовать с помощью webview.post (new runnable () <>)

Картинка с эффектом: Так как на эмуляторе нет x86 qq, то если он эффективен, запускайте самостоятельноdemoТогда попробуйте на своем телефоне

Каковы URL схемы приложения

Я тут разобрался, их много, не все проверено (собрано в инете, не оригинал)

В-четвертых, вопросы, требующие внимания

Фактически, в конце написания я обнаружил, что эти меры предосторожности в основном были записаны в различных пунктах, и я подумал, что так будет лучше.
Напишите здесь свои идеи:

Если нашему приложению необходимо предоставить данные другим пользователям, используйтеконтент-провайдер contentProvider, Если это открывается для других, этонеявно открывается намерение URL схемы, Здесь речь идет о некоторых связанных знаниях, которые открываются и используются другими, например,launchMode, Интерфейс, предоставляемый другим, обычно может использовать singleTask, или некоторые специальные будут использовать singleInstance, а более глубокие —taskAffinityСвязанные, какие независимые интерфейсы предоставляются в их собственном стеке задач или в указанном стеке задач, все они связаны спредоставлять Связанные с.

В конце концов

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

ps: Если в тексте есть ошибки, пожалуйста поправьте меня, спасибо. Также приветствую комментарии и разные мнения.

Источник

[Android]Start Activity by Custom URL Scheme

If you want start activity, you write code like this.

And If you want launch url page, you will pass Uri with Intent.ACTION_VIEW.

If you use many browser in your phone, android will show select browser view for url load.
This select view is not only url also any other duplication action.

How you can see this select view?

Because that applications use same custom scheme (like ‘http://’, ‘xxx://’)

Let’s see example.
This is notification view about user’s action.
(Look like facebook or instagram’s notification view)

If you click item of list, we will move to activity.
Post’s row id is 10 and Activity name is ‘Activity_Post_Detail’.
Then you can write code like this.
Make new intent instance and pass String extra.

But If you use ‘Custom URL’, you can write code like this.
(Look like load url page)

This way don’t need Activity name. (need only url path)
Furthermore you can launch activity at your browser

Custom URL Scheme

1. Declare host / scheme at your activity (AndroidManifest.xml)

In this example, schme is selphone and host is post_detail

(Custom url will selphone://post_detail)

Now If you load ‘selphone://post_detail?…’ url, this activity will launch.

2. If you want to pass parameter to Activity, pass by query string

If you want pass post_id ( id: 10), you can add query string end of url.
“selphone://post_detail?post_id=10”

3. In your Activity, get your parameter at query string

Check intent action, and get query parameter from intent data.

Читайте также:  Gangstar vegas андроид взлом

Do it your self custom url activity for your application
If you want to know more detail infomation, check this page Android Intent Fileters

Источник

Настройки диплинков

MyTracker поддерживает обычные и отложенные диплинки различных типов: URL Schemes и Universal Links, App URL Schemas и App Links.

В целом для работы диплинков необходимо:

  1. Реализовать диплинки в своём приложении (подробнее см. ниже документацию на платформы Android и iOS).
  2. Настроить SDK на поддержку диплинков (для iOS, Android и Unity).
  3. Опубликовать приложение.
  4. Проверить настройки в интерфейсе MyTracker (см. ниже).

Платформа Android

Для работы диплинков на платформе Android, в MyTracker используются технологии:

  • Android App Links, подробнее см. документацию Android
  • App URL Schema, которая предполагает следующие шаги:
    • Выбор URL схемы для приложения
    • Поддержка URL схемы в приложении

Выбор URL схемы

Первым шагом для реализации диплинков App URL Schema будет выбор собственной схемы для приложения.

Окончательные диплинки будут иметь вид, схожий с привычными http/https ссылками (URI) за тем исключением, что вместо http/https схемы в ссылках будет использоваться схема, выбранная самим приложением. Примерами таких ссылок могут быть: youla://link/to/offer (используется схема youla), tamtam://chat/chatname (используется схема tamtam).

Несколько полезных советов при выборе схемы:

  • Схема должна состоять из одного слова латинскими буквами
  • Старайтесь выбрать уникальную схему для вашего приложения
  • Используйте одинаковую схему на всех платформах

Поддержка URL схемы в приложении

Чтобы при открытии диплинка система передавала управление в ваше приложение, реализуйте в нем поддержку intent filter с выбранной схемой. Подробнее о работе механизма intent и особенностей его реализации см. документацию платформы.

Пример реализации intent filter для приложения со схемой mybestapp :

Интеграция с SDK MyTracker

Завершающий этап – доработка интеграции с SDK MyTracker. Добавьте вызов метода handleDeeplink в методах onCreate и onNewIntent в каждой активности вашего приложения, поддерживающей диплинки. Подробнее см. раздел Поддержка диплинков

Платформа iOS

Для работы диплинков на платформе iOS в MyTracker используются технологии:

  • URL Schemes (не поддерживается Apple с версии iOS 9.2, подробнее см. документацию iOS)
  • Universal Links, которая включает следующие шаги:
    • Выбор домена для Universal App Links и настройка AASA (Apple App Site Association)
    • Поддержка ассоциации доменов
    • Поддержка Universal Links и интеграция с SDK MyTracker

Подробнее о том, как работает технология Universal Links см. документацию iOS

Общее описание

Общий принцип работы диплинков на платформе iOS с трекинг-ссылками MyTracker следующий:

  • Подготовка
    • Для каждого приложения в MyTracker создается два домена третьего уровня с именем выбранного приложения. Два домена требуются в силу особенностей работы механизма Universal Links
    • На созданных доменах MyTracker автоматически размещает AASA файл, используя информацию, переданную пользователем (Team ID)
    • Разработчик приложения прописывает домены, созданные MyTracker, как ассоциированные с приложением, и вносит необходимые доработки в приложение
  • Использование
    • Создается трекинг ссылка с необходимыми настройками диплинков
    • По клику на такую ссылку пользователь будет перенаправлен на домен, созданный при настройке приложения
    • iOS, зная что этот домен ассоциирован с приложением, предложит пользователю открыть ссылку в приложении
    • Если пользователь согласится, ссылка откроется в приложении и будет обработана SDK MyTracker. В противном случае пользователь будет перенаправлен на страницу приложения в App Store.

Для работы механизма Universal Links необходимо создать и настроить домен третьего уровня на серверах MyTracker. В списке доступных приложений выберите нужную строку и нажмите кнопку , чтобы перейти на страницу редактирования свойств приложения:

На странице приложения в разделе Настройки диплинков укажите имя домена третьего уровня, на котором MyTracker разместит файл AASA, а также Apple Team ID вашего приложения. Apple Team ID смотрите в кабинете разработчика https://developer.apple.com/account на вкладке Membership .

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

Apple Team ID в кабинете разработчика:

Поддержка ассоциации доменов

Настройте поддержку ассоциированных доменов в два этапа:

  • Первым делом включите поддержку ассоциированных доменов для вашего приложения в кабинете разработчика:
    • Авторизируйтесь в кабинете разработчика https://developer.apple.com/account
    • Перейдите на страницу Identifiers → App IDs
    • В списке приложений выберите приложение для настройки
    • Включите настройку Associated Domains
    • Сохраните изменения

    Настройка Associated Domains после сохранения:

  • Включите поддержку ассоциированных доменов в вашем проекте XCode:
    • Перейдите на вкладку Capabilities
    • В разделе Associated Domains включите поддержку ассоциированных доменов
    • Добавьте необходимые домены, используя префикс applinks: . MyTracker создает два домена третьего уровня, так как это необходимо для корректной работы механизма универсальных ссылок, и оба домена необходимо добавить в XCode. Например, для приложения с выбранным доменом третьего уровня myapp :
      • applinks:[ВЫБРАННЫЙ ДОМЕН].mytrk.link , например: applinks:myapp.mytrk.link
      • applinks:[ВЫБРАННЫЙ ДОМЕН]-alternate.mytrk.link , например: applinks:myapp-alternate.mytrk.link
    • Если вы используете CNAME к доменам MyTracker, то также добавьте его в список
    • Убедитесь, что entitlement файл для добавленных доменов был включен в сборку вашего проекта

Если настройка ассоциированных доменов проведена правильно, то при клике на ссылку, содержащую ассоциированный домен, будет запущено ваше приложение и вызван метод application:continueUserActivity:restorationHandler в AppDelegate . Разработчику приложения необходимо реализовать поддержку этого метода, передав вызов в библиотеку MyTracker.

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

Настройки в MyTracker

В интерфейсе MyTracker предусмотрены две опции для настройки диплинков:

  • Использовать диплинк в случае установленного приложения для выбора режима работы диплинка;
  • Окно отложенного диплинка для выбора периода действия отложенного диплинка.

Все настройки вы можете задать уже при создании трекинг-ссылки, таким образом сразу обозначив режим работы ссылки: обычный или отложенный диплинк, или умная ссылка.

Обычные диплинки

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

Чтобы обычная трекинг-ссылка отработала как обычный диплинк:

  1. Выберите схему диплинка и настройте SDK, как описано выше для платформ iOS и Android.
  2. Опубликуйте приложение.
  3. При создании трекинг-ссылки добавьте диплинк и включите опцию Использовать диплинк в случае установленного приложения .

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

Отложенные диплинки

Отложенные диплинки подходят для рекламных кампаний, нацеленных на привлечение новых пользователей.

Чтобы обычная трекинг-ссылка отработала как отложенный диплинк:

  1. Выберите схему диплинка и настройте SDK, как описано выше для платформ iOS и Android.
  2. Опубликуйте приложение.
  3. При создании трекинг-ссылки добавьте диплинк и оставьте выключенной опцию Использовать диплинк в случае установленного приложения .
  4. При необходимости отрегулируйте окно отложенного диплинка по кнопке Дополнительные настройки .

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

Окно отложенного диплинка

Окно отложенного диплинка — это период, в течение которого работает диплинк. То есть временной интервал, отсчитанный от клика по рекламе, за который пользователь может быть перенаправлен на конкретный контент в приложении.

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

По умолчанию, Окно отложенного диплинка равно 3 часам. Изменить настройку можно как на проект в целом, так и на отдельные трекинг-ссылки. Подробнее см. раздел Проект, Обычная и Умная трекинг-ссылка.

Умная трекинг-ссылка

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

Для использования диплинков в умной трекинг-ссылке:

  1. Выберите схему диплинка и настройте SDK, как описано выше для платформ iOS и Android.
  2. Опубликуйте приложение.
  3. При создании умной трекинг-ссылки добавьте диплинк и включите опцию Использовать диплинк в случае установленного приложения .
  4. При необходимости отрегулируйте окно отложенного диплинка по кнопке Дополнительные настройки .

В результате при переходе по умной трекинг-ссылке:

  • новые пользователи попадут в магазин приложений, а после установки — на конкретный экран в приложении;
  • существующие пользователи попадут сразу на конкретный экран в приложении.

Подробнее от работе умной ссылки с диплинком см. раздел Диплинки

Источник

Читайте также:  Как поделен экран у андроида
Оцените статью