Suche senden
Hochladen
GDG Shikoku 2013
•
1 gefällt mir
•
1,201 views
T
Takashi EGAWA
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 45
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
DevFest Japan 2014 Spring
DevFest Japan 2014 Spring
Takashi EGAWA
Android Things最新動向
Android Things最新動向
Akira Sasaki
はじめてのAndroid Things
はじめてのAndroid Things
Akira Sasaki
Edison勉強会20170130
Edison勉強会20170130
Takehiko Tomiyama
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
Keiji Ariyama
Android Studio開発講座
Android Studio開発講座
Keiji Ariyama
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Akira Onishi
入門者用Android Studio Hands on
入門者用Android Studio Hands on
Shintaro Yamasaki
Empfohlen
DevFest Japan 2014 Spring
DevFest Japan 2014 Spring
Takashi EGAWA
Android Things最新動向
Android Things最新動向
Akira Sasaki
はじめてのAndroid Things
はじめてのAndroid Things
Akira Sasaki
Edison勉強会20170130
Edison勉強会20170130
Takehiko Tomiyama
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
Keiji Ariyama
Android Studio開発講座
Android Studio開発講座
Keiji Ariyama
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Akira Onishi
入門者用Android Studio Hands on
入門者用Android Studio Hands on
Shintaro Yamasaki
IMoNi 2010.06.26
IMoNi 2010.06.26
Takashi EGAWA
Web制作者がandriodのcddを読んでみた
Web制作者がandriodのcddを読んでみた
Masakazu Muraoka
Mebic Creative Business Forum 2013
Mebic Creative Business Forum 2013
Takashi EGAWA
ECSU Student Housing - Ken Cooper AIA
ECSU Student Housing - Ken Cooper AIA
Ken Cooper AIA
Python hackathon 2010. 07. 10
Python hackathon 2010. 07. 10
Takashi EGAWA
Inside the Android AccountManager
Inside the Android AccountManager
Samael Wang
Google+ API の紹介 - Google Social Developers 2011 Winter
Google+ API の紹介 - Google Social Developers 2011 Winter
Nobuhiro Nakajima
Google+APIをさわってみる。
Google+APIをさわってみる。
Hiroyuki Nozaki
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
Nobuhiro Nakajima
Dartでサーバレスサービス
Dartでサーバレスサービス
cch-robo
Azure ADとIdentity管理
Azure ADとIdentity管理
Naohiro Fujie
Scale Your Business without Servers
Scale Your Business without Servers
Keisuke Nishitani
gcp ja night #27 Google Cloud Endpoints with Golang
gcp ja night #27 Google Cloud Endpoints with Golang
啓介 大橋
appengine ja night #24 Google Cloud Endpoints and BigQuery
appengine ja night #24 Google Cloud Endpoints and BigQuery
Ryo Yamasaki
プロトコルから見るID連携
プロトコルから見るID連携
Naohiro Fujie
はじめてのAndroid
はじめてのAndroid
hiro nemu
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
Google Cloud Platform - Japan
20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用
tksyokoyama
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティ
yaegashi
Windows PhoneアプリをSNSとつなげよう
Windows PhoneアプリをSNSとつなげよう
junichi anno
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
decode2016
はじめてのAndroid in 高知
はじめてのAndroid in 高知
hiro nemu
Weitere ähnliche Inhalte
Andere mochten auch
IMoNi 2010.06.26
IMoNi 2010.06.26
Takashi EGAWA
Web制作者がandriodのcddを読んでみた
Web制作者がandriodのcddを読んでみた
Masakazu Muraoka
Mebic Creative Business Forum 2013
Mebic Creative Business Forum 2013
Takashi EGAWA
ECSU Student Housing - Ken Cooper AIA
ECSU Student Housing - Ken Cooper AIA
Ken Cooper AIA
Python hackathon 2010. 07. 10
Python hackathon 2010. 07. 10
Takashi EGAWA
Inside the Android AccountManager
Inside the Android AccountManager
Samael Wang
Andere mochten auch
(6)
IMoNi 2010.06.26
IMoNi 2010.06.26
Web制作者がandriodのcddを読んでみた
Web制作者がandriodのcddを読んでみた
Mebic Creative Business Forum 2013
Mebic Creative Business Forum 2013
ECSU Student Housing - Ken Cooper AIA
ECSU Student Housing - Ken Cooper AIA
Python hackathon 2010. 07. 10
Python hackathon 2010. 07. 10
Inside the Android AccountManager
Inside the Android AccountManager
Ähnlich wie GDG Shikoku 2013
Google+ API の紹介 - Google Social Developers 2011 Winter
Google+ API の紹介 - Google Social Developers 2011 Winter
Nobuhiro Nakajima
Google+APIをさわってみる。
Google+APIをさわってみる。
Hiroyuki Nozaki
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
Nobuhiro Nakajima
Dartでサーバレスサービス
Dartでサーバレスサービス
cch-robo
Azure ADとIdentity管理
Azure ADとIdentity管理
Naohiro Fujie
Scale Your Business without Servers
Scale Your Business without Servers
Keisuke Nishitani
gcp ja night #27 Google Cloud Endpoints with Golang
gcp ja night #27 Google Cloud Endpoints with Golang
啓介 大橋
appengine ja night #24 Google Cloud Endpoints and BigQuery
appengine ja night #24 Google Cloud Endpoints and BigQuery
Ryo Yamasaki
プロトコルから見るID連携
プロトコルから見るID連携
Naohiro Fujie
はじめてのAndroid
はじめてのAndroid
hiro nemu
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
Google Cloud Platform - Japan
20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用
tksyokoyama
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティ
yaegashi
Windows PhoneアプリをSNSとつなげよう
Windows PhoneアプリをSNSとつなげよう
junichi anno
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
decode2016
はじめてのAndroid in 高知
はじめてのAndroid in 高知
hiro nemu
つ部 Android Studio 勉強会 12/7
つ部 Android Studio 勉強会 12/7
Hikaru Wada
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティ
Kazushi Kamegawa
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
Soichiro Kashima
Thinking the best practice of WebAPI with Azure AD For Xamarin.Forms
Thinking the best practice of WebAPI with Azure AD For Xamarin.Forms
Satoru Fujimori
Ähnlich wie GDG Shikoku 2013
(20)
Google+ API の紹介 - Google Social Developers 2011 Winter
Google+ API の紹介 - Google Social Developers 2011 Winter
Google+APIをさわってみる。
Google+APIをさわってみる。
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
Dartでサーバレスサービス
Dartでサーバレスサービス
Azure ADとIdentity管理
Azure ADとIdentity管理
Scale Your Business without Servers
Scale Your Business without Servers
gcp ja night #27 Google Cloud Endpoints with Golang
gcp ja night #27 Google Cloud Endpoints with Golang
appengine ja night #24 Google Cloud Endpoints and BigQuery
appengine ja night #24 Google Cloud Endpoints and BigQuery
プロトコルから見るID連携
プロトコルから見るID連携
はじめてのAndroid
はじめてのAndroid
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
[Cloud OnAir] Apigee でかんたん API 管理 2019年12月12日 放送
20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティ
Windows PhoneアプリをSNSとつなげよう
Windows PhoneアプリをSNSとつなげよう
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
はじめてのAndroid in 高知
はじめてのAndroid in 高知
つ部 Android Studio 勉強会 12/7
つ部 Android Studio 勉強会 12/7
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティ
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
Thinking the best practice of WebAPI with Azure AD For Xamarin.Forms
Thinking the best practice of WebAPI with Azure AD For Xamarin.Forms
Kürzlich hochgeladen
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Kürzlich hochgeladen
(7)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
GDG Shikoku 2013
1.
GDG Shikoku #37
徳島テクニカルセッション GOOGLE PLAY SERVICES について Smartium株式会社 江川 崇
2.
江川 崇(EGAWA Takashi)
Smartium株式会社 (http://smartiums.com ) 代表取締役 Google Developers Expert (https://developers.google.com/experts/ ) (株)カトマック・情報技術開発(株)・(株)トップゲート 技術顧問 Androidプログラミング入門 改訂2版 IMoNi、L10N twitter:@t_egg Google+:t.egawa@gmail.com
3.
Google Android プログラミング入門改訂2版
江川崇、神原健一、山田暁通、 佐野徹郎、郷田まり子 共著 定価 :3,570円 (本体3,400円) 発売日:2012年8月31日 形態 :B5変 (448ページ) ISBN :978-4-04-886068-0 アスキー・メディアワークス 達人出版会からPDF版もあり サンプルを全て詰めたアプリアリマス https://play.google.com/store/apps/details?id=jp.asciimw.androidbook
4.
Remote TestKit
カトマックが提供するAndroid用リモートテスト環境 必要な端末を必要な時間だけ借りてリモートでテスト ADBが繋がる PCから画面の操作も可能 http://appkitbox.com/testkit
5.
Google Play Serviceについてお話しし ようかと思いましたが…
Google Play Services だけだとすぐ終わりそう Google Play Services はGoogle APIのプラット フォーム AndroidにおけるGoogle APIの活用全般のお話し します。
6.
GDG Shikoku #37
徳島テクニカルセッション GOOGLE API の活用 FOR ANDROID Smartium株式会社 江川 崇
7.
Agenda
GoogleアカウントとAndroid 互換/非互換 Android GoogleアカウントとAndroidデバイス プログラムからのGoogleアカウントの活用 OAuth Google Plugin for Eclipse Google Cloud Endpoints Androidクライアントでの利用 AccountManager Googl Playサービス
8.
GOOGLEアカウントと ANDROID
9.
Android 互換/非互換
世の中の全てのAndroidデバイスは、必ず以下の 2種類のいずれかに該当する。 Android互換(“Android compatible” である) Android非互換(“Android compatible” ではない)
10.
Android互換
Android Compatibility Programに従ったデバイス http://source.android.com/compatibility/index.html Compatibility Definition Document (CDD)に沿って開 発され、Compatibility Test Suite (CTS)を通過した端 末 Compatibility Definition Document (CDD):仕様 Compatibility Test Suite (CTS):テスト 日本で買えるほぼ全てのスマフォやタブレットは Android互換
11.
Android 非互換
Androidとして公式には認められないデバイス ※Compatibility Definition Document (CDD)に従っていな いデバイス Google系サービスアプリが利用できない 用途を限定したデバイスや安価なデバイスには増え つつある 例) ONKYO Internet Stick NT-A1 Covia FleadTab CTB-701 Kindle Fire HD
12.
Google アカウントとAndroidデバイス 多くのGoogleサービスを利用するために必要なID
Android互換デバイスは、必ずひとつ以上の Googleアカウントと紐づいていると見做してよい アカウントをアクティベートしないとGoogle Mapsも Google Playも Gmailも使えない Google Appsアカウント(独自ドメイン)も可能
13.
Googleアカウント
Googleアカウントを軸に様々なサービスを利用可能 Androidは、Googleアカウント を使って様々なサービスを利 用する入り口となる
14.
アカウントの管理 アカウントへのアクセスリクエスト アカウント認証情報はデバイスが持つ アプリ毎に認証情報を管理する必要が無い。 ユーザーも何度もIDとパスワードを入力する必要が無い。
アプリから認証済アカウントへのアクセスが容易。
15.
プログラムからの GOOGLEアカウントの活用
16.
Googleアカウントの利用
以前はClientLoginやAuthSubという仕組みを利用。た だし2012年の春にdeprecatedに。 参考) ClientLogin https://developers.google.com/accounts/docs/ AuthForInstalledApps AuthSub https://developers.google.com/accounts/docs/AuthSub 現在はOAuth 2.0を使うようアナウンス有り
17.
OAuthとは
WEBに公開しているデータやAPIに対するアクセ スの認可を目的として標準化された通信仕様 OAuth RFC5849 OAuth2.0 RFC6749 他のプログラムから利用者のGoogleアカウントに 紐づいているサービスやデータに対するアクセス を許したり拒否したりする仕組み
18.
OAuthの主な長所
クライアント(コンシューマ)側に認証情報を残さな い 全て許可/全て拒否ではなく、アクセス範囲(ス コープ)の単位で扱える 一度許可したものを後から取り消せる
19.
OAuth2.0/ OAuth1.0 OAuth2.0は、OAuth1.0の上位規格。
OAuth1.0は WEBサービスアプリを前提としていた シーケンスが複雑で、リクエストの署名やリクエストトーク ンが必須であるなど、使いにくい面があった。 特にJavaScriptなどのWEBアプリから OAuth2.0は、OAuth1.0の簡略化を目指したもの。 シーケンスを簡単に リクエストをHTTPSに限定することで、改ざんが無いことを担保す るため、署名やトークンが必須ではない デスクトップクライアントやJavaScriptからの利用も想定
20.
Google Plugin for
Eclipse Googleの各サービスのAPIや、開発環境を手軽に ダウンロード、セットアップできるEclipse Plugin 最近はADT(Android Development Tools) も含まれ ているので、Androidを使った開発や、Androidと他 のGoogle APIとを組み合わせた開発でも便利に 使える https://developers.google.com/eclipse/
21.
Googleライブラリのセットアップ
プロジェクトを右クリック ->Google->Add Google APIs…
22.
Googleライブラリのセットアップ
必要なライブラリを選択
23.
Googleライブラリのセットアップ
プロジェクトのビルドバスに追加される 依存関係のあるJARも含まれる
24.
APIs Consoleでの設定
自作のWEB APIか、既にあるAPIかにかかわらず、 OAuthを介してGoogleサービスを利用する場合、 プロジェクトを作成し、コンシューマ側にキーを発 行する必要がある。 ひとつのプロジェクトに対して20個のクライアント IDが発行できる。
25.
APIs Consoleでの設定 Google
APIs Console( https://code.google.com/ apis/console ) からプロジェクトを作成 メニューの「API Access」 ->「Create OAuth 2.0 Client ID…」を選択
26.
自作公開APIでの利用例 Google Cloud Endpoints
AppEngineをバックエンドとして使うクライアントアプリ ケーションの開発をより簡単にすることを目的として 開発されているAppEngineの新機能 Google Plugin for Eclipseで開発可能 参考)Google I/O 2012でのコードラボ http://tictactoe-codelab.appspot.com/ 現状はまだ限定公開 Trusted Testers ( https://endpoints-trusted- tester.appspot.com/ )に申請して利用する(ローカルサー バーで試すだけなら申請不要) 2012年末のAppEngineのアップデートで導入されるかも? と言う噂があったが、まだ正式公開されていない
27.
Cloud Endpoints の主な機能
サーバー側APIクラスやコンフィグの生成 クライアントAPIライブラリの自動生成 JavaScript、Objective-C, Java OAuthによるAPI認証の標準サポート
28.
Cloud EndpointsでのAPI定義 (Java)
公開したいクラスやメソッドにアノテーションを宣言 @Api(name = "tictactoe") public class BoardEndpoint { @ApiMethod(name = "board.getmove", httpMethod = "POST") public Board getmove(Board board) { ・・・ } ・・・
29.
Cloud EndpointsでのAPI定義 (Java)
通常は認証無しで呼べるが、OAuthをサポートす る際もアノテーションで対応 @Api( name = "tictactoe", clientIds = {"xxxxx.apps.googleusercontent.com", "AndroidのClient ID"}, audiences = {”your_appid.appspot.com"} ) ・・・
30.
公開APIの確認
AppEngineにデプロイしたAPIは、API Explorerで確 認できる URL) https://developers.google.com/apis-explorer/? base=https://your_appid.appspot.com/_ah/api
31.
公開APIの確認
公開API群の一覧
32.
公開APIの確認
APIが提供するエンドポイントの一覧
33.
公開APIの確認
パラメータを指定してAPIの実行テスト
34.
ANDROIDクライアントでの 利用
35.
Androidクライアントからの利用例
AccountManagerからAuthトークンを取得 AccountManager am = AccountManager.get(this); Bundle options = new Bundle(); am.getAuthToken(myAccount_, mScope, options, this, new OnTokenAcquired(), new Handler(new OnError()));
36.
Androidクライアントからの利用例
Authトークンが得られなかった時は認可画面へ private class OnTokenAcquired implements AccountManagerCallback<Bundle> { @Override public void run(AccountManagerFuture<Bundle> result) { ... Intent launch = (Intent) result.get(AccountManager.KEY_INTENT); if (launch != null) { startActivityForResult(launch, 0); return; } } }
37.
Androidクライアントからの利用例
リクエスト時はAuthトークンの他にクライアントID等 も渡す URL url = new URL("https://www.googleapis.com/・・・"); URLConnection conn = (HttpURLConnection) url.openConnection(); conn.addRequestProperty("client_id", your client id); conn.addRequestProperty("client_secret", your client secret); conn.setRequestProperty(“Authorization”, your auth token);
38.
Google Playサービス
AndroidアプリとGoogleの各種サービスとの連携を さらに容易に行えるように拡張されたコンポーネント 現状は、従来のアプリからのGoogleアカウント認証機能 に加え、OAuth 2.0 を用いて、Google +サービスへの認 可を行えるように拡張されたもの
39.
Google Playサービス
各アプリケーションからライブラリを利用してGoogle Playサービスアプリと連携する Android Maps v.2もGoogle Playサービ ス前提なので、今後はこの形態で提供 されるAPIが増えそう。
40.
Google Playサービスが入っているデ
バイス Google Playサービスアプリは、2.2以上のデバイスが対象 Google Playアプリの最新版と同時にデバイスにインストー ルされる 2.2以上のAndroid互換デバイスであれば、ほぼ例外無く 使えると考えておいてよさそう 「Google Playサービス」というアプリが入っているかどうか で判断
41.
Google Playサービスの使い方 現時点ではAndroid SDK
Managerで、extras/Google Play services をインストールすると、 「[Android SDK]/extras/google/google_play_services」 の下に、ライブラリプロジェクトやサンプルプロジェクトがダ ウンロードされる このライブラリプロジェクトをEclipseにインポートし、アプリ のプロジェクトから参照する形で利用する
42.
コード例
String authToken = null; try { authToken = GoogleAuthUtil.getToken(mActivity, t.egawa@gmail.com, “oauth2:https://www.googleapis.com/auth/ userinfo.profile”); } catch (GooglePlayServicesAvailabilityException playException) { // Google Play Servicesが使えないデバイスの場合 } catch (UserRecoverableAuthException userRecoverableException) { // トークンが得られなかった場合 // 認可画面へ遷移する mActivity.startActivityForResult(userRecoverableException.getInten t(), 1); } catch (GoogleAuthException fatalException) { // その他の例外 } ・・・
43.
認可画面の例 認可によってアクセス可能なスコープの例 自カウントに対するGoogle
+APIによるア クセス oauth2:https://www.googleapis.com/auth/ plus.me
44.
まとめ Googleは、様々なサービスを提供しており、それ
らをGoogleアカウント経由で利用できる Google APIは、OAuth2を使って認証・認可する。 独自のGoogle APIを作成する為の手段として、 Google Cloud Endpointsなどが出てきている。 様々なGoogleサービスと連携するための土台とし て、Google Playサービスの導入、提供が開始さ れており、今後はGoogle PlayサービスによるAPI の提供が標準的な形態になると思われる
45.
ご清聴ありがとうございました
EGAWA Takashi
Jetzt herunterladen