2014-04-11 4 views
7

Я объявила схему URL в своем приложении, smstest, поэтому в Safari я могу написать в строке поиска smstest:my-test или smstest://my-test, и мое приложение открыто.Открытое приложение из SMS с моей схемой url как ссылка

Я пытаюсь добиться того же из текста SMS, чтобы приложение «Сообщения» форматировало smstest:my-test или smstest://my-test в качестве ссылки, и пользователь мог нажать на нее, и мое приложение будет вызвано. Но текст не форматируется как ссылка.

Возможно ли это или единственное решение открыть приложение из СМС, чтобы указать на интернет-страницу со сценарием?

спасибо.

EDIT: забавная вещь, я установил IMO Messenger, и я получаю SMS-сообщение с кодом в виде схемы URL-адреса, и оно анализируется приложением «Сообщения» как ссылка. Почему не происходит с моим приложением? Я пробовал с несколькими сообщениями, с пробелами до и после URL-адреса, и ничего не происходит.

+0

Я думаю, что единственный вариант, как вы говорите, для ссылки на веб-сайт и переадресацию в Интернете на ваше приложение. – jcesarmobile

+0

Спасибо @jcesar, вы знаете какой-то ресурс или учебник для разработки этой JS-страницы? Спасибо. – emenegro

+0

Я только что добавил его в качестве ответа – jcesarmobile

ответ

14

В общем есть стандартный способ открыть приложение из сообщений приложения с использованием схемы URL-адресов :

  1. Добавить схему URL в файл info.plist: my-scheme.
  2. Установите приложение на целевой iPhone.
  3. Отправьте СМС с текстом, как это: «моя-схема: // это-это-моя-схема

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

  1. Перед добавлением схемы URL-адреса и установки приложений отправить SMS.Как ожидается, сообщение будет отображаться в виде обычного текста:
    First SMS

  2. Теперь давайте добавим схему URL-адрес для info.plist:
    Info.plist

  3. Наконец установить приложение и отправить/получить тот же SMS:
    Second SMS

Как вы видите последнее сообщение отображается как ссылка, и если я нажимаю на него, то IOS открывает свои Применение в процессе на. Но первое сообщение по-прежнему отображается как обычный текст, и оно не поддается отображению. Кажется, что логика приложения Messages реализована таким образом.

Теперь позволяет удалить приложение из iPhone и отправить тот же SMS еще раз:
Third SMS
Теперь снова отображается в виде обычного текста, а второе сообщение - в качестве ссылки. И если я коснусь его, iOS ничего не делает и оставляет сообщение «Сообщения» открытыми.

Вывод: Убедитесь, что вы отправляете/получаете SMS после установки приложения, которое поддерживает вашу схему. Только в этом случае он будет отображаться как ссылка, и пользователь может открыть ваше приложение, нажав на него.

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

  1. Удалить приложение с iPhone;
  2. Измените схему URL (или даже измените как схему URL, так и идентификатор пакета в крайнем случае);
  3. Установите его снова;
  4. Отправить SMS с новой схемой URL.
+0

Я думаю, что моя проблема - это то, что вы объяснили, и шаги, которые я предпринял для моих тестов. Теперь схема отлично разбирается, и все работает отлично. Отличный ответ, спасибо. – emenegro

+0

Привет, у меня есть сомнения здесь. Здесь в приведенном выше примере «Stack-overflow» является значением схемы URL. Что там? Нормальное текстовое сообщение? Я отправил аналогичный текст, но он подходит как текст, а не как ссылка. –

+0

@ Fr33KiLL, да, «он-там» это просто текст, он работает как url, вы можете добавить свои параметры: stack-overflow: // hi-ther? P1 = 1 & p2 = 2, а затем проанализировать его в приложении. «stack-overflow» - та же строка, что и в схемах URL в файле Info.plist. "://" - необходимо. –

3

EDIT:

Я просто попытался с приложением представляемого мою схему URL-адрес на теле смс и работал. Он должен иметь этот формат smstest://my-test

Приложение должно быть установлено и с помощью схемы URL, объявленной в info.plist, когда вы получаете sms для работы.

добавить скриншот к SMS полученный с различными схемами URL-адреса, все они признаны приложениями iPhone SMS

SMS URL SCHEMES

Если он все еще не работает, попробуйте внедрение и сделать их вернуть YES

application: handleOpenURL: и application: openURL:sourceApplication: annotation:

- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url 
{ 
    return YES; 
} 

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
    return YES; 
} 

Этот старый ответ был для перенаправления JS, о котором вы просили в комментариях.

Я использую это для перенаправления из Интернета на приложение с запасным вариантом на Itunes URL в случае, если приложение не установлена ​​

var now = new Date().valueOf(); 
setTimeout(function() { 
    if (new Date().valueOf() - now > 100) return; 
    window.location = "http://itunes.apple.com/yourappurl"; 
}, 25); 
window.location = "smstest://my-test"; 
Смежные вопросы