Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Мобильное приложение: персонализация

Всем привет!

Сегодня мы отгрузили в Google Play мобильное приложение для разработчиков версии 1.5.2.
Приложение для iPhone/iPad будет выпущено чуть позже.
Что нового в этой версии:
     - Модификация ресурсов приложения - панельки, кнопки, задний фон
     - Исправлены ошибки
     - Увеличена стабильность приложение
     - Исправлена ошибка с загрузкой документов

Самое главное изменение - персонализация ресурсов.

Сейчас приложение для разработчиков использует стандартные панели красного цвета, стандартные размеры и цвета.

screenshot_2013_06_26_14_04_32.png


Теперь разработчик мобильного приложения может поменять дизайн нативных элементов элементов. Сделать это можно с помощью config.php

config.php

Как вы помните данные файл является своего рода навигацией для приложения. Именно этот файл запрашивается при подключении приложения к сайту.
Теперь конфигурация должна содержать дополнительный ключ "settings" - путь к файлу настроек от корня сайта, и ключь "hash" - признак модификации конфигурации.

<?
header("Content-Type: application/x-javascript");
$hash = "bx_random_hash";
$config = array("appmap" =>
         array("main"=>"/myfirst_app/",
            "left"=>"/myfirst_app/left.php",
            "settings" => "/myfirst_app/settings.php",
            "hash" =>substr($hash, rand(1, strlen($hash)))
      )
);
echo json_encode($config);
?>
 
В данном пример путь к файлу конфигурации /myfirst_app/settings.php, а хэш - рандомная строка. Принцип такой:
- Приложение запрашивает config.php
- Если есть ключ settings и hash, то запрашивается файл, который указан в качестве значения ключа settings
- Если ключ hash не изменялся с момента последнего запроса файла конфигурации ресурсов, то файл НЕ будет запрошен повторно.

Что представляет из себя файл схемы ресурсов:

<?
header("Content-Type: application/x-javascript");

$settings = array(
   "buttons" =>
   array(
      "stretchable" => array(
         "flag" => "YES",
         "main_position_horizontal" => "0.0",//точка по горизонтали для растягивания кнопки
         "main_position_vertical" => "0.0",//точка по вертикали для растягивания кнопки
         "back_text_position_horizontal" => "5.0",//точка по горизонтали для растягивания кнопки (ios)
         "back_text_position_vertical" => "0.0"//точка по вертикали для растягивания кнопки(ios)
      ),
      "default_back_button" => "back_text",
       "button_height" => "35.0", //ширина кнопки
       "button_width" => "100.0", //высота кнопки
      "main_background_image" => "/myfirst_app/img/button.png", //растягиваемый фон кнопки
      "back_text_background_image" => "/myfirst_app/img/button.png", //растягиваемый фон кнопки назад
      "type" => array( 
         "flag" => "/myfirst_app/img/menu_icon_finish.png",//своя иконка флажка для кнопки
         "green_cross" => "/myfirst_app/img/green_cross.png",//какая-то другая иконка
      )
   ),
   "controller_settings" => array("main_background" => array(
      "image" => "/myfirst_app/img/back.png", //основной фон приложения
      "color" => "#AFFBB3"// цвет фона, имеет приоритет перед image
   ),
      "loading_background" => array(
         "image" => "/myfirst_app/img/back1.png", //фон экрана загрузки
         "color" => "#F0F0F0"//цвет экрана загрузки, имеет приоритет перед image
      ),
      "navigation_bar_image" => "/myfirst_app/img/panel2.png", //фон навигационной панели 
      "navigation_bar_image_large" => "/myfirst_app/img/panel2.png", //фон навигационной панели для планшетов
      "toolbar_bar_image" => "/myfirst_app/img/panel.png", //фон тулбара ios
      "toolbar_bar_image_large" => "/myfirst_app/img/panel.png", //фон тулбара для планшетов ios
   ),
   "table" => array(
      "background_cell_image" => "/myfirst_app/img/a_panel.png", //фон ячейки списка
      "row_height" => "150.0",//высота ячейки 
      "row_height_large" => "63.0"//высота ячейки планшетная

   ),
   "pull_down" => array(
      "icon" => "/myfirst_app/img/down_arrow.png",//стрелочка для пулдауна
      "text_color" => "#A3F2CE",//цвет текста пулдауна
   )
);
echo json_encode($settings);
?>
 



Если вы все сделали правильно, то после введения пути к приложению и нажатия кнопки "войти" вы увидите "бегающие процентики" - приложения распознает конфиг и качает указанные файлы:

screenshot_2013_06_26_14_05_10.png

Далее вы можете увидеть подобную картину:


blog_mod.png

blog_mod_table.png

После экспериментов, после того как вы определились со своим дизайном создайте заявку на сборку с указанием домена, не меняя конфигурацию - именно её мы будем брать при сборке приложения. В дальнейшем предусмотрим затягивание ресурсов уже готовыми приложениями.
Таким образом можно будет менять нативный дизайн без пересборки.
Пример моего бэкенда - myfirst_app

 

 

Источник: http://dev.1c-bitrix.ru/community/blogs/carter/bitrix-mobile-config.php

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA