Pull to refresh
20
0
Дмитрий@Ference

UI Designer / Mobile Technology Evangelist

Send message
Science is not about «why», it's about «why not?»
— Cave Johnson. Portal 2
Умеет определять. Ночной режим отключается автоматом через 250 шагов. Ночной режим утром можно принудительно проставить в истории (умный будильник при этом все равно сработает, причем с учетом фаз сна)
К тому же в официальном посте пейпела данную «ошибку» исправлять не спешат. очень странно как-то
забыл добавить, что в xml-карте постим урлы без /#/, чтобы параметры передались на сервер, а не зависли в адрес-хеше на стороне браузера… если постучавшийся по урлу не бот, а простой юзер, то его редиректят на аналогичый адрес но уже с /#/

пример такого редиректа есть у твиттера. в гугле все заиндексировано ссылками вида twitter.com/lol при попытке зайти с браузера нас редиректят на twitter.com/#!/lol где нас радостно встречает их новый JS интерфейс
XML карты сайта отменили?

— ввести урлы вида domain.com/#/some/path/here для возможности доступа к любому контенту по прямым ссылкам (JS читает хеш (то что после #) и выполяет необходимые действия)
— на стороне сервера стоит проверка на user-agent. если к нам стучится бот, то вместо JS интерфейса выдаем статический html контент для индексации
— создаем динамическую XML карту для наших урлов
— ???????
— PROFIT!

юзер ckald ниже привел вроде как даже ссылку на либу готовую… но я ее не смотрел, да и руками такое закодить не составляет труда
живу в курске. карты гугла нет вообще.
Карта яндекса неизвестно каких годов. нет целых проспектов и микрорайонов. (Победа, Клыкова итд)

OpenStreetMap более менее актуален
Новостей никаких. Ответа на письма нет. На заполненную форму, на которую они обязуются ответить в течение 48 часов ответа тоже нет до сих пор. Дозвониться невозможно.

В процессе выяснил несколько забавных фактов
— Мы далеко не первое приложение, которое удаляют без предупреждений
— В дев центре телефон всегда на автоответчике
— Есть другие приложения, которые явно нарушают правила (постинг на стену без предупреждения, рассылка емейлов на собранные ящики под видом newsletter итд) и которые никогда даже не блокировались (тот же badoo например)

В итоге совершенно непонятен принцип по которому происходит отключение приложений.
На попытки восстановить мы забили и запускаем новую версию на новом домене от имени другой компании. Надеюсь новое приложение проживет дольше, чем 5 месяцев
кстати да, но решается заменой explode('.',$key); на explode('.',$key,2);
изначальная задумка, думалось что будет несколько аргументов… но в итоге получилось два
включая тестирование. если не верите что работает проверьте ;)
и пусть вас не смущает что в описании функции нету параметров.
$arrays = func_get_args();

эта строка используется для взятия аргументов функции. таким образом можно писать функции с произвольным числом аргументов. данная функция тому пример
эмм)) не слишко ли много буков для такого тривиального решения? одна рекурсивная функция всегто
Потратил минут 12 на написание.

<?php

function array_merge_recursive_distinct () {
  $arrays = func_get_args();
  $base = array_shift($arrays);
  if(!is_array($base)) $base = empty($base) ? array() : array($base);
  foreach($arrays as $append) {
    if(!is_array($append)) $append = array($append);
    foreach($append as $key => $value) {
      if(!array_key_exists($key, $base) and !is_numeric($key)) {
        $base[$key] = $append[$key];
        continue;
      }
      if(is_array($value) or is_array($base[$key])) {
        $base[$key] = array_merge_recursive_distinct($base[$key], $append[$key]);
      } else if(is_numeric($key)) {
        if(!in_array($value, $base)) $base[] = $value;
      } else {
        $base[$key] = $value;
      }
    }
  }
  return $base;
}

function read_conf($path) {
	$output=array();
	$file=fopen($path,'r');
	while($row=fgets($file)) {
		list($key,$value)=explode('=',$row);
		$path=explode('.',$key);
		$path=array_reverse($path); $tmp=$value;
		foreach ($path as $v) {
			$tmp=array($v=>$tmp);
		}
		$output=array_merge_recursive_distinct($output,$tmp);
	}
	fclose($file);
	return $output;
}


$res = read_conf("conf.cnf");
var_dump($res);
?>
Форма мыла заполнена сразу же. Ответа до сих пор нет
Такое в теории невозможно. Использовались только oAuth и заливка фотографий в альбом. Максимум что у нас было — это список емейлов и id пользователей. никакой другой информации критичной для безопасности, ведь это oAuth.
А менять пароли они заставляют всегда, когда приложение удаляют. Независимо от причин.
Да. Перефразирую по русски.
После обновления юзерпиков на стену пользователя (если быть точным, в ленту. как следствие на стену) отправлялось сообщение «Я обновил свой профиль такой то прогой, зайди ко мне посмотри».

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

В итоге на последнем шаге перед заливкой мы добавили в форму чекбокс «отправить уведомление в мою ленту» и поясняющую подсказку с текстом публикуемого сообщения слово-в-слово. Судя по ответу фейсбука на следующий день, этого было достаточно для них.
обновление даже не было залито на сервер. Заливка и запуск планировались в этот день или вечер. Так что забавное, но совпадение.
проблема в том, что у приложения было уже было несколько сот тысяч mau и хороший конверт рейт и запуск платных функций был очень уместен. приложение новое запустим, но аудиторию придется набирать занова.

А по поводу нарушения TOS, фейсбук должен был выдать предупреждение, как это делалось раньше. и приложение сначала убирают из app directory. у нас все случилось сразу в один момент

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity