Титаниум версия: 3.1.3.
Я все еще использую MQTT для Android, и все работало нормально до нескольких недель назад (возможно, до тех пор, пока mqtt на acs не устарел). Но я читал, что можно еще использовать MQTT (вместо gcm). Согласно другому сообщению на appcelerator, мне просто нужно было определить mqtt в tiapp.xml, но это не работает.
Это часть моего tiapp.xml
<property name="acs-push-type-development" type="string">mqtt</property>
<property name="acs-push-type-production" type="string">mqtt</property>
<property name="acs-push-type" type="string">mqtt</property>
...
<module platform="android" version="2.3.2">ti.cloudpush</module>
<module platform="android" version="2.1.2">ti.map</module>
<module platform="commonjs" version="2.3.7">ti.cloud</module>
Вот что я получаю из журналов appcelerator:
`"response": {"push_log_details": [
{
"created_at": "2014-05-12T13:02:35.389Z",
"updated_at": "2014-05-12T13:02:31.094Z",
"type": "android",
"android_type": 1,
"app_id": "52724d7cd72ec85152039256",
"channel": "stickin",
"_id": "5370c66be511ea7ab99881d4",
"token": "ND1M2IX8RU8RGJDICW13I9V",
"push_id": "5370c6641316e90db2311567",
"send_status": 2,
"sent_at": "2014-05-12T13:02:30.996Z",
"error_message": "argument cannot be null",
"msg_id": "fa89cfb6-f2d2-4222-b442-a47d2625b419"
},
{
"created_at": "2014-05-12T13:02:35.389Z",
"updated_at": "2014-05-12T13:02:31.094Z",
"type": "android",
"android_type": 1,
"app_id": "52724d7cd72ec85152039256",
"channel": "stickin",
"_id": "5370c66be511ea7ab99881d6",
"token": "ND13ST3OA0MHE079H6EYV8P",
"push_id": "5370c6641316e90db2311567",
"send_status": 2,
"sent_at": "2014-05-12T13:02:30.996Z",
"error_message": "argument cannot be null",
"msg_id": "77fc5c7f-9703-46e5-a433-7be0796421f2"
}, .....
`
«аргумент не может быть нулевым» выглядит как код ответа gcm. Я попытался удалить apiKey и идентификатор отправителя gcm и сохранить только имя пакета приложения (MQTT), но затем получаю сообщение об ошибке gcm_apiKey is null. Я думал, что push не использует gcm, если я определяю mqtt в tiapp.xml? Кстати, на iOS все работает нормально, но там, конечно, не используется mqtt.