Сделал игру Clay Bee

Было у меня большое желание поразбираться с Unity 3D и был у меня сеттинг от живых обоев.

В результате родилась вот такая вот игра:

Под капотом:

  • Unity 5.0.1.;
  • C#;
  • Google Play Games;
  • Unity Analytics;

Скачать можно с:

Google Play и AppStore

Не все пользователи знают, как добавлять виджеты в Android

Именно к такому выводу я пришел.

Лично я столкнулся с этой проблемой сначала на виджетах «KM Пластилиновые виджеты«, когда начал получать письма и плохие рейтинги с общей для всех фразой: «Не могу их установить».

Недавно проблема проявилась в виджетах КМ Рождественские виджеты, которые сильно просели в рейтинге и причина была аналогичная — пользователи не знают как добавить виджеты.

Конечно, многие пользователи умеют пользоваться виджетами в Android,  но и достаточно небольшое количество юзеров могут изрядно подпортить рейтинг Вашему приложению.

Выход из ситуации

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

Как добавить виджеты в Android

Сразу хочу заметить, что решения типа сделать скриншоты не позволят Вам из-за фрагментации лаунчеров абсолютно для всех объяснить  как добавлять виджеты.

В коде манифеста можно добавить активность следующим образом:
<activity <android:name="com.mikhaylov.kolesov.plasticinechristmaswidgets.KMLauncherActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.INFO" />
</intent-filter>
</activity>

В этом случае пользователь после загрузки в Google Play видит не кнопку «Удалить», а кнопку «Открыть». По данной кнопке открывается созданная активность. Дополнительно создается ярлык на рабочем столе, что позволяет пользователю найти и его и не считать, что виджет не установлен, а по клику он поймет, что эта операция отличается от обычных приложений.

Эффект новости от Минздрава

Уделил немного времени прошедшей новости о приложении минздрава и ее эффекту.

Напомню, что совсем недавно (20 октября) по новостным лентам «пробежалась» новость о намерении Минздрава РФ создать мобильное приложение «Здесь не курят». (Ссылка на сайт RT) Ничего особенного, кроме того, что у меня есть приложение на ту же тематику «КМ Гид: Антитабачный закон«.

Очень примечательно было наблюдать рост загрузок моего  приложения на этом новостном фоне. С учетом того, что я свое приложение ни как не раскручивал (загрузок в день было очень мало) и загрузки в основном шли из органического трафика, эффект от новости о приложении «Здесь не курят» очень четко прослеживается на графике ниже.

На графике хорошо виден эффект.

Антитабачный закон

 

Количество загрузок относительно обычного количества загрузок в день увеличилось в 12 раз.  Вот такой вот эффект был на моем приложении.

КМ Гид: Антитабачный закон

КМ Гид: Антитабачный закон

Хотел для себя разобраться с новыми положениями антитабачного закона, вступившими в силу с 1 июля 2014г.

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

Также приложение показывает и оригинальный текст закона, чтобы обосновано требовать соблюдения Ваших прав.

Фозможности:

  1. Карта мест для курения, мест где курить нельзя, нарушений;
  2. Возможность добавить на карту информацию о месте для курения, о месте, где курить нельзя и о нарушении;
  3. Возможность поделиться с друзьями в соц. сети о нарушениях, местах для курения, или местах свободных от курения;
  4. Понятная навигация по антитабачному закону;
  5. Текст антитабачного закона;
  6. PUSH-уведомления об обновления закона или приложения;

Технологии:

  1. Server-side — Parse.com;
  2. Push  — Parse.com;
  3. Android —  приложение;
  4. Аналитика приложения — Parse.com;
  5. Facebook SDK, VK.COM SDK;
  6. Google Maps API;
  7. Foursquare API;

 

 

 

Get it on Google Play

Фрагментация Android на примере фрагментного шейдера.

Меня уже не удивляют различные варианты обработки различных визуальных эффектов устройствами на Android. В последний раз я столкнулся вот с таким примером, при работе над очередными живыми обоями.

Я использую фрагментный шейдер, чтобы сделать ночь в обоях. Для этого я умножаю текстуру на вектор 0.5 0.5 0.5 , что позволяет затемнить всю сцену. Обычно, и это корректно, я использую такой фрагментный шейдер:

precision mediump float;
uniform sampler2D u_texture;
varying vec3 v_vertex;
varying vec2 v_texcoord;
varying vec2 v_texcoordAlpha;
void main() {
 vec4 one=texture2D(u_texture, v_texcoord);
 vec4 two=vec4(0.5, 0.5, 0.5, 1.0);
 one.a=texture2D(u_texture, v_texcoordAlpha).r;
 gl_FragColor = one * two;
}

В данном коде, по мимио обработки текстуры в атласе, отвечающей за альфа канал, я произвожу умножение на вектор

vec4 two=vec4(0.5, 0.5, 0.5, 1.0);

Данный код работает на всех устройствах корректно.

Если переписать шейдер :

precision mediump float;
uniform sampler2D u_texture;
varying vec3 v_vertex;
varying vec2 v_texcoord;
varying vec2 v_texcoordAlpha;
void main() {
 vec4 one=texture2D(u_texture, v_texcoord);
 one.a=texture2D(u_texture, v_texcoordAlpha).r;
 one.r=one.r * 0.5;
 one.g=one.g * 0.5;
 one.b=one.b * 0.5;
 gl_FragColor = one;
}

По сути, работая с каждой компонентой R, G  или B в отдельности

one.r=one.r * 0.5;
one.g=one.g * 0.5;
one.b=one.b * 0.5;

мы получаем рабочую сцену на Google Nexus 5 и абсолютно нерабочую сцену на других устройствах типа Samsung Galaxy S3 или Galaxy Tab.