Уведомления Google Glass Timeline для встроенных действий и настраиваемых действий не работают после обновления (обновление стекла XE-16)

Мы разработали приложение Google Glass ware (на основе временной шкалы). Сначала мы отправим несколько карт временной шкалы на стекло с некоторыми встроенными пунктами меню и пользовательскими пунктами меню.

и мы настроили URL-адрес прокси для получения уведомлений для временной шкалы.

Столько дней работал нормально.

Но после обновления Google Glass XE-16 мы не получаем уведомления о временной шкале

Не могли бы вы помочь нам в решении проблемы.

Привет, заключенный,

для вставки временной шкалы мы использовали следующий код:

global $base_url="http:\/\/mysite.com\/mirror"; 

$client = get_google_api_client(); 

$client->setAccessToken(get_credentials($_SESSION['userid'])); // A glass service for interacting with the Mirror API 

$mirror_service = new Google_MirrorService($client); 

    $new_timeline_item = new Google_TimelineItem();
    $new_timeline_item->setText('Hey I am testing new');

    $notification = new Google_NotificationConfig();
    $notification->setLevel("DEFAULT");
    $new_timeline_item->setNotification($notification);

    $menu_items = array();
    $custom_menu_item = new Google_MenuItem();
    $custom_menu_value = new Google_MenuValue();
    $custom_menu_value->setDisplayName("Add Item");
    $custom_menu_value->setIconUrl( $base_url . "/static/images/tulip.jpg");
    $custom_menu_item->setValues(array($custom_menu_value));
    $custom_menu_item->setAction("CUSTOM");
    $custom_menu_item->setId("add_to_cart_item"); // This is how you identify it on the notification ping
    array_push($menu_items, $custom_menu_item);
    $new_timeline_item->setMenuItems($menu_items);


    insert_timeline_item($mirror_service, $new_timeline_item, "image/jpeg", file_get_contents($base_url . "/static/images/tulip.jpg"));

для этого мы пытаемся добавить новые пользовательские меню и встроенные меню, такие как (закрепить, удалить, поделиться, отправить)

Чтобы подписаться на уведомления, мы использовали API-интерфейс Google Glass Php Mirror.

subscribe_to_notifications($mirror_service, "timeline", $_SESSION['userid'], $base_url . "/notify.php"); 

Все это работает нормально до обновления версии XE-16. После обновления мы не можем получать уведомления об уведомлениях о временной шкале.


person user3419648    schedule 26.05.2014    source источник
comment
Можете ли вы уточнить и, возможно, показать код, чтобы проиллюстрировать, как вы вставляете карты и регистрируетесь для получения уведомлений.   -  person Prisoner    schedule 26.05.2014
comment
Привет, заключенный, для вставки временной шкалы мы использовали следующий код: global $base_url; $client = get_google_api_client(); $client-›setAccessToken(get_credentials($_SESSION['userid'])); // Служба Glass для взаимодействия с Mirror API $mirror_service = new Google_MirrorService($client); $timeline_item = новый Google_TimelineItem(); $timeline_item-›setText(Добро пожаловать в краткий обзор API Mirror API PHP); insert_timeline_item($mirror_service, $timeline_item, null, null); для этого мы пытаемся добавить новые пользовательские меню и встроенные меню, такие как (закрепить, удалить, поделиться, отправить).   -  person user3419648    schedule 26.05.2014
comment
Пожалуйста, отредактируйте исходный вопрос   -  person Prisoner    schedule 26.05.2014
comment
Привет, заключенный! Чтобы подписаться на уведомления, мы использовали функцию Google Glass Php Mirror API. subscribe_to_notifications($mirror_service, временная шкала, $_SESSION['userid'], $base_url ./notify.php); Все это работает нормально до обновления версии XE-16. После обновления мы не можем получать уведомления об уведомлениях о временной шкале.   -  person user3419648    schedule 26.05.2014
comment
Привет, заключенный, я обновил вопрос с кодом. Пожалуйста, проверьте это один раз и сообщите нам об этом.   -  person user3419648    schedule 26.05.2014
comment
приведенный вами пример вообще не показывает добавление пунктов меню, поэтому трудно понять, почему он может не работать. Вы также должны убедиться, что $base_url установлен правильно и что /notify.php по этому адресу отвечает.   -  person Prisoner    schedule 26.05.2014
comment
Привет, заключенный, спасибо за ответ, и я обновил рассматриваемый код, добавив пункты меню. И элементы временной шкалы вставляются с элементами меню. И мы использовали URL-адрес прокси для получения уведомлений. Раньше он работал нормально, и мы могли получать уведомления после нажатия на пользовательский пункт меню. После обновления XE-16 мы не можем получить уведомление. Не могли бы вы изучить это и сообщить нам, в чем ошибка. Дайте предложения, что нам нужно изменить.   -  person user3419648    schedule 27.05.2014


Ответы (1)


Это известная проблема с отправкой вложенных изображений. Подробнее см. здесь:
https://code.google.com/p/google-glass-api/issues/detail?id=491

Итак, часть вашего кода, которая должна измениться, это:

insert_timeline_item($mirror_service, $new_timeline_item, "image/jpeg", file_get_contents($base_url . "/static/images/tulip.jpg"));  

Необходимо изменить на:

insert_timeline_item($mirror_service, $new_timeline_item, null, null);

И используйте setHTML вместо setText и включите элемент img с тегом src, указывающим на веб-URL. Например.:

<img src="http://example.com/static/images/tulip.jpg" />  

Обратите внимание, что вам также необходимо сбросить настройки Glass. Вы можете определить, есть ли у вас проблема, попытавшись запустить команду меню, и вращающаяся двойная стрелка в правом нижнем углу застревает, а в выходных данных ADB logcat на Glass отображается трассировка стека сбоя. Итак, чтобы решить эту проблему, во-первых, вы должны не использовать вложения изображений, а во-вторых, вам нужно сбросить настройки Glass, чтобы исправить нарушенную синхронизацию временной шкалы на Glass.

person Lance Nanek    schedule 09.07.2014