2013-07-12 12 views
15

私たちはアプリを持っています。それはxyz_appと呼ばれ、xyz_app://の形式のカスタムURLスキームがあります。SafariのWebページからインストールした場合、アプリを開く方法は?

ユーザーにメールを送信しています。

リンクをクリックすると、彼はアプリに行くと思われます。アプリがインストールされていない場合は、モバイルウェブサイトです。

電子メールのリンクから、アプリがインストールされていないと、そのリンクがモバイルウェブサイトにユーザーを送信するようにするにはどうすればよいですか?

答えて

23

URLスキームは、iDeviceにアプリケーションがインストールされている場合にのみ有効です。インストールされていない場合は、エラーが発生します。

1)この機能を実装するには、アプリがインストールされているかどうかを検出するウェブページに、電子メールリンクからリダイレクトする必要があります。このwww.yourwebsite/detectappような何か

2)あなたのdetectappページはjavascript-

var appstoreFail = "www.your_redirect_website.com"; 

//Check is device is iOS 
var iOS = /(iPad|iPhone|iPod)/.test(navigator.userAgent); 
var appUrlScheme = "xyz_app://"; 

if (iOS) { 
    // If the app is not installed the script will wait for 2sec and redirect to web. 
    var loadedAt = +new Date; 
    setTimeout(function() { 
     if (+new Date - loadedAt < 2000) 
      window.location = appstoreFail; 
    } ,25); 
    // Try launching the app using URL schemes 
    window.open(appUrlScheme, "_self"); 
} else { 
    // Launch the website 
    window.location = appstoreFail; 
} 
+0

オーケーを持つことになります。ありがとう。私はこれを試してみる。 –

+0

setTimoutが2秒に直接設定されていない特定の理由はありますか? –

関連する問題