alexbirukov
Пользователи-
Постов
65 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Весь контент alexbirukov
-
Что именно нашёл? Там в статье есть ссылки на библиотеки PHP для работы с Push, есть примеры работы. Я просто объединил обе библиотеки одним скриптом простейшим + прикрутил запись токенов в базу. Код для Delphi взял из одного видео испанца (или итальянца), где он делает отправку Push через обращение напрямую к сервисам, но опять же используется токен. Я взял оттуда часть определения токена устройства. Просто для меня скрипт на PHP удобен тем, что к нему я могу обратиться из любого места, с любой платформы, будь то Web форма или приложение на C# \Delphi. Это лучше, чем для каждой отдельной программы\проекта писать код отправки Push сообщения напрямую через Apple и Google, уж тем более если платформа этого явно не поддерживает.
-
Провайдер тебе не нужен, посмотри в статье которую я сегодня выложил, там есть этот момент. Когда приходит Push, вызывается отдельная функция, которая выводит Notification, вне зависимости от состояния программы (в фоне или запущена). На форме никакие провайдеры не нужны. Я там привёл полный рабочий код из проекта для Delphi.
-
[Статья] PHP сервер для рассылки Push на Android и iOS
alexbirukov опубликовал тема в Статьи и заметки
Ссылка на статью. Автор: Александр Бирюков В статья я максимально подробно попытался описать работу с PHP скриптом для рассылки Push сообщений из любой программы вне зависимости от платформы. Затрагивается вопроса от экспорта скриптов до кода программы: отправка и получение Push, регистрация устройств. Надеюсь кому-нибудь пригодится. Буду рад комментариям, обоснованной критике и доработкам. -
Для информации. Приложения собранные с исправлением от Сарины в xCode 6.4 + XE8.1 без проблем проходят в AppStore и публикуются. Ключ 41<key>NSAppTransportSecurity</key> 42<dict> 43 44 <key>NSAllowsArbitraryLoads</key> 45 <true/> 46</dict> Не использовал при публикации, хотя приложение и обращается к удалённому xml файлу. Публикация прошла успешно.
-
Проблема с запуском приложения на XE8 под iOS
alexbirukov ответил Ra72 вопрос в Настройки приложения
В разделе загрузок в кабинете разработчика, там можно скачать старые версии xCode. Бывает приложение не запускается из Delphi студии, у меня начинает нормально работать, когда запущен PAServer и xCode, тогда и отладка запускается, и запуск приложения на устройстве срабатывает. -
Не совсем понятна схема взаимодействия приложения, сайта и магазинов. Для отправки пуша можно использовать приложение или форму с жёстко указанным API. Т.е. части магазинов будут настроены жёстко на указанные API ключи или пользователей. При каждой отправке можно проверять API ключи для доступа к рассылке и на основании значения ключа скрипт будет выбирать, кому делать рассылку.
-
Тоже думал над подобной реализацией. В общем т.к. базу приходится заполнять токенами устройств. Т.е. получается для приложения, есть единая база, в которой собираются все данные из приложения (собираем токены, DeviceID) так же можно при регистрации устройства использовать логин пользователя, в дальнейшем для поиска токена, использовать логин. Таким образом получаем таргетированную доставку push сообщения. Если доставка нужна сразу все пользователям конкретного магазина, можно записывать в базу домен магазина, и из скрипта просто делать рассылку в соответствии с доменом. Т.е. есть база устройств, в которой есть записи с доменами example1.com, example2.com и т.д. При отправке сообщение просто выбираем нужных пользователей. При этом все могут использовать 1 скрипт, подавая ему разные параметры, например API своей фирмы и текст сообщения. А скриптом уже выстраивать логику работы.
-
не пытайтесь "подвести" под ведро...) мак это дело тонкое... если не пробовали то лучше промолчать...). обратили внимание на нолики? там ведь в байтах передача... не как в ведре... если решу проблему сообщу, и тогда весь мир стекется к моему посту, т. к. не нашёл в инете решений на делфи... ну может есть на провайдерах... но хочу простоты. Как вариант, если не выйдет, то разместить php скрипт где нибудь на хостинге и отправлять через него, проблем с русским нет.
-
так в чем косяк то был? Да он и остался. Первый пост про связку XE10 + xCode 7 + SDK 9. Каким чудом вам удалось запустить приложение из XE10 + xCode 7 + SDK 9 на устройстве с iOS8 мне постичь не удалось. Поэтому понизил до XE10 + xCode 6 + SDK 8.4. Но опять же, не запускаются приложения на iPhone 4S в режиме Release. В результате сейчас использую XE8.1 + xCode 6 + SDK 8.4 + изменённый FMX.Context.GLES.iOS.pas. Отправил приложение на проверку. Посмотрим, что скажут.
-
Хммм. В общем сделал сборку XE10 + xCode 6 + SDK 8.4. Приложения собираются, запускаются всё ОК. Есть iPhone 4S (8.3) в режиме Debug приложение запускается в любой конфигурации. Если запустить в режиме Release, после запуска приложение вылетает. На эмуляторе всё работает ОК. На планшете iPad Mini 2 (8.2) тоже ОК. Вопрос, чем может быть связано? И будет ли если опубликовать работать на iPhone 4S если работает на эмуляторе?
-
Спасибо БОЛЬШОЕ! Буду пробовать.
-
вы пробовали Swift, например, там такие косяки есть, что в RAD так...детский лепет! к последнему swift надо прилагать толмут faq-ов на все случаи жизни. это к теме переходить или не переходить... ) Нет ну я конечно понимаю, всё познаётся в сравнении. Но я считаю с последними косяками Apple, с постоянными недоделками которые стали возникать + весь этот цирк с публикацией и пр. Просто я считаю, что коробочные версии продуктов должны быть более вылизанными. А не так, чтобы 5 часов коддинга и 120 часов шаманств с бубном наперевес.
-
связка XE8.1 + xCode 6.4 SDK 8.4 у меня не прошла проверку в app store по причине того что приложение не запустилось на ios 9 также была проблема с http в ios 9 они рекомендуют использовать https протокол чтобы включить http параметры надо задавать в ручную в файле info.plist Хмммм, а вот тут можно поподробнее. Просто у меня приложение при запуске тоже делает запрос именно по http, именно это приложение зависло на заставке. А что конкретно надо изменить в info.plist? Связки XE10 + xCode 6.4 + SDK 8.4 это тоже касается?
-
Да у меня тоже есть приложение с подгрузкой. Но в свете последних экспериментов столкнулся с кучей проблем во всех этих обновлениях. В результате сейчас пытаюсь проверить работу связки XE8.1 + xCode 6.4 SDK 8.4 + исправления от Сарины. Предыдущую версию без исправлений отклонили. Спасибо вам большое за подробные ответы.
-
Спасибо за подробные ответы. Ещё вопрос, XE10 + xCode 6 + iOS9, на заставке приложение не зависало на устройстве?
-
Тогда не совсем понятно: XE10 + iOS 6 = полёт нормальный XE10 + iOS 7 = полёт нормальный XE10 + iOS 8 = полёт нормальный Речь идёт об эмуляторе или проверке на реальных устройствах? Интересует запуск на реальных устройствах, поведение ПО. А что люди подумают? Подумают сначала, хотят ли они изобретать костыли при переходе или нет
-
В этом видимо и причина. На устройствах стоит 8.2 и 8.3. Приложения сделанные в XE10 + xCode 7 (SDK9) вылетают на них.
-
Странно.XE10 + iOS8 (iPhone 4S) - пустое приложение закрывается после заставки. XE10 + iOS9 (Эмулятор) - запускается без проблем. xCode 7. При этом приложение собранное в XE8.1 + xCode 6.4 быль отклонено, зависло на заставке на iOS9.
-
И так, пока русскоязычная и англоязычная части интернета молчат по поводу работы в новой Delphi XE10 Seattle в связке с xCode 7, а компании представители описывают, какое замечательное вышло обновление, пользователи столкнулись с проблемой, что приложения, сделанные на XE10 Seattle, xCode 7 + SDK9, не запускаются на предыдущих платформах. Не совсем понятно, почему в упомянутых сегментах интернета нет совершенно никакой информации по данному поводу. Опять впереди планеты все Китай. Пользователь блога подробно описывает конфигурацию, на которой он тестировал запуск приложения и описание проблемы. Несколько реальных устройств на разных прошивках, разные версии ПО и пр. Коротко о главном. Если вы хотите, как можно скорей перейти на новую Delphi XE10 Seattle с целью писать свежие приложения\обновления для iOS, спешу вас разочаровать. Ваши программы перестанут работать на предыдущих версиях iOS. Статистика испытаний такова, что приложения собранные на XE10 Seattle, xCode 7 + SDK9 будут работать только на устройствах под управлением iOS9. Вторая проблема, состоит в том, что недавнего времени AppStore при проверке приложений стала проверять их именно на iOS 9, а приложения собранные на XE8.1 такую проверку не проходят, так как зависают на стартовой заставке приложения и как следствие их отклоняют. Вот так то. Прошла уже целая неделя, а интернет по данному поводу ничего сказать нам особо не может. На днях появилась статья от Сарины Дю Понт, о том, как всё же запустить приложение сделанные в XE8.1 на iOS9. В результате изысканий Китайских друзей, получаем на данный момент такую картину: XE8 + iOS 6 = полёт нормальный XE8 + iOS 7 = полёт нормальный XE8 + iOS 8 = полёт нормальный XE8 + iOS 9 = зависание на экране заставки (если не воспользоваться советом Сарины) XE10 + iOS 6 = приложение вылетает XE10 + iOS 7 = приложение вылетает XE10 + iOS 8 = приложение вылетает XE10 + iOS 9 = полёт нормальный Таким образом в XE10 Seattle и xCode 7 можно получить на данный момент только приложение, работающее на iOS9. Ждём Delphi XE10 Seattle Update 1. P.S. А в на Android в Delphi XE10 Seattle приложение с компонентами для отправки Push не запускается в режиме Release — Application Store. Что тоже, очень и очень печально.
-
Да в общем-то под 10ку это не единственная проблема. Приложения не запускаются под iOS. В соседней ветке описал. Если использовать Delphi 10 + xCode 7 + SDK 9. То на выходе получаем приложение, которое не запускается на iOS 8.
- 13 ответов
-
В 8.1 у меня отлично работает стандартный шаблон без каких либо исправлений. <?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <%uses-permission%> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%"> <%application-meta-data%> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="%libNameValue%" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <receiver android:name="com.embarcadero.firemonkey.notifications.FMXNotificationAlarm" /> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) -->
- 13 ответов
-
Да с данным манифестом всё работало, хотя уже столько копий проекта, что мог запутаться.
- 13 ответов
-
вы говорите все ок...но походу не так )) выложите манифест файл андроида...он важен для пушей, точнее туда дописывать надо права отдельно Я не говорю, что всё ОК. Я говорю, что всё, что вы писали я проверял. Проекты в которых РАБОТАЛИ и РАБОТАЮТ пуши, под Delphi 10 не запускаются, ровно так же, как и новые проекты с компонентом для работы с Push. <?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="*" android:versionCode="1" android:versionName="1.0.0" android:installLocation="preferExternal"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <permission android:name="*.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="*.permission.C2D_MESSAGE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="False" android:restoreAnyVersion="False" android:label="*" android:debuggable="False" android:largeHeap="False" android:icon="@drawable/ic_launcher" android:theme="@style/AppTheme" android:hardwareAccelerated="true"> <service android:name="com.embarcadero.gcm.notifications.GCMIntentService" /> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="*" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="*" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.embarcadero.rtl.notifications.NotificationAlarm" /> <receiver android:exported="true" android:name="com.embarcadero.gcm.notifications.GCMNotification" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="*" /> </intent-filter> </receiver> </application> </manifest> <!-- END_INCLUDE(manifest) -->
- 13 ответов
-
Чистая установка. Установил Windows 7 x64, на неё поставил Delphi 10. Затем взял образ OS X Yosemite, установил туда xCode7 с SDK9. В результате всё, как и в прежних вариантах, та же ошибка. Вы проверяли данную конфигурацию. Работает она вообще? что то похожее Win8.1x64pro Yosemite 10.10(vmware) xcode6.4 PAserver16 XE8upd1 Login мака и конечно логин в xcode - девелопера(99$) сертификаты загружены за счет xcode Запускаю пасервер на маке без пароля(для чего инсталлятор под виндовс пока загадка) IOS Device32 работает норм Нет, студия 8.1 и xCode 6.4 у меня работают без проблем. Не работает Delphi 10 и xCode 7 с SDK9.
- 16 ответов
-
- Application Store
- iOS 9
-
(и ещё 2 )
C тегом: