PHP Api iOS – запустить приложение из PHP-кода?

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

Я знаю, что некоторые API опубликованы Apple Inc, но я не могу найти способ вызвать приложение из моего PHP-кода.

Веб-приложение создано для работы в Safari.

Я пробовал что-то вроде:

<script type="text/javascript" charset="utf-8">

                window.location = "myapp://iMessage";

    </script>

Но, кажется, не может запустить приложение.


person C-Cat    schedule 12.01.2016    source источник
comment
Я не эксперт по открытию приложений из JS, но кажется, что myapp должна быть схема, зарегистрированная в вашем приложении, и после // должен быть путь/параметры. Кроме того, если вы хотите открыть конкретно iMessage, это может быть местом для просмотра: developer.apple.com/library/ios/featuredarticles/   -  person Losiowaty    schedule 12.01.2016
comment
Нет. Я просто хочу открыть любое приложение с главного экрана, и мне просто нужен код вызова, например me.open(Safari)   -  person C-Cat    schedule 12.01.2016
comment
Какой-либо смысл, который будет делать любой, или возможность открыть каждое приложение, присутствующее на главном экране?   -  person Losiowaty    schedule 12.01.2016
comment
Мой вопрос общий. Возьмем пример, я хочу позвонить в приложение новостей. Мне нужен фактический API, чтобы открыть одно из установленных приложений, независимо от того, какое из них.   -  person C-Cat    schedule 12.01.2016


Ответы (2)


До iOS 9

Чтобы открыть другое приложение в iOS, нужно знать, какие схемы оно поддерживает. Не все приложения используют их, поэтому не каждое приложение можно открыть таким образом. Примерная схема открытия AppStore выглядит так:

itms://itunes.apple.com/us/app/apple-store/id375380948?mt=8

Это откроет AppStore на экране приложений Apple Store. Вы также можете проверить это, заменив itms на https и вставив в свой браузер. Часть itms — это scheme, а остальные — это параметры, передаваемые приложению.

Начиная с iOS9

Приложения могут регистрироваться для обработки общих URL-адресов, поэтому URL-адрес, например http://9gag.com/gag/a1MXxR2, будет открыт в приложении 9GAG (если пользователь не согласен с этим — его спросят при первом открытии такой ссылки в Safari, затем она будет открыта в Сафари).

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


Итак, чтобы ответить на ваш вопрос: нет общего способа открыть случайное приложение, установленное на чьем-то телефоне. Особенно не приложения, которые не поддерживают такое открытие через URL-адреса (независимо от того, с пользовательской схемой или http(s)).

Некоторые из популярных приложений (Facebook, Twitter, Chrome, ...) публикуют свои схемы, и вы можете их реализовать, но не все будут это делать.

Примечание: все это относится к телефонам без джейлбрейка.

person Losiowaty    schedule 12.01.2016

Не существует универсального способа открыть любое приложение. Для открытия определенного приложения требуется следующее:

  1. это приложение зарегистрировано для ответа на определенную схему URL (например, instagram://)
  2. вы знаете, что такое схема URL. Иногда схема URL приложения не является общедоступной.

Я думаю, что схема «myapp://», которую вы используете, была чьим-то примером, но не применима ко всем приложениям.

person Devin Pitcher    schedule 12.01.2016