Регистрация, но не получение push-уведомлений на Android

Я запускаю пример приложения в AIR, используя расширение EasyPush из игр с молочниками, и использую городской дирижабль в качестве стороннего сервера.

В IOS все работает нормально, а в Android не приходит push-уведомление. Я могу зарегистрировать токен, он появляется в меню проекта в моей учетной записи городского дирижабля, но когда я отправляю тестовое сообщение, я не получаю его на устройстве.

Я много раз проверял XML-файл манифеста Android, но, похоже, все в порядке.

<manifestAdditions><![CDATA[
        <manifest android:installLocation="auto">
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
            <uses-permission android:name="android.permission.GET_TASKS"/>
            <uses-permission android:name="android.permission.WAKE_LOCK"/>
            <uses-permission android:name="android.permission.VIBRATE"/>

            <permission android:name="air.com.cafundo.testpush.permission.C2D_MESSAGE" android:protectionLevel="signature" />
            <uses-permission android:name="air.com.cafundo.testpush.permission.C2D_MESSAGE" />
            <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

            <uses-sdk android:minSdkVersion="8"/>
            <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>

            <application>
                <activity android:name="air.com.cafundo.testpush.PushPreferencesActivity" />
                <activity android:name="air.com.cafundo.testpush.LocationActivity" />

                <receiver android:name="com.urbanairship.CoreReceiver" />

                <receiver android:name="com.urbanairship.push.GCMPushReceiver" android:exported="true" 
                          android:permission="com.google.android.c2dm.permission.SEND">
                    <intent-filter>
                        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                        <category android:name="com.cafundo.testpush" />
                    </intent-filter>

                    <intent-filter>
                        <action android:name="android.intent.action.PACKAGE_REPLACED" />
                        <data android:scheme="package"/>
                    </intent-filter>
                </receiver>

                <service android:name="com.urbanairship.push.PushService" android:label="Push Notification Service"/>
                <service android:name="com.urbanairship.analytics.EventService" android:label="Event Service"/>

                <provider android:name="com.urbanairship.UrbanAirshipProvider"
                    android:authorities="air.com.cafundo.testpush.urbanairship.provider"
                    android:exported="false"
                    android:multiprocess="true" />

                <receiver android:name="air.com.cafundo.testpush.IntentReceiver" />                 
                <receiver android:name="com.milkmangames.extensions.android.push.MmgPushReceiver" />

            </application>

        </manifest>

    ]]></manifestAdditions>

Надеюсь, кто-нибудь может мне помочь.

Спасибо.


person user3087834    schedule 10.12.2013    source источник


Ответы (1)


Я не уверен, что у вас все еще есть эта проблема, но я совершил ошибку, создав Ключ для приложений Android вместо того, чтобы создавать Ключ для серверных приложений. strong> в консоли разработчиков Google.

Как только я использовал сгенерированный ключ API сервера в разделе «Настройка служб уведомлений / Google Cloud Messaging (GCM)» UrbanAirship, я начал получать push-сообщения.

Надеюсь, это поможет.

person MikeB    schedule 14.01.2014
comment
Да, я уже решил проблему. Но вы правы, моя проблема была и в конфигурации GCM. Спасибо чувак. - person user3087834; 15.01.2014