App. Bar, Lauchers & Choosers Иван Андреев
Application bar ▪ Специальный элемент Windows Phone/Windows
App bar <phone: Phone. Application. Page. Application. Bar> <shell: Application. Bar Mode="Default" Opacity="1. 0" Is. Menu. Enabled="True" Is. Visible="True"> <shell: Application. Bar. Icon. Button Click="Save_Click" Icon. Uri="/Images/save. png" Text="save" /> <shell: Application. Bar. Icon. Button Click="Settings_Click" Icon. Uri="/Images/settings. png" Text="settings" /> <shell: Application. Bar. Menu. Items> <shell: Application. Bar. Menu. Item Click="Menu. Item 1_Click" Text="menu item 1" /> <shell: Application. Bar. Menu. Item Click="Menu. Item 2_Click" Text="menu item 2" /> </shell: Application. Bar. Menu. Items> </shell: Application. Bar> </phone: Phone. Application. Page. Application. Bar>
Задачи «Запуска» ▪ Email. Compose. Task – позволяет отправить e-mail. На телефоне должен быть настроен аккаунт электронной почты. ▪ Media. Player. Launcher – запускает встроенный в Windows Phone плеер и проигрывает заданный файл. ▪ Phone. Call. Task – Запускает встроенный диалог операционной системы для осуществления звонка. Есть возможность задать номер и отображаемое имя абонента. Звонок не осуществляется, пока пользователь не нажмёт кнопку «позвонить» . ▪ Search. Task – используется для запуска поиска в Bing из Вашего приложения. ▪ Sms. Compose. Task – запускает приложение для отправки сообщений. Можно определить получателя и тело сообщения, но пользователь должен сам нажать кнопку «Отправить» .
Задачи «Запуска» ▪ Web. Browser. Task – запускает браузер и переходит на заданный адрес. ▪ Marketplace. Hub. Task – запускает Windows Phone Marketplace. Можно определить категорию приложений, которая будет отображаться. ▪ Marketplace. Detail. Task – запускает Windows Phone Marketplace и отображает данные о заданном продукте. ▪ Marketplace. Review. Task – запускает Windows Phone Marketplace и отображает данные о текущем приложении. ▪ Marketplace. Search. Task – запускает Windows Phone Marketplace на странице поиска. Можно определить поисковый запрос.
Задачи «Запуска» //Пример использования задачи SMSCompose. Task: Sms. Compose. Task sct = new Sms. Compose. Task(); sct. To = "+79261234567"; sct. Body = "СМС от Windows Phone 7. "; sct. Show(); //Пример использования Phone. Call. Task: Phone. Call. Task pct = new Phone. Call. Task(); pct. Display. Name = "Компания Рога и Копыта"; pct. Phone. Number = "+74951234567"; pct. Show();
Задачи «Выбора» ▪ Camera. Capture. Task – открывает системный диалог работы с камерой и возвращает Вашему приложению картинку, снятую пользователем. ▪ Email. Address. Chooser. Task – позволяет пользователю выбрать e-mail адрес из адресной книги для использования в Вашем приложении. ▪ Phone. Number. Chooser. Task – позволяет пользователю выбрать телефонный номер из адресной книги для использования в Вашем приложении. ▪ Photo. Chooser. Task – позволяет пользователям выбрать фотографию для использования в Вашем приложении.
Задачи «Выбора» Camera. Capture. Task cct = new Camera. Capture. Task(); cct. Completed += new Event. Handler<Photo. Result>(cct_Completed); cct. Show(); //Код обработчика события завершения: void cct_Completed(object sender, Photo. Result e) { if (e. Task. Result == Task. Result. OK) { Bitmap. Image bmp = new Bitmap. Image(); bmp. Set. Source(e. Chosen. Photo); image 1. Source = bmp; } }
Требования к приложениям ▪ App policies ▪ Content policies ▪ App submission requirements ▪ Technical requirements
App policies ▪ IAP ▪ Можно продавать только сервисы ▪ Нельзя валюту; материальные товары; журналы (США); минуты Vo. IP (Австралия, Бразилия, Турция, США) ▪ Можно использовать сторонние и внутренние механизмы ▪ Нельзя заставлять пользователя вводить платежные данные в приложении (только по HTTPS снаружи приложения) ▪ И т. д. ▪ Location Service API ▪ Должна быть privacy policy в приложении ▪ Возможность отключить ▪ И т. д.
Content policies ▪ Content Including Names, Logos, Original and Third Party ▪ Harm to Others ▪ Adult Related Content ▪ Violence ▪ И т. д. ▪ Country/Region Specific Requirements
App submission requirements ▪ The maximum size of the XAP package file is 1 GB. ▪ The app must be compiled using retail configuration instead of debug. The app must not contain debugging symbols or output. ▪ An app must be localized in at least one of the supported display languages for Windows Phone. ▪ For each app, you must provide at least one or up to a maximum of eight screenshots for each supported screen resolution. ▪ Screenshots must only contain app graphics, and must not include any emulator chrome, frame rate counters or debug information. ▪ You may not graphically enhance your screenshots, except for the addition of informative overlays designated and preapproved by Microsoft. For more information about these overlays, see this blog post. ▪ Each screenshot must match the supported resolution size. For more information, see Multi-resolution apps for Windows Phone 8. Each size is listed in the Supported Resolutions table, in the Resolution column. ▪ Screenshots must not be transparent PNG files. ▪ You must not submit screenshots that are photos of the app while it runs on a phone or on the emulator. Use the built-in emulator screenshot tool to take the screenshots for your app instead.
Technical requirements ▪ The app must handle exceptions raised by the any of the managed or native System API and not close unexpectedly. ▪ If an app performs an operation that causes the device to appear to be unresponsive for more than three seconds, such as downloading data over a network connection or transitioning between a screen or page, the app must display a visual progress or busy indicator. ▪ The app must be testable when it is submitted to Windows Phone Store. If it is not possible to test your app for any reason, including, but not limited to, the items below, your app may fail this requirement. ▪ The app must render the first screen within 5 seconds after launch. ▪ The app may provide a splash screen image in a file called Splash. Screen. Image. jpg in the root of the XAP package while the app is still trying to load. ▪ Within 20 seconds after launch, the app must be responsive to user input.
Technical requirementsю Back ▪ To maintain a consistent user experience, the Back button must only be used for backwards navigation in the app. The following four requirements relate to use of the Back button. ▪ Pressing the Back button must return the app to the previous page or return to any previous page within the back stack. ▪ Pressing the Back button from the first screen of an app must close the app. ▪ If the current page displays a context menu or a dialog, the pressing of the Back button must close the menu or dialog and return the user to the screen where the context menu or dialog box was opened. ▪ For games, when the Back button is pressed during gameplay, the game can choose to present a pause context menu or dialog or navigate the user to the prior menu screen. Pressing the Back button again while in a paused context menu or dialog closes the menu or dialog.
Technical requirements ▪ An app must not exceed 90 MB of RAM usage, except on devices that have more than 256 MB of memory. ▪ The app must not delay or prevent the user from initiating a phone call, answering an incoming phone call, or ending a phone call. ▪ The app must not delay or prevent the user from sending or receiving SMS or MMS messages. ▪ The app must not stop responding or close unexpectedly when there is an incoming phone call, SMS message, or MMS message.