Вопрос

Здравствуйте.

Делаю все согласно блога ZuBy:

http://blog.rzaripov.kz/2017/02/firebase-android-ios.html

http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html

для попытки получать пуши на IOS. С Андроид все ОК.

Код отрабатывает нормально переменная FPushService инициализируется. Все выглядит нормально. Однако пуши не приходят. Пробовал отправить с консоли - результата нет, тишина. Посмотрел таблицу PushTokens новая запись не появилась. Похоже что-то упущено, однако ошибок никаких нет, поэтому непонятно куда копать...

Может подскажите, на что обратить внимание?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 ответов на этот вопрос

  • 0

на форуме уже были обсуждения по этому поводу, также комменты в блоге

вроде тут это обсуждалось

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Прочитал, но видимо туплю не вижу ответа...

Цитата

Из БЛОГА цитата:
Проблема с отправкой была не только при использовании php-скрипта, но и при попытках отправки через консоль Firebase. Даже при посыле на все iOS-устройства (без указания каких-либо конкретных токенов). Проблема в конце-концов решилась заведением под iOS отдельного проекта в Firebase, получении своего Server key.

Я сделал отдельный проект в Firebase для IOS. Правда не понимаю, а зачем нам новый Server key если согласно статьи он в проекте для IOS не используется, а используется для Андроид. В IOS используем строку $config['app']['name'] = "имя пакета";

Короче уткнулся я в комментарий из блога:

Цитата

Lunar Tecnologi2
The DeviceToken variable is empty, when the operating system is IOS. Android works perfectly. Would you help me?

И присоединяюсь к автору Lunar Tecnologi2 с тем же вопросом: Would you help me? :)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
8 минут назад, Anatoliy сказал:

Я сделал отдельный проект в Firebase для IOS. Правда не понимаю, а зачем нам новый Server key если согласно статьи он в проекте для IOS не используется, а используется для Андроид. В IOS используем строку $config['app']['name'] = "имя пакета";

кто вам это сказал? Эта строчка Вам о чем нить говорит?

 $headers = array('Authorization: key=' . $server_key, 'Content-Type: application/json');

 

10 минут назад, Anatoliy сказал:

И присоединяюсь к автору Lunar Tecnologi2 с тем же вопросом: Would you help me? :)

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

Anatoliy понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Тут, как я понял, похожая проблема, но на java:

https://stackoverflow.com/questions/42869452/ios-device-token-sent-empty-to-database

Вроде для IOS 10 надо что-то сделать дополнительно, но не понятно как.... у меня IOS 10.2.1...

Цитата

I am not sure in which ios version you are testing or developing but for iOS 10 you need to do additional setup for retrieve/get device token.

 

Изменено пользователем Anatoliy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Цитата

кто вам это сказал? Эта строчка Вам о чем нить говорит?

Я не совсем понимаю, согласно статье мы в ручную заполняем это:

$config['db']['host'] = "ххх"; // localhost "расположение БД"
$config['db']['name'] = "ххх"; // "название БД";
$config['db']['user'] = "ххх"; // "пользователь";
$config['db']['pass'] = "ххх"; // "пароль к БД";

$config['push']['server_key'] = "Ключ из Андроид проекта firebase";
$config['app']['name'] = "имя пакета"; //для проекта IOS

А где мы вставляем ключ server_key если проект IOS?

 

Изменено пользователем Anatoliy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
34 минуты назад, Anatoliy сказал:

$config['push']['server_key'] = "Ключ из Андроид проекта firebase";
$config['app']['name'] = "имя пакета"; //для проекта IOS

А где мы вставляем ключ server_key если проект IOS?

у меня в статье один проект для двух платформ, поэтому server_key один

если вы делаете разные проекты в консоле, то модернизируйте серверную часть или сделайте разные папки для ios/android

Anatoliy понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Цитата

у меня в статье один проект для двух платфом, поэтому server_key один и тот.

если вы делаете разные проекты в консоле, то модернизируйте серверную чать или сделайте разные папки для ios/android

Ясно. Спасибо. Разнесу по разным папкам т.к. серверную часть из-за не знания PHP модернизировать не смогу.

 

Изменено пользователем Anatoliy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Не получается с IOS никак...

Скопировал сервер в новую папку. Изменил ссылку запроса и ключ в api.php. Делаю пуш и получаю ERROR Пуши не отправлены... :(

Уперлись мы с Lunar Tecnologi2 в "любимый" IOS. :)

Изменено пользователем Anatoliy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

1. server_key в новой папке установлен в ios ключ проекта в api.php

2. С учетом новой папки изменен метод RegisterDevice.

3. Изменена ссылка запроса пуша с учетом новой папки.

4. CFBundleIdentifier установлен как и и $config['app']['name']

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

с сертификатом проблем нет? на устройстве разрешен прием пуш для приложения?

тест же на реальном устройстве?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Собран реальный стенд с IOS10. Для приложения включен режим прием пушей.

Сертификаты в консоли встали нормально....

Упущена какая-то деталь для IOS10, наверное...

P.S.

Для IOS проекта важны отличия от андроид только тут:

$config['push']['server_key'] = "";
$config['app']['name'] = "";

Идентификатор отправителя FAndroidServerKey используем в андроид проекте.

Все верно?

 

 

 

push.jpg

Изменено пользователем Anatoliy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

да вроде все верно, когда на устройстве запускаете есть запрос на разрешение принимать пуши?

Anatoliy понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Удалось избавиться от пустого токена. Дело было в профайле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

В IOS10 не получается получить пуши (XCode 8). Изыскания привели к блогу Марко Кенту: http://blog.marcocantu.com/blog/delphi-blog-week-47.html

Цитата

Delphi Blogs of the Week/Month 47 


Is there a delphi berlin fix for this issue?
http://stackoverflow.com/questions/39504334/push-notification-not-receiving-in-ios-10 

Sorry to dump the issue here,. but it's a weird issue
so far.

Дискуссия по ссылке stackoverflow вокруг java кода, не понял есть ли решение для студии Берлин и пушей в IOS10... :(

Изменено пользователем Anatoliy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу