From Evernote: |
iPhoneとAndroidのURL Scheme起動設定方法 |
iPhoneとAndroidのURL Scheme起動設定方法
ブラウザのリンクからアプリを起動する方法。
(及び他アプリからURL Schemeで起動する事も可能)
iPhone
<a href="babukuma:">アプリ起動</a>
のリンクで起動できる。パラメータを渡すのも可能。
<a href="babukuma:?a=1&b=2">アプリ起動</a>
<a href="babukuma://com.babukuma.demo.urlscheme/?a=1&b=2">アプリ起動</a>
起動時のデリゲート
iOS4.1までは
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
このデリゲートが呼ばれたが、
iOS4.2からは次のデリゲートが追加された。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
両方実装すると
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
このデリゲートが優先される。
簡単な例は。。。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"url=%@, sourceApplication=%@", [url absoluteString], sourceApplication);
returnYES;
}
Android
<a href="abukuma://com.babukuma.demo.urlscheme">アプリ起動</a>
のリンクで起動できる。パラメータを渡すのも可能。
<a href="babukuma://com.babukuma.demo.urlscheme/?a=1&b=2">アプリ起動</a>
のリンクで起動できる。パラメータを渡すのも可能。
<a href="babukuma://com.babukuma.demo.urlscheme/?a=1&b=2">アプリ起動</a>
パラメータ以外もPath、Port指定も可能。
ブラウザからアプリを起動する為のHTMLサンプル
ブラウザからアプリを起動するのは簡単にできるか、
ユーザがアプリを先にインストールしないブラウザでエラーページが表示されてしまう。
アプリがインストールされている場合はアプリを起動し、
インストールされてない場合はダウンロード先へ移動させたい。
参照したサイトのURLは忘れたけど、どこか外国のiPhone開発QAサイトでヒントを見つけて一応解決。