Какой URL-адрес перенаправления использовать при перенаправлении ionic для стороннего веб-потока

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


person Sripaul    schedule 24.10.2014    source источник


Ответы (3)


Аннотация:

Это не совсем то, о чем вы просите, но это работает очень хорошо.

Идея заключается в том, что вы используете $cordovaInAppBrowser для открытия веб-просмотра и прослушивания событий, а именно $cordovaInAppBrowser:loadstart

а также

$cordovaInAppBrowser:loaderror

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

$cordovaInAppBrowser.close();

который вернет вас в ваше ионное приложение

код:

angular.module('myApp', ['ionic', 'ngCordova']).controller('AppCtrl', function($rootScope, $ionicPlatform, $cordovaInAppBrowser) {
    $scope.openThirdPartyWhatever = function() {
      $ionicPlatform.ready(function() {
        var options = {
          location: 'yes',
          clearcache: 'no',
          toolbar: 'yes'
        };
        $cordovaInAppBrowser.open('http://www.myAwesomeSite.com', '_blank', options)
      });
    };

    //at some point your app tries to load 'http://localhost:8100/send-me-back-to-app'
    $rootScope.$on('$cordovaInAppBrowser:loadstart', function(e, event) {
      //and this function is called, so you do something like
      if(event.url === 'http://localhost:8100/send-me-back-to-app'){
        $cordovaInAppBrowser.close();
      }
    });

    $rootScope.$on('$cordovaInAppBrowser:loaderror', function(e, event) {
      $cordovaInAppBrowser.close();
      alert('sorry, something went wrong');
    });
  });

Полезные ссылки:

https://www.genuitec.com/products/gapdebug/

http://ngcordova.com/docs/plugins/inAppBrowser/

person stevethecollier    schedule 06.02.2016

Похоже, вам нужно будет обрабатывать всплывающие окна и перенаправления, вам нужно будет установить плагин Cordova «inappbrowser», чтобы иметь возможность открывать сторонний веб-поток внутри браузера приложения, а затем вернуться к нормальному состоянию.

Пожалуйста, взгляните на эту статью, в которой они объясняют, как работать с аутентификацией в Facebook, используя методы входа в firebase с Ionic и Cordova. В нем описаны очень похожие шаги, которые вам понадобятся для решения вашей проблемы.

Простой вход в Firebase с Ionic и Cordova

Если вы спешите, начните с «Начало работы в эмуляторе», но я рекомендую быстро прочитать всю статью.

Я не уверен, какой сторонний веб-поток вы используете, но, возможно, это может вам помочь: Zapier

person VicM    schedule 25.10.2014

Я искал то же самое и нашел этот плагин:

https://github.com/EddyVerbruggen/ПользовательскаясхемаURL/blob/d1432ecfff63678a3155804839dda21607706e72/README.md

person Adam Boostani    schedule 18.03.2016