Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Push-Уведомления в android (http://www.flasher.ru/forum/showthread.php?t=213498)

tooth212 16.10.2016 01:25

Push-Уведомления в android
 
Добрый день, возникла проблема при сборке ane freshplanet/ANE-Push-Notification для отправки уведомлений на android
Код:

BUILD FAILED
/Users/user/ane/ANE-Push-Notification-master/build/build.xml:36:
The following error occurred while executing this line:
/Users/user/ane/ANE-Push-Notification-master/build/build.xml:53:
Compile failed;
see the compiler error output for details.

Пересборка требуется обязательно, чтобы добавить свои иконки. Могли Вы подсказать другую бесплатную-ane?

caseyryan 16.10.2016 09:12

Посмотри что там на 53 строке. Наверняка просто какой-то путь неправильный или зависимость отсутствует. Может быть в пути к зависимости есть пробелы или русские буквы

Кстати, для замены иконок не требуется пересборка. Ты можешь просто открыть файл архиватором (желательно нормальным, типа WinRar, стандартный виндовский не подойдет) и просто обновить внутри картинки иконок на свои. Я так делал. В FreshPlanet там какой-то диск был на иконке от музыкальной игры, я просто заменил их на свои прямо в архиве. Это ANE у них 100% рабочее.

Termer 16.10.2016 13:53

Задам сюда вопрос. Можно ли увидеть полный гайдлайн по подключению этой ane? Т.к гугл перешёл на Firebase и не совсем понятно как правильно, где брать GOOGLE_PROJECT_ID теперь. Юзаю ID из firebase консоли в таком формате - "1:1037722134725:android:b96351f32898df37". Оно не оно. Я вот сделал всё как у них в доках, запускается и вроде как работает, но после отправки через https://console.firebase.google.com ничего не происходит.

caseyryan 16.10.2016 14:52

Цитата:

где брать GOOGLE_PROJECT_ID теперь
У тебя должен быть создан проект на гугл плей, и приложение должно быть залито на плей маркет со всеми соответствующими разрешениями

tooth212 16.10.2016 15:35

Цитата:

Сообщение от Termer (Сообщение 1196765)
Задам сюда вопрос. Можно ли увидеть полный гайдлайн по подключению этой ane? Т.к гугл перешёл на Firebase и не совсем понятно как правильно, где брать GOOGLE_PROJECT_ID теперь. Юзаю ID из firebase консоли в таком формате - "1:1037722134725:android:b96351f32898df37". Оно не оно. Я вот сделал всё как у них в доках, запускается и вроде как работает, но после отправки через https://console.firebase.google.com ничего не происходит.

У меня выдает token, если вместо GOOGLE_PROJECT_ID вставить идентификатор отправителя из Firebase, уведомления пока не приходят, т.к. версия с новыми разрешениями обрабатывается.

Добавлено через 2 минуты
Цитата:

Сообщение от caseyryan (Сообщение 1196764)
Посмотри что там на 53 строке. Наверняка просто какой-то путь неправильный или зависимость отсутствует. Может быть в пути к зависимости есть пробелы или русские буквы

Кстати, для замены иконок не требуется пересборка. Ты можешь просто открыть файл архиватором (желательно нормальным, типа WinRar, стандартный виндовский не подойдет) и просто обновить внутри картинки иконок на свои. Я так делал. В FreshPlanet там какой-то диск был на иконке от музыкальной игры, я просто заменил их на свои прямо в архиве. Это ANE у них 100% рабочее.

Так и сделал, заменил картинки в архиве. Обнаружил, что иконок там около 10-20, в уведомлении можно указать, какую именно использовать?

Добавлено через 26 минут
Если открыто приложение и приходит уведомление, то приложение закрывается, как это исправить? А если не открыто, то уведомление никак не отображается

Termer 16.10.2016 17:39

Создал в Google Play Console идентификатор отправителя, вставил вместо GOOGLE_PROJECT_ID. Токен не приходит. А вы дополнительные действия тоже проделывали, там в доках сказано это:

Packaging final app for Android

When you build your final APK for Android, you need to update (patch) the AIRSDK you're using. First, make sure you download the latest build-tools (from the Android SDK manager). Then, patch your AIR SDK with the following command: cp pathtoyourANDROIDSDK/build-tools/22.0.1/lib/dx.jar pathtoyourAIRSDK/lib/android/bin/dx.jar

Я этого не делал пока, или надо?

tooth212 16.10.2016 17:44

Дополнительные действия не проделывал, возможно, у Вас не прописаны разрешения в манифесте?

Termer 16.10.2016 17:55

Код:

<manifestAdditions><![CDATA[<manifest android:installLocation="auto">
                <uses-sdk android:minSdkVersion="9" />
                               
                <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
                <uses-permission android:name="android.permission.WAKE_LOCK" />
                       
                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>                       
                <uses-permission android:name="android.permission.INTERNET"/>                       
                <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
                <uses-permission android:name="android.permission.VIBRATE"/>
                <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
               
                <permission android:name="com.example.name.permission.C2D_MESSAGE" android:protectionLevel="signature" />
                <uses-permission android:name="com.example.name.permission.C2D_MESSAGE" />
                       
                <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch" />
       
                <application android:hardwareAccelerated="true" android:allowBackup="true">
                                       
                        <activity android:name="com.freshplanet.nativeExtensions.NotificationActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

                        <receiver android:name="com.freshplanet.nativeExtensions.C2DMBroadcastReceiver"
                                android:permission="com.google.android.c2dm.permission.SEND">

                                <!-- Receive the actual message -->
                                <intent-filter>
                                        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                                        <category android:name="com.example.name" />
                                </intent-filter>

                                <!-- Receive the registration id -->
                                <intent-filter>
                                        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                                        <category android:name="com.example.name" />
                                </intent-filter>
                        </receiver>

                        <!-- Local notification -->
                        <service android:name="com.freshplanet.nativeExtensions.LocalNotificationService"/>
                        <receiver android:name="com.freshplanet.nativeExtensions.LocalBroadcastReceiver" android:process=":remote"></receiver>                                               
               
                </application>
        </manifest>]]></manifestAdditions>

.....

<extensions>
    <extensionID>com.freshplanet.AirPushNotification</extensionID>       
</extensions>


caseyryan 16.10.2016 18:19

Цитата:

Если открыто приложение и приходит уведомление, то приложение закрывается, как это исправить? А если не открыто, то уведомление никак не отображается
Значит архив получился битый. Надо посмотреть какую ошибку он кидает в этот момент через Android Device Monitor.
Картинки должны быть упаковыны с такой же битностью в таком же формате. Выбрать какая иконка будет отображаться нельзя, они выбираются автоматически в соответствии с разрешением девайса.

tooth212 16.10.2016 18:25

Цитата:

Сообщение от Termer (Сообщение 1196777)
Код:

<manifestAdditions><![CDATA[<manifest android:installLocation="auto">
                <uses-sdk android:minSdkVersion="9" />
                               
                <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
                <uses-permission android:name="android.permission.WAKE_LOCK" />
                       
                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>                       
                <uses-permission android:name="android.permission.INTERNET"/>                       
                <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
                <uses-permission android:name="android.permission.VIBRATE"/>
                <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
               
                <permission android:name="com.example.name.permission.C2D_MESSAGE" android:protectionLevel="signature" />
                <uses-permission android:name="com.example.name.permission.C2D_MESSAGE" />
                       
                <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch" />
       
                <application android:hardwareAccelerated="true" android:allowBackup="true">
                                       
                        <activity android:name="com.freshplanet.nativeExtensions.NotificationActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

                        <receiver android:name="com.freshplanet.nativeExtensions.C2DMBroadcastReceiver"
                                android:permission="com.google.android.c2dm.permission.SEND">

                                <!-- Receive the actual message -->
                                <intent-filter>
                                        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                                        <category android:name="com.example.name" />
                                </intent-filter>

                                <!-- Receive the registration id -->
                                <intent-filter>
                                        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                                        <category android:name="com.example.name" />
                                </intent-filter>
                        </receiver>

                        <!-- Local notification -->
                        <service android:name="com.freshplanet.nativeExtensions.LocalNotificationService"/>
                        <receiver android:name="com.freshplanet.nativeExtensions.LocalBroadcastReceiver" android:process=":remote"></receiver>                                               
               
                </application>
        </manifest>]]></manifestAdditions>

.....

<extensions>
    <extensionID>com.freshplanet.AirPushNotification</extensionID>       
</extensions>


Возможно, в разделе СЛУЖБЫ И API на странице приложения в консоле google play не указан ключ api отправителей

Добавлено через 6 минут
Цитата:

Сообщение от caseyryan (Сообщение 1196778)
Значит архив получился битый. Надо посмотреть какую ошибку он кидает в этот момент через Android Device Monitor.
Картинки должны быть упаковыны с такой же битностью в таком же формате. Выбрать какая иконка будет отображаться нельзя, они выбираются автоматически в соответствии с разрешением девайса.

Попробовал с не измененной ane - тоже вылетает


Часовой пояс GMT +4, время: 19:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.