SlideShare a Scribd company logo
1 of 27
ゼミ中間発表:
Deeplinkが生み出すアプリの世界
2015/02/23 染谷 洋平
吉田 基紀
アジェンダ
1.Deeplinkとは?
2.Deeplink導入の現状と展望について
3.Deeplinkの次に来るものとは?
※調査対象:Google/Twitter/Facebook/URX/Branch Metrix/Mobile Deeplinking/Criteo/Quixey
Deeplinkとは?
広告などのリンク先をTOPページより深い階層に遷移させること。
2012年 Google+が対応開始 →ディープリンクの口火を切る
2013年 Twitter Cardsが対応開始
CellogicはDeeplink.meをβ版リリース(リタゲ広告も配信開始)
URXが設立
Google App Indexing 発表(米国)
2014年 Criteo、モバイルアプリ内パフォーマンスディスプレイ広告β版リリース
URXがOmnilinksをローンチ、1,200万ドルを調達します。
Facebookがf8でApp Linksを発表。
Google AdWordsにディープリンク機能追加
日本国内ではBypassが対応を開始
参考:http://deep-link.jp/
Deeplinkとは?
Deeplinkの歴史
ダイナミックリタゲの圧倒的広告効果
メディアのCTRを約10倍に
アウトドア関連ECでCTRが2倍、CVRが5倍
“The auto-optimized layout drove a 2x increase in clickthrough rate
(compared to standard ad formats) and the conversion rate grew 5x while
cost-per-acquisition only rose 11%.”
出典:https://www.thinkwithgoogle.com/case-studies/case-study-sierratradingpost.html
“For many publishers we regularly deliver CTRs of 1% – which is huge,
when the average display CTR is closer to .1%”
出典:http://static.googleusercontent.com/media/www.google.com/ja//doubleclick/pdfs/Criteo-and-DoubleClick-Ad-Exchange-Case-Study-6-1-2011.pdf
Criteo、€149.9Mの売上(YoY +58.6%)
■Criteoの決算資料(抜粋)
出典:http://www.slideshare.net/CriteoReports/criteo-mobile-commerce-report-q42014
アプリでのDeeplink導入に必要なこと
メディア(配信面) 配信サイド 広告主(リンク先)
実装内容
---
アプリインストール判定の
実装
ディープリンクの
マッピングの実装
詳細 ※
フォーマットの開発により
収益性向上が狙える
例:twitter, Google
二つのポイントで判定可能
①広告リクエスト時に判定
②クリック時に判定
URLスキームが叩かれた際に
表示するページをアプリ内に
記述する
といったフレームワークの登場により、
実装のハードルも下がっている。
広告主のアプリ化が進む4つの可能性
1. 平均注文額が増える
出典:http://www.slideshare.net/LaurenHand/the-four-sources-of-mobile-app-roi-41817504
4.ターゲティング要素も多い
WEB APP
キャリア(IP) ◯ ◯
OS ◯ ◯
デバイス ◯ ◯
WEBでの行動履歴 ◯ ×
APPでの行動履歴 × ◯
端末内のアプリ情報 × ◯
位置情報 × ◯
2.CVRが高い
3.プッシュ通知ができる
海外プレイヤーのDeeplink事例
・Amazon(Android) ・Google Map(iOS)
…アプリへの誘導を推進
アプリを持っていない時はDL訴求を実施
…ディープリンク実装アプリでは
前画面に戻る実装がされている(iOSのみ)
“IN-APP SEARCH”というドメイン
Music Widget(iOS) by URX
…SDKを組み込むことで、
音楽アプリを横断して
各楽曲にアクセスできる
“IN-APP SEARCH”というドメイン
CHOW by Quixey
…飲食系アプリを横断した検索が可能
検索後は各アプリが起動し、Deeplinkする
Googleの描く未来
Maybe you don’t want to ask a question; maybe
you want to just have it answered for you before
you ask it.
2015年1月30日:‘Google Now’ Will Suck In Outside App Data
(’Google Now’がアプリのデータを吸い上げる)
→アプリから Google Now へデータを送ることを可能に
「検索ボックスのない世界へ」
→アプリからあらゆる情報を収集することで、
さらに精度が高いターゲティングを実現していく
ラリー・ペイジ
まとめ
・アプリへのDeeplinkへの実装のハードルは下がっている
・エンゲージメントの高さや取得できる情報の豊富さから
広告主のアプリ化は進んでいく
・各アプリを横断するようなアプリの登場や、
アプリから取得する情報、データを活用する動きが
加速していく可能性が高い
ご静聴ありがとうございました。
参考資料:マッピングの設定
Deeplinkに必要なマッピングとは?
現状の課題:アプリには、URLがない。
特定の情報を表示させるためには、どうすればいい、、?
→URLScheme と queryParameter の2つの要素でマッピングする。
説明 例
URLScheme “アプリ自体”を特定するためのもの。アプリ側で自由
に指定できる。
cashop://product/2
queryParameter “アプリ内の特定の情報”を特定するためのもの。
● ://product → ItemController に渡す。
● ../2 → product_id = 2 という情報を渡す。
cashop://product/2
オープンソースフレームワーク
Deeplink導入にあたり、
アプリ側でマッピングの設定が必要と
なる(ここが肝)。
その設定を容易にするための
フレームワークとして、
mobiledeeplinking と
Turnpike(URX) がある。
mobiledeeplinking の仕組み
URLScheme と queryParameters が含まれたリクエス
ト
ex) cashop://product/2
↓
JSONファイル内で指定されているルーティングのル
ールの中から、マッチするものを探す。
↓
マッチするルーティングの中の記述に従い、該当する
Controller に routeParameters を渡して、ページを表示
する。
"routes": {
"sales/:saleId": {
"storyboard": {
"iPhone": "SaleStoryboard_iPhone",
"iPad": "SaleStoryboard_iPad"
},
"class": "SaleViewController",
"identifier": "saleViewController",
"handlers": [
"logAnalytics"
],
"routeParameters": {
"saleId": {
"required": "true",
"regex": "[0-9]"
},
"utmSource": {
}
}
},
▼実装例
Turnpike の仕組み
URLScheme と queryParameters が含まれたリクエス
ト
ex) com.urx.shop:product/2
↓
App.delegate.m ファイル内で指定されているルーティ
ングのルールの中から、マッチするものを探す。
↓
マッチするルーティングの中の記述に従い、
queryParameters を Controller に渡しページを表示す
る。
※ iOSのみ
[Turnpike mapRoute:@"product/:product_id" ToDestination:^(TPRouteRequest *request) {
NSString *product_id = [request.routeParameters valueForKey:@"product_id"];
NSLog(@"product_id: %@", product_id);
if (product_id) {
[tabBarController setSelectedIndex:0];
[[NSNotificationCenter defaultCenter]
postNotificationName:@"com.urx.shop.productsViewController.urxLinkToProduct" object:nil userInfo:[NSDictionary
dictionaryWithObject:product_id forKey:@"product_id"]];
}
}];
▼実装例
[Turnpike mapRoute:@"tab/:tab_name" ToDestination:^(TPRouteRequest *request) {
int tabIndexToSet = 0;
if ([[request.routeParameters valueForKey:@"tab_name"] isEqualToString:@"catalog"]) {
tabIndexToSet = 0;
} else if ([[request.routeParameters valueForKey:@"tab_name"] isEqualToString:@"shopping_cart"]) {
tabIndexToSet = 1;
} else {
// open some other tab, etc.
tabIndexToSet = 0;
}
[tabBarController setSelectedIndex:tabIndexToSet];
}];
比較表:mobiledeeplinking vs Turnpike
マッピング方法
マッチしたURLにパターンに対応するク
ラスにパラメータを渡す。
マッチしたURLにパターンに対応するク
ラスにパラメータを渡す。
ファイル形式 JSON(+Framework)
App.delegata.m 内にObjective-Cで記述
(+Framework)
OS
条件 × ○
正規表現 ○ ○
unity / cocos2d クラスの概念があれば可 クラスの概念があれば可
参考:各社のDeeplink実装例
Google/ Twitter/ Facebook
・Google/Adwords,App indexing:
アプリ側にURLスキームを記述(XML document)し、サイト側にタグを記述する。
※App indexing APIはAndroidのみ対応(今後iOSも対応すると推測。2015-01-22時点)
・Twitter Card:
Twitter Cardの入稿HTMLにマークタグを追記する。
・App Links:
1)iOSアプリ、Androidアプリがある
2)アプリでURLスキームを利用している
3)アプリのコンテンツがWebサイトに公開されている
App indexingの設定について
インテントフィルターの設定を行う。
<action>タグでアクションを指定。
<data>タグで各データのURIフォーマット(httpやitunesなど)を記載。android-scheme属性は必須。
<category>タグで、BROWSABLE、DEFAULTはそれぞれウェブブラウザ、他のウェブページからのディープリンクを可能にする。
抜粋: https://support.google.com/adwords/answer/6046977?hl=ja , https://developers.google.com/app-indexing/webmasters/server
▼http://example.com/gizmos...の対応例 ▼http://example.com/gizmos と example://gizmos の両フォーマットの対応例
Twitter Cardの設定について
・twitter:app:country
アメリカ非配信アプリの場合は2文字の国コード記載
・twitter:app:id:???
iosの場合はApp IDを、
Androidの場合はパッケージ名を記載
・twitter:app:url:(iphone|ipad|googleplay)
-iOSの場合
@アプリの.plistファイル
URLスキームを追加
[URL Types] セクションを探します。
※AppDelegateの “application:openURL:sourceApplication:annotation:” メソッドに、
受信URL (カードで指定したURL) を取り込んでアプリ内で解析するロジックを追加する。
-Androidの場合
インテントフィルターの設定
抜粋:
▼Twitter cardの記述例
▼インテントフィルターの記述例
その他参考資料
Deeplinkで実現できること
・未ダウンロードアプリであっても、アプリダウンロード後、
初期起動時に、Deeplink機能が起動する
by URX, Branch Metrix
国内でのDeeplink事例について
参考:
Deeplinkの仕組み 企業例
App indexing
App Links
???
・実施事例

