Enviar búsqueda
Cargar
Chromeウェブストア - Html5とか勉強会42
•
Descargar como PPTX, PDF
•
8 recomendaciones
•
2,410 vistas
Yoichiro Tanaka
Seguir
Tecnología
Empresariales
Denunciar
Compartir
Denunciar
Compartir
1 de 54
Descargar ahora
Recomendados
Search Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantage
mmahan
2008 09 Grandparents Day
2008 09 Grandparents Day
kcetling
Info scoop opensource
Info scoop opensource
Yoichiro Tanaka
Sun Tech Days 2007 Mash up
Sun Tech Days 2007 Mash up
Yoichiro Tanaka
Prakash Belawadi - Manifesto BBMP 2010 elections
Prakash Belawadi - Manifesto BBMP 2010 elections
pramodbiligiri
St. Anthony's Catholic School Field Day 2008
St. Anthony's Catholic School Field Day 2008
kcetling
みんなの知らないChrome appsの世界
みんなの知らないChrome appsの世界
Yoichiro Tanaka
Search Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantage
mmahan
Recomendados
Search Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantage
mmahan
2008 09 Grandparents Day
2008 09 Grandparents Day
kcetling
Info scoop opensource
Info scoop opensource
Yoichiro Tanaka
Sun Tech Days 2007 Mash up
Sun Tech Days 2007 Mash up
Yoichiro Tanaka
Prakash Belawadi - Manifesto BBMP 2010 elections
Prakash Belawadi - Manifesto BBMP 2010 elections
pramodbiligiri
St. Anthony's Catholic School Field Day 2008
St. Anthony's Catholic School Field Day 2008
kcetling
みんなの知らないChrome appsの世界
みんなの知らないChrome appsの世界
Yoichiro Tanaka
Search Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantage
mmahan
オンラインゲームソリューション@トレジャーデータ
オンラインゲームソリューション@トレジャーデータ
Takahiro Inoue
Firefox Marketplace and Payment
Firefox Marketplace and Payment
dynamis
XOOPS EC Distribution
XOOPS EC Distribution
Yoshi Sakai
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
Yuji Takayama
SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2
Nobuhiro Nakajima
Google Play Game Servicesについて
Google Play Game Servicesについて
Kenzo Ishii
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
Yuji Takayama
Navigate users from assistant app to android app
Navigate users from assistant app to android app
Yoichiro Tanaka
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
Yoichiro Tanaka
Yapc
Yapc
Yoichiro Tanaka
SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428
Yoichiro Tanaka
JRuby on Rails
JRuby on Rails
Yoichiro Tanaka
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Yoichiro Tanaka
maven2+aptで楽々ドキュメント
maven2+aptで楽々ドキュメント
Yoichiro Tanaka
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
Yoichiro Tanaka
体操競技のルール改正と今後の日本の方向性
体操競技のルール改正と今後の日本の方向性
Yoichiro Tanaka
Wicket勉強会2
Wicket勉強会2
Yoichiro Tanaka
世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!
Yoichiro Tanaka
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Más contenido relacionado
Similar a Chromeウェブストア - Html5とか勉強会42
オンラインゲームソリューション@トレジャーデータ
オンラインゲームソリューション@トレジャーデータ
Takahiro Inoue
Firefox Marketplace and Payment
Firefox Marketplace and Payment
dynamis
XOOPS EC Distribution
XOOPS EC Distribution
Yoshi Sakai
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
Yuji Takayama
SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2
Nobuhiro Nakajima
Google Play Game Servicesについて
Google Play Game Servicesについて
Kenzo Ishii
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
Yuji Takayama
Similar a Chromeウェブストア - Html5とか勉強会42
(7)
オンラインゲームソリューション@トレジャーデータ
オンラインゲームソリューション@トレジャーデータ
Firefox Marketplace and Payment
Firefox Marketplace and Payment
XOOPS EC Distribution
XOOPS EC Distribution
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2
Google Play Game Servicesについて
Google Play Game Servicesについて
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
Más de Yoichiro Tanaka
Navigate users from assistant app to android app
Navigate users from assistant app to android app
Yoichiro Tanaka
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
Yoichiro Tanaka
Yapc
Yapc
Yoichiro Tanaka
SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428
Yoichiro Tanaka
JRuby on Rails
JRuby on Rails
Yoichiro Tanaka
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Yoichiro Tanaka
maven2+aptで楽々ドキュメント
maven2+aptで楽々ドキュメント
Yoichiro Tanaka
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
Yoichiro Tanaka
体操競技のルール改正と今後の日本の方向性
体操競技のルール改正と今後の日本の方向性
Yoichiro Tanaka
Wicket勉強会2
Wicket勉強会2
Yoichiro Tanaka
世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!
Yoichiro Tanaka
Más de Yoichiro Tanaka
(12)
Navigate users from assistant app to android app
Navigate users from assistant app to android app
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
Yapc
Yapc
SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428
JRuby on Rails
JRuby on Rails
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
maven2+aptで楽々ドキュメント
maven2+aptで楽々ドキュメント
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
体操競技のルール改正と今後の日本の方向性
体操競技のルール改正と今後の日本の方向性
Wicket勉強会2
Wicket勉強会2
世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!
Último
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Último
(9)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Chromeウェブストア - Html5とか勉強会42
1.
Chromeウェブストア
2.
3.
• Hostedアプリ – Webサーバから必要なファイルが提供される •
Packagedアプリ – 必要なファイル群がChromeにインストールさ れる • 拡張機能 – Chromeに便利な機能を追加する
4.
The Chrome Web
Store lets you publish apps and games – either free or paid – where Google Chrome users can easily find them.
5.
開発者 ユーザー 登録
6.
The Chrome Web
Store lets you publish apps and games – either free or paid – where Google Chrome users can easily find them.
7.
開発者 ユーザー発見
8.
開発者 ユーザー発見 利用
9.
The Chrome Web
Store lets you publish apps and games – either free or paid – where Google Chrome users can easily find them.
10.
開発者 ユーザー
11.
開発者 ユーザー 決済機能の 開発が必要
12.
開発者 ユーザー
13.
開発者 ユーザー
14.
種別 アプリでの利用 拡張機能での利用 アプリ自体の販売 (1回、定期購入) ○
× アプリ内課金 (デジタルグッズなどの販 売) ○ ○ 広告の掲載 ○ ○
15.
アプリ自体の販売 ・・・Chromeウェブストア決済
16.
17.
18.
• 1回払い • 月間登録料 •
年間登録料 • 無料試用版
19.
20.
21.
22.
23.
無料試用版
24.
• Hostedアプリ – Licensing
API • Packagedアプリ – 機能制限版とフル機能版の2つをリリース
25.
26.
Licensing API • OpenID認証を行う •
ライセンスサーバにリクエストを送る • 購入状況によって機能を制限する
27.
https://www.googleapis.com /chromewebstore/v1/licenses/[AppId]/[UserID]
28.
https://www.googleapis.com /chromewebstore/v1/licenses/[AppId]/[UserID] + 署名
29.
# Licensing APIのエンドポイント ENDPOINT
= 'https://www.googleapis.com/chromewebstore/v1/licenses' # アプリID APP_ID = '...' # OAuthトークン OAUTH_TOKEN = '...' # OAuthトークンシークレット OAUTH_TOKEN_SECRET = '...' # ユーザーのOpenID URL文字列 user_id = ... # OAuthクライアントの生成 client = Signet::OAuth1::Client.new( :client_credential_key => 'anonymous', :client_credential_secret => 'anonymous', :token_credential_key => OAUTH_TOKEN, :token_credential_secret => OAUTH_TOKEN_SECRET ) # リクエストの送信 response = client.fetch_protected_resource( :uri => "ENDPOINT/#{app_id}/#{CGI::escape(user_id)}" ) # 結果の取得 result = JSON.parse(response.body)
30.
{ "kind": "chromewebstore#license", "id": "appId/userId", "appId":
"appId", "userId": "userId", "result": "YES", "accessLevel": "FULL", "maxAgeSecs": "3600", }
31.
result値 accessLevel値 状況 YES
FULL ユーザーはアプリに課金している。 YES FREE_TRIAL ユーザーはアプリに課金してなく、 無料試用版を使うべき。 NO NONE ユーザーはアプリに課金してなく、 アプリにアクセスしていない。
32.
アプリ内課金 ・・・Google In-App Payments
API for Web
33.
開発者のサーバ 星を手に入れる 購入 ① ② APIコール ③ Googleのサーバ 開発者のサーバ 通知 ④ 通知 ⑤ 星を手に入れた! ⑥ JWTの生成
34.
{ "iss": "購入者ID", "aud": "Google", "typ":
"google/payments/inapp/item/v1", "exp": "1358678162", "iat": "1358674585", "request": { "name": "Red potion", "description": "It increases the hit point.", "price": "2.50", "currencyCode": "USD", "sellerData": "user_id:123,transaction_id:98765" } }
35.
SELLER_IDENTIFIER = '販売者
ID' SELLER_SECRET = '販売者の秘密鍵' token = JWT.encode( { 'iss' => SELLER_IDENTIFIER, 'aud' => 'Google', 'typ' => 'google/payments/inapp/item/v1', 'exp' => (Time.now + 3600).to_i, 'iat' => Time.now.to_i, 'request' => { 'name' => 'Red potion', 'description' => 'It increases the hit point.', 'price' => '2.50', 'currencyCode' => 'USD', 'sellerData' => 'user_id =>123,transaction_id =>98765' } }, SELLER_SECRET)
36.
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.ey Jpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzO DAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19y b290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1 p1r_wW1gFWFOEjXk
37.
開発者のサーバ 星を手に入れる 購入 ① ② APIコール ③ Googleのサーバ 開発者のサーバ 通知 ④ 通知 ⑤ 星を手に入れた! ⑥ buy()関数の 呼び出し 購入画面
38.
<script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('payments',
'1.0', { 'packages': ['sandbox_config'] }); </script>
39.
var generatedJwt =
...; document.getElementById("buy").onclick = function(evt) { purchase(); }; function purchase() { ... goog.payments.inapp.buy({ jwt: generatedJwt, success: function(result) { ... }, failure: function(result) { ... } }); }
40.
41.
開発者のサーバ 星を手に入れる 購入 ① ② APIコール ③ Googleのサーバ 開発者のサーバ 通知 ④ 通知 ⑤ 星を手に入れた! ⑥ ポストバック URLの呼び出 し
42.
{ "iss": "Google", "aud": "購入者ID", "typ":
"google/payments/inapp/item/v1/postback/buy", "exp": "1358678162", "iat": "1358674585", "request": { "name": "Red potion", "description": "It increases the hit point.", "price": "2.50", "currencyCode": "USD", "sellerData": "user_id:12345,transaction_id:98765" }, "response": { "orderId": "3485709183457474939449" } }
43.
SELLER_SECRET = '販売者の秘密鍵' encoded_jwt
= params['jwt'] item_token = JWT.decode(encoded_jwt, SELLER_SECRET) order_id = item_token['response']['orderId'] # デコードされた内容に基づいて、注文内容を確認し、 # 必要があればデータベースに注文完了を書き込む render text: order_id
44.
開発者のサーバ 星を手に入れる 購入 ① ② APIコール ③ Googleのサーバ 開発者のサーバ 通知 ④ 通知 ⑤ 星を手に入れた! ⑥ コールバック 関数の呼び出 し
45.
46.
var generatedJwt =
...; document.getElementById("buy").onclick = function(evt) { purchase(); }; function purchase() { ... goog.payments.inapp.buy({ jwt: generatedJwt, success: function(result) { ... }, failure: function(result) { ... } }); }
47.
• Hostedアプリ – Available. •
Packagedアプリ – Can use on the dev channel.
48.
Tax
49.
付加価値税 • 購入するユーザーと開発者の直接契約 – 納税する責任は開発者にある
50.
51.
52.
国ごとに法律が異なる • 税率の違い • 購入者が国外にいた時の扱い •
納税免除の下限額の違い ・・・知らなかった、では済まされない
53.
• 田中 洋一郎 –
Google Developers Expert (Chrome) – LINE株式会社 開発1センター所属
54.
End
Descargar ahora