2015-03-10 2 views
1

У меня есть продукт с домашним поставщиком push. Мы пытаемся добавить parse.com в качестве поставщика.несколько поставщиков push-провайдеров с parse.com

Нет проблем с ios (os управлять push, все работает с плагином единства).

Но я очень смущен андроидом, я пробовал много разных вещей, но у меня никогда не было толчка от разбора и нашего нажатия с той же конфигурацией. Я интегрирую модуль синтаксического разбора Android 4.3.3, добавляю все данные в манифест, модифицированный класс приложения для инициализации Parse, все работает хорошо. Данные для установки отправляются для разбора. Я могу отправить push с помощью панели управления, у меня есть «Это будет отправлено на 1 устройство», но после отправки статуса статус «0 отправляется». Никакой ошибки, ничего не прилагается к устройству.

Где я могу найти, почему я настраиваю устройство 1 и почему отправляются 0 push? Возможно ли иметь 2 разных сервиса, которые управляют com.google.android.c2dm.intent.RECEIVE и com.google.android.c2dm.intent.REGISTRATION?

манифеста нажимные части:

<service android:name="com.parse.PushService" /> 
<receiver android:name="com.parse.ParseBroadcastReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    <action android:name="android.intent.action.USER_PRESENT" /> 
    </intent-filter> 
</receiver> 
<receiver android:name="com.parse.ParsePushBroadcastReceiver" android:exported="false"> 
    <intent-filter> 
    <action android:name="com.parse.push.intent.RECEIVE" /> 
    <action android:name="com.parse.push.intent.DELETE" /> 
    <action android:name="com.parse.push.intent.OPEN" /> 
    </intent-filter> 
</receiver> 
<receiver android:name="com.parse.GcmBroadcastReceiver" 
     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="bundleId" /> 
    </intent-filter> 
</receiver> 

<!-- GCM homemade notifications --> 
<service android:name="com.homemade.unityApp.notifications.UnityGCMReceiverService" /> 
<receiver android:name="com.homemade.unityApp.notifications.UnityGCMCustomBroadcastReceiver" 
     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="bundleId" /> 
    </intent-filter> 
</receiver> 

ответ

1

да можно иметь два нажим на том же самом приложении

вы должны установить на манифесте permission и users-permission, как описано на официальном руководстве https://developer.android.com/google/gcm/client.html

и имеют два receive на манифесте с соответствующим intent-filter оба SDK должны рег. ister толчок. Примером может служить приложение, которое я работаю, мы имеем:

GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); 
String regid = gcm.register(GCMID); 

и

Localytics.registerPush(GCMID); 

с нашего собственного сервера и один из Localytics нажать. Я считаю, что parse.com будет использовать метод registerPush.

В этом случае сообщение BroadcastReceiver получит сообщение, поэтому необходимо указать токен в push-сообщении, чтобы фильтровать, какие из них должны игнорировать сообщение и которые должны действовать на него.

+0

Спасибо, я уверен, что регистрация 2 в порядке, я вручную изменил некоторые данные в базе данных Parse, и я получил push от обоих, теперь я должен найти, как это сделать, не меняя данные с моей маленькой рукой, Parse попросите нас добавить мета, но я подозреваю, что эта мета игнорируется. – Lionel

+0

В моем приложении мы добавляем к пакету, что получатель получает «fromLocalytics»: «true» и просто проверяем его на Runtime – Budius

+0

Привет, Будиус: Я также пытаюсь интегрировать Localytics на Android, но я столкнулся с проблемой , Не могли бы вы взглянуть на этот вопрос (спасибо!): Http://stackoverflow.com/questions/32072845/localytics-push-notifcations-not-working –

0

Я нашел решение, я добавил несколько раз без каких-либо успехов. Я попытался добавить senderId в код Java при отправке установочных данных, и он работает. Я действительно не знаю, почему просто добавить мета не получилось, возможно, я что-то пропустил.

Итак, оригинальный манифест в порядке, parsegcmbroadcaster, кажется, правильно фильтрует уведомления.

Смежные вопросы