1

乗車場所と降車場所を埋め込むディープ リンクは iOS では機能しますが、Android でテストすると機能しません。Android では、乗車場所と降車場所を埋め込む代わりに、ディープ リンクで Uber アプリを開くだけです。ロジックと実際のディープ リンクが適切に機能していると思うので、Javascript に問題がある可能性があると思います。

どんな助けでも大歓迎です。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Emails</title>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
    <script type="text/javascript">
      $(function() {

        // Parse the user agent to determine the device
        var isiPad = navigator.userAgent.match(/iPad/i) != null,
            isiPhone = !isiPad && ((navigator.userAgent.match(/iPhone/i) != null) || (navigator.userAgent.match(/iPod/i) != null)),
            isiOS = isiPad || isiPhone,
            isAndroid = !isiOS && navigator.userAgent.match(/android/i) != null,
            isMobile = isiOS || isAndroid,
            isDesktop = !isMobile;

        // Define all the potential redirection Urls
        var deepLink = 'uber://?action=setPickup&pickup=my_location&dropoff%5Blatitude%5D=33.784685&dropoff%5Blongitude%5D=-84.4121&dropoff%5Bnickname%5D=Apartment%20of%20Paul%20Jump&dropoff%5Bformatted_address%5D=1100%20Howell%20Mill%20RD%2C%20Atlanta%2C%20GA%2030318',
            appStoreUrl = 'https://itunes.apple.com/us/app/uber/id368677368',
            androidIntentUrl = 'intent://uber/#Intent;package=com.ubercab;scheme=uber;end',
            muberDotCom = 'http://m.uber.com';

        // Handle each case with a seamless fallback to the application store on mobile devices
        if (isiOS) {
          window.location = deepLink;
          setTimeout(function() { window.location = appStoreUrl; }, 25);
        } else if (isAndroid) {
          window.location = androidIntentUrl;
        } else if (isDesktop) {
          window.location = muberDotCom;
        }

      });
    </script>
  </head>
  <body>
  </body>
</html>

4

1 に答える 1

1

これは、必要な変数を定義していないためです。この URI のピックアップとドロップオフの場所は次のとおりです。

androidIntentUrl = 'intent://uber/#Intent;package=com.ubercab;scheme=uber;end',

次のようdeepLinkに when isAndroidisに使用するだけです。true

if (isiOS) {
      window.location = deepLink;
      setTimeout(function() { window.location = appStoreUrl; }, 25);
} else if (isAndroid) {
      window.location = deepLink;
      setTimeout(function() { window.location = 'https://play.google.com/store/apps/details?id=com.ubercab&hl=en_GB'; }, 25);
} else if (isDesktop) {
      window.location = muberDotCom;
}
于 2015-05-28T14:14:27.863 に答える