More Related Content

Similar to Deeplinkから考えるWebとAppの今後とは

HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスアシアル株式会社
 
C#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community campC#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community campShinichi Hirauchi
 
Service Cloud Trailblazers #5
Service Cloud Trailblazers #5Service Cloud Trailblazers #5
Service Cloud Trailblazers #5sfdc_sctb
 
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみようデータ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみようSalesforce Developers Japan
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたShin Ogata
 
Enterpriseでもモバイル開発
Enterpriseでもモバイル開発Enterpriseでもモバイル開発
Enterpriseでもモバイル開発Mitch Okamoto
 
Salesforce Platformとモバイル活用
Salesforce Platformとモバイル活用Salesforce Platformとモバイル活用
Salesforce Platformとモバイル活用Mitch Okamoto
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へVirtualTech Japan Inc.
 
『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章y torazuka
 
Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発Salesforce Developers Japan
 
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~寛 吉田
 
Laravel5を使って開発してみた
Laravel5を使って開発してみたLaravel5を使って開発してみた
Laravel5を使って開発してみたTakeo Noda
 
Interactive connection2
Interactive connection2Interactive connection2
Interactive connection2Takao Tetsuro
 
[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介Kenichi Kambara
 
Google のクラウド サービスを利用する前に 注意すべきこと
Google のクラウド サービスを利用する前に 注意すべきことGoogle のクラウド サービスを利用する前に 注意すべきこと
Google のクラウド サービスを利用する前に 注意すべきことCompare GW
 
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界オラクルエンジニア通信
 
Sit tokyo2022 how_to_develop_own_migration_object
Sit tokyo2022 how_to_develop_own_migration_objectSit tokyo2022 how_to_develop_own_migration_object
Sit tokyo2022 how_to_develop_own_migration_objectKoichiroOgawa
 
Web appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイトWeb appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイトTsukasa Kato
 
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現インフラジスティックス・ジャパン株式会社
 

Similar to Deeplinkから考えるWebとAppの今後とは (20)

HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 
C#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community campC#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community camp
 
Service Cloud Trailblazers #5
Service Cloud Trailblazers #5Service Cloud Trailblazers #5
Service Cloud Trailblazers #5
 
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみようデータ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
 
Enterpriseでもモバイル開発
Enterpriseでもモバイル開発Enterpriseでもモバイル開発
Enterpriseでもモバイル開発
 
Salesforce Platformとモバイル活用
Salesforce Platformとモバイル活用Salesforce Platformとモバイル活用
Salesforce Platformとモバイル活用
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
 
Web Intents入門
Web Intents入門Web Intents入門
Web Intents入門
 
『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章
 
Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発
 
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
 
Laravel5を使って開発してみた
Laravel5を使って開発してみたLaravel5を使って開発してみた
Laravel5を使って開発してみた
 
Interactive connection2
Interactive connection2Interactive connection2
Interactive connection2
 
[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介
 
Google のクラウド サービスを利用する前に 注意すべきこと
Google のクラウド サービスを利用する前に 注意すべきことGoogle のクラウド サービスを利用する前に 注意すべきこと
Google のクラウド サービスを利用する前に 注意すべきこと
 
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
 
Sit tokyo2022 how_to_develop_own_migration_object
Sit tokyo2022 how_to_develop_own_migration_objectSit tokyo2022 how_to_develop_own_migration_object
Sit tokyo2022 how_to_develop_own_migration_object
 
Web appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイトWeb appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイト
 
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
 

Deeplinkから考えるWebとAppの今後とは

Editor's Notes

  1. 2014年 日本だと、クックパッドやホットペッパー、pixivなどの一部のアプリがこの段階で既に対応済みとなっていました。