2015-08-13 7 views
1

Я использую Custom Url Scheme, чтобы обеспечить глубокое связывание с моим ионным приложением. Но в дополнение к открытию приложения, я хочу, чтобы путь прошел с глубокой ссылкой, чтобы открыть правильное состояние. Возникает ли какой-либо вопрос подходом ниже (который работает)? Или есть более чистый способ решения?Глубокое соединение в ионном

Test ссылка: myapp://somepath

  1. Пользователь нажимает ссылку, которая приложение открывает
  2. Custom Url Scheme звонки handleOpenUrl(url), что экономит somepath в локальное хранилище перед открыть приложение
  3. $ionicplatform.on('resume'...) вызовов checkExternalUrl, который проверяет локальное хранилище для externalUrl и, если он найдет путь, сохраненный там, затем перейдет к этому пути, используя window.location.href

WWW/приложение/JS/app.js:

function handleOpenURL(url) { 
 
    var path = url.slice(8) // strips away myapp:// 
 
    window.localStorage.setItem("externalUrl", path); 
 
} 
 

 
angular.module('myapp', ['ionic', 'ngCordova']) 
 

 
.run(function($rootScope, $ionicPlatform, $localstorage) { 
 

 
    $ionicPlatform.ready(function() { 
 

 
     function checkExternalUrl(){ 
 
      var externalUrl = $localstorage.get('externalUrl', false) 
 
      if (externalUrl){ 
 
      window.location.href = '#' + externalUrl 
 
      $localstorage.removeItem('externalUrl') 
 
      } 
 
     } 
 

 
     $ionicPlatform.on('resume', function(){ 
 
      checkExternalUrl() 
 
     }) 
 
    }); 
 
});

ответ

0

Вы можете следить за these guidelines, а также использовать тайм-аут.

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

+0

Было бы неплохо, если бы вы добавили некоторые детали своего ответа. Ссылки могут быть недоступны через некоторое время. –

1

ионный 2 имеет свой собственный узор, и он отличается от маршрута с угловым 2. Это DeepLinker, описанный here.

Смежные вопросы