Upload
makoto-nishimura
View
2.512
Download
1
Embed Size (px)
Citation preview
UWP ストア攻略Comm Tech Festival 2015.09.26
古代魚庵西村 誠
本セッションの目的• UWP の基礎を知る(一発目なので必要ならば)• UWP を作る様々な方法を紹介する• UWP のストアについて知る
お品書き• 自己紹介• UWP とは?• UWP へのブリッジ• UWP のストア
自己紹介• 西村 誠• フリーランスのプログラマー兼ライター• Microsoft MVP - Windows Platform Development ( 10 月更新できないと MVP として最後のセッション?) • EC-CUBE 公式エヴァンジェリスト
自己紹介• Twitter : coelacanth
• Facebook: 西村 誠• ブログ「眠るシーラカンスと水底のプログラマー」
自己紹介• 8 月 26 日に「基礎から学ぶ C# 」発売しました• 価格 2000 円• ページ数 160 ページぐらい
自己紹介• [ 広告 ] CodeZine 「 Windows 10 で始める IoT 入門」
UWP とは?
UWP とは?• Universal Windows Platform の略• Windows 10 OS が搭載された様々な環境で動くアプリ( UWP アプリ)を作成できるプラットフォーム
UWP とは?
様々なファミリー• Desktop• IoT• Mobile• Xbox• HoloLends• Surface Hub
Windows 10 Desktop• 全画面じゃなくなったストアアプリ• Cortana
• XAML パフォーマンス向上• ストアから利用できる現状唯一のプラットフォーム
Windows 10 IoT• ラズパイなどで動かせる IoT 用の Windows 10
• 正式版でましたね
Windows 10 Mobile• Windows Phone 用の Windows 10
• Insider Preview
Windows 10 その他• Xbox
• Hololends
• Surface
https://doc.co/nzBEox
UWP に至るまで
• Visual Studio で作成するプロジェクトは一つ• バイナリは CPU アーキテクト毎に
One プロジェクト One バイナリ
UWP プロジェクト
x64
x86
ARM
・発展形という認識でよいと思う・コードも大部分が共有可能・追加、変更点も多いが、 WinRT の資産は活かせる
ストアアプリの WinRT との違い
WinRT
WinRT
Windows 10 Desktop
Windows 10 Desktop
Windows 10 DesktopBridging?
で UWP にする?• 適材適所で• Windows 10 普及してね
UWP のいいところ• ストアがあるので不特定多数への配布が楽• Windows 10 が動く端末ならマルチに展開できる• タッチ向きの画面が作りやすい• ライバルが少ない• ストアアプリに比べてできることが増えた
UWP が苦手なことろ• 複雑なフォーム• 古い OS だと動かない• サンドボックスがある• 社内配布など限定公開が面倒
今回は開発の話はしないけど• Windows Phone 、ストアアプリの知識+ α で OK !!• いろいろなデバイスを買う口実にぜひ!!
Windows ブリッジとは?
Windows ブリッジ• 様々なプラットフォームのアプリを UWP アプリに変換する技術• プロジェクトを変換するものや、生成されたバイナリを変換するものなど様々• 現在プレビュー状態のものが多い• UWP (旧ストア)アプリが少ない? なら iOS アプリや Androidアプリを変換できるようにすればいいんじゃね!!(この発想好き)
何か→ UWP アプリ• iOS を UWP → Bridge for iOS
• Android を → Bridge for Android
• Web を → Bridge for Web
• Classic Windows アプリを → Project Centennial
• WP Silverlight を → Mobilize.NET’s Silverlight bridge
何か→ UWP アプリ• iOS を UWP → Bridge for iOS (プレビュー)• Android を → Bridge for Android (プレビュー)• Web を → Bridge for Web (リリース)• Classic Windows アプリを → Project Centennial (プレビュー)• WP Silverlight を → Mobilize.NET’s Silverlight bridge (プレビュー)
Bridge for iOS• GitHub でソース公開(申請なしで誰でも試せる)• Xcode プロジェクトを Visual Studio で編集可能に• Storyboard に対応していないなど、開発中の機能あり
Microsoft/WinObjChttps://github.com/Microsoft/WinObjC
Bridge for iOS• 変換は GitHub からダウンロードしたファイルの中のvsimporter.exeで行う
最後に時間があればデモします
Bridge for Android• 試してみたい場合は申請が必要• プロジェクトを変換するのではなく、バイナリを変換して転送( UWP とはいえ Mobile のみ?)
https://dev.windows.com/ja-jp/uwp-bridges/android
Bridge for Android
https://dev.windows.com/ja-jp/uwp-bridges/android今は日本語サイトは 404 ・・・英語サイトなら申請可能
Bridge for Web• Web サイトを UWP に•仕組み上インターネット接続が必要• IoT などブラウザがない環境などで使えるかな?
Project Centennial• 申請が必要• デスクトップアプリを UWP に• 変換する対象がないので未検証(だれかレポートお願い)
Mobilize.NET’s Silverlight bridge• 申請が必要• 試しにやってみた・・・
Mobilize.NET’s Silverlight bridge• 申請が必要• 試しにやってみた・・・
おっ、おう・・・(手作業移植とどっこい?)
ブリッジまとめ• 様々なデバイスに展開できる UWP 、様々なアプリを UWP化できるブリッジと UWP のパスがどんどん増える• Xamarin で iOS アプリを作ってそれを Bridge for iOS で UWP にすれば!!• これから完成度を高めることで、どれだけ容易に移植できるか楽しみなブリッジでした
UWP のストア
Mobile とデスクトップのストアが統合•従来のストアアプリと Phone のストアが統合• UWP のパッケージは CPU タイプ別に管理
Mobile とデスクトップのストアが統合• UWP 、 WP8 、ストアアプリを同一アプリとして登録可能
ストアからいろいろな情報が見れる•ダウンロード数•安定性•評価(見たくない・・・)、レビュー• アプリの詳細情報などなど
広告を表示する• AdControll
• AdMediator (New)
AdMediator• (引用 )Microsoft では、 1 つまたは複数の広告ネットワークからの広告要求を仲介してアプリ内広告の収益を最大限に増やすことができるように、広告の仲介をサポートしています。• AdControll がサポートしていた Microsoft Advertising以外も色々表示してくれる模様
AdMediator
ユニバーサル Windows プラットフォーム (UWP) Windows 8.1 XAML Windows Phone 8.1
XAMLWindows Phone 8.1 Silverlight
Windows Phone 8 Silverlight
Microsoft Advertising
Ad Mediator 拡張機能の将来の更新では、 UWP アプリのサポートが予定されています。
サポートされています サポートされています サポートされています サポートされています
AdDuplex サポートされています サポートされています サポートされています サポートされています
Smaato サポートされています サポートされています サポートされています サポートされています
AdMob (Google) サポートされていません サポートされていません サポートされています サポートされています
MobFox サポートされていません サポートされていません サポートされています サポートされています
InMobi サポートされていません サポートされていません サポートされています サポートされています
Inneractive サポートされていません サポートされていません サポートされています サポートされています
•既に UWP も対応しているので最新じゃないけどこんな感じ
AdMediator• Microsoft Advertising SDK
http://adsinapps.microsoft.com/en-us/
AdMediator2• Download Windows ad mediation
https://visualstudiogallery.msdn.microsoft.com/401703a0-263e-4949-8f0f-738305d6ef4b
AdMediator3• 一緒に AdControll もインストールされる
( Visual Studio のツールボックス)
AdMediator3• XAML コードはこんな感じ<Universal:AdMediatorControl x:Name="AdMediator_XXXXXX“ Id="AdMediator-Id-XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX" />
AdMediator4• デバッグするとテスト用の広告が表示される
AdMediator5• 接続済みサービスの追加
AdMediator6• 接続済みサービスの追加
AdMediator7• UWP は今のところ MS Advertising のみ
AdMediator8• Windows Phone 8.1 は AdDuplex と Smaato も
AdMediator9•詳しくは(リンク)広告の仲介を使って広告収入を最大限に高める方法https://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/dn864359.aspx
アプリ内課金• 基本はストアアプリ (Win8,8.1) の頃と同じ• ( 開発 )info = CurrentAppSimulator.LicenseInformation;
• ( 本番 )info = CurrentApp.LicenseInformation;
アプリ内課金 2• アプリ内課金アイテムが購入済みか?
if (!info.ProductLicenses["featureName"].IsActive){
アプリ内課金 3•購入画面を出すawait CurrentApp.RequestProductPurchaseAsync("featureName", false);
開発時は右のような結果をシミュレートするダイアログが表示される
アプリ内課金 4• 本番はデベロッパーセンターのダッシュボードで課金アイテムを登録する
アプリ内課金 5• アプリ内製品購入の有効化https://msdn.microsoft.com/library/windows/apps/mt219684.aspx
• CurrentAppSimulatorhttps://msdn.microsoft.com/ja-jp/library/windows/apps/windows.applicationmodel.store.currentappsimulator.aspx
• Trial app and in-app purchase samplehttps://code.msdn.microsoft.com/windowsapps/Licensing-API-Sample-19712f1a/
試用期間• 試用期間も考え方はアプリ内課金と同じinfo = CurrentAppSimulator.LicenseInformation;
// 期限を取得var date = lnfo.ExpirationDate;
アプリを宣伝する• 自身のアプリを広告として表示できる
ストアまとめ• いろいろな広告が表示できる(ようになる・・・)• アプリ内課金も OK
• 試用版も用意できる• 自分のアプリを宣伝もできる
DEMO
DEMO• Bridge for iOS のデモ• Bridge for iOS のサンプルを触ってみる• WP Silverlight→UWP
• Bridge for Web
御静聴ありがとうございました