AeroGear unified push notification
by Walto, David
Hi, I a new AeroGear unified push notification user. I am trying to create a simple push notification from a WebSphere java application.
I have created a couple of push notification classes to test (below) and both version I get the error:
SenderClient E Send did not succeed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 64
I have the following jars for this application.
[cid:image001.png@01D0EB25.5E1F6EE0]
[cid:image003.png@01D0EB25.C89EC4F0]
Any direction how to resolve this would be greatly appreciated.
Thanks in advance.
David Walto
Senior Application Engineer | EMR Engineering and Integration
Baystate Health | Information & Technology
1550 Main Street, Springfield, MA 01199 | p: 413-794-0627 | f: 413-794-5570
----------------------------------------------------------------------
Please view our annual report at http://baystatehealth.org/annualreport
CONFIDENTIALITY NOTICE: This e-mail communication and any attachments may contain confidential and privileged information for the use of the designated recipients named above. If you are not the intended recipient, you are hereby notified that you have received this communication in error and that any review, disclosure, dissemination, distribution or copying of it or its contents is prohibited. If you have received this communication in error, please reply to the sender immediately or by telephone at 413-794-0000 and destroy all copies of this communication and any attachments. For further information regarding Baystate Health's privacy policy, please visit our Internet site at http://baystatehealth.org.
7 years, 2 months
Unified push server development environment setup
by mo
Hi,
I'm trying to run the unified push server in a development environment to
troubleshoot and understand it better. I'm wondering if there is any
documentation available to assist me with setting up development environment
for it. I've looked though documents under "Contributing to AeroGear", but
I am in need of a more detailed guide. I'd like to get to a point where I
can run unified push, break point, and inspect variables, and so on.
So far I've managed to run 'mvn test' successfully on the unified push
server source code. I use Eclipse, so I wanted to import the project. I
get quite a lot of errors in doing so.
I am troubleshooting version 1.0.2. We use OpenShift to deploy the aerogear
server.
I appreciate any help. Thank you.
Michi Oshima
--
View this message in context: http://aerogear-users.1116366.n5.nabble.com/Unified-push-server-developme...
Sent from the aerogear-users mailing list archive at Nabble.com.
8 years, 1 month
categories have been hijacked
by Kelvin Lunsford
Setting "categories" in the push payload was working for android and ios in cordova push plugin 1.1.1.
For version 2.0.2 "categories" only works for ios.
It looks like "categories" is being hijacked in android for a GCM feature called "topics".
I liked "categories". I was using it. Now it's gone. GCM topics is not a drop-in replacement. It's not the same thing.
New features should get new names and new commands.
- Kelvin
8 years, 1 month
Handshake issue when connecting to APNS (from OpenShift Online)
by Florian Traverse
Hi all :)
We encounter an issue since yesterday on our aerogear server running in
production for several months on OpenShift Online (
OPENSHIFT_AEROGEAR_PUSH_VERSION=1.0.3 ) :
Management interface would report the handshake error as well, and none of
all our iOS pushes, whatever the `application`, whatever the `variant`,
would work.
We're looking for what can go wrong in order to fix it. We still have both
RAM and disk available, and a `gear restart` would not help in the matter.
Here's what the stacktrace looks like in the logs, can anybody help ?
```
ERROR [com.notnoop.apns.internal.ApnsConnectionImpl] (EJB default - 4)
Couldn't send message after 3 retries.Message(Id=1; Token=<TOKEN>;
Payload={"<some_payload_property>":"<some numeric
value>","aps":{"alert":"<The notification text>","badge":-1}}):
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: No trusted certificate found
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
[jsse.jar:1.7.0_85]
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916)
[jsse.jar:1.7.0_85]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:279)
[jsse.jar:1.7.0_85]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:273)
[jsse.jar:1.7.0_85]
at
sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1469)
[jsse.jar:1.7.0_85]
at
sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:213)
[jsse.jar:1.7.0_85]
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:913)
[jsse.jar:1.7.0_85]
at sun.security.ssl.Handshaker.process_record(Handshaker.java:849)
[jsse.jar:1.7.0_85]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)
[jsse.jar:1.7.0_85]
at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)
[jsse.jar:1.7.0_85]
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:721)
[jsse.jar:1.7.0_85]
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
[jsse.jar:1.7.0_85]
at java.io.OutputStream.write(OutputStream.java:75) [rt.jar:1.7.0_85]
at
com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:322)
[apns-1.0.0.Beta5.jar:]
at
com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:310)
[apns-1.0.0.Beta5.jar:]
at
com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:46)
[apns-1.0.0.Beta5.jar:]
at
com.notnoop.apns.internal.AbstractApnsService.push(AbstractApnsService.java:102)
[apns-1.0.0.Beta5.jar:]
at
com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:36)
[apns-1.0.0.Beta5.jar:]
at
org.jboss.aerogear.unifiedpush.message.sender.APNsPushNotificationSender.sendPushMessage(APNsPushNotificationSender.java:109)
[unifiedpush-push-1.0.3.jar:1.0.3]
at
org.jboss.aerogear.unifiedpush.message.SenderServiceImpl.send(SenderServiceImpl.java:116)
[unifiedpush-push-1.0.3.jar:1.0.3]
at sun.reflect.GeneratedMethodAccessor149.invoke(Unknown Source)
[:1.7.0_85]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0_85]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_85]
at
org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:407)
at
org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)
[wildfly-weld-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
[wildfly-weld-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
[wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:407)
at
org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:55)
[weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
at
org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
[wildfly-weld-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
[wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at
org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.NonPooledEJBComponentInstanceAssociatingInterceptor.processInvocation(NonPooledEJBComponentInstanceAssociatingInterceptor.java:59)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:273)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:340)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:95)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)
at
org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:448)
at
org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)
at
org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at
org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185)
at
org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.LogDiagnosticContextRecoveryInterceptor.processInvocation(LogDiagnosticContextRecoveryInterceptor.java:79)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.AsyncFutureInterceptorFactory$1$2.runInvocation(AsyncFutureInterceptorFactory.java:97)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.ejb3.component.interceptors.AsyncInvocationTask.run(AsyncInvocationTask.java:73)
[wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_85]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_85]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_85]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: sun.security.validator.ValidatorException: No trusted
certificate found
at
sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:394)
[rt.jar:1.7.0_85]
at
sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:134)
[rt.jar:1.7.0_85]
at sun.security.validator.Validator.validate(Validator.java:260)
[rt.jar:1.7.0_85]
at
sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
[jsse.jar:1.7.0_85]
at
sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
[jsse.jar:1.7.0_85]
at
sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
[jsse.jar:1.7.0_85]
at
sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1451)
[jsse.jar:1.7.0_85]
... 87 more
2015-11-05 04:32:39,596 WARNING [APNsPushNotificationSender] (EJB default -
4) Error on 'ios' delivery
2015-11-05 04:40:00,169 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-26)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:21,553 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-30)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:26,675 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-33)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:28,864 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-34)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:30,969 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-37)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:33,150 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-36)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:36,375 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-39)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:43,324 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-43)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:46,273 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-41)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:48,448 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-40)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:50,514 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-42)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:52,733 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-45)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:55,093 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-46)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:56,742 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-44)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:40:58,947 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-51)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:41:01,469 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-50)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:41:03,297 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-52)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
2015-11-05 04:41:09,376 WARN
[org.hibernate.hql.internal.ast.QueryTranslatorImpl] (default task-55)
HHH000104: firstResult/maxResults specified with collection fetch; applying
in memory!
--
Florian TRAVERSE
Software Architect
Allocab, votre chauffeur sur-mesure
M. +33 6 12 39 66 50
A. 7 impasse Charles Petit, 75011 Paris
W. www.allocab.com
E. florian.traverse(a)allocab.com
8 years, 5 months
Trouble sending Android Push Notifications
by Rob Willett
Hi,
We’ve got iOS notifications working well and so we thought we’d push
our luck and get Android notifications up and running. We’ve had them
working before with another plugin so it can’t be that difficult….
We’ve followed the guide from here
https://aerogear.org/docs/unifiedpush/aerogear-push-android/guides/#troub...
The Google web interface has changed but its still pretty much the same.
1. We’ve got and logged the Project Number (which is the Sender Id).
2. We’ve created a new server API key (is this the same as the GCM
Messaging key?)
This appears to be all thats needed. We have an very old version of our
app sitting in development in the Google Play Store but its never been
released as we focussed on the iOS version. That used to linked to the
GCM information but we have unlinked that now.
3. We have created a new variant on the UPS for Android. We create a
name, description and where it asks for the Google Cloud Messaging Key
we enter the Server API key we created in point 2. This is a bit we are
unclear about, is the google Cloud Messaging Key the same as the Server
API key we generated in Google Play services console? One of the things
we noticed is that the example Google Cloud Messaging Key in the UPS
dialogue box starts with a different few header bytes e.g. 5a44 whereas
all the Server ApI keys start Alza. We are not experts on cryptography
but we thought that *might* indicate a different type of key. It also
might be nothing at all and Google has simply updated something.
4. We add in the Project number.
5. This creates the Android variant in the UPS dashboard. If we click on
the variant we can see the expanded information showing the Server URL,
the Variant ID and the Variant Secret.
6. This seems to work much the same as the iOS variant.
7. We then update our Cordova app and update the pushConfig field.
```
var aeroGearPushConfig = {
pushServerURL:
"https://push-jambuster.rhcloud.com/ag-push/", // Checked that this
matches the Android variant.
ios: {
variantID: “XXXXX-TTTc-OOOO-RRRR-BBBHBHBH”,
// Obscured
variantSecret:
“JKJKJ-HHHH-PPOPIO-sdsds-1231232” // Obscured
} ,
android: {
senderID: “XXXXXX” , // Changed to protect
the innocent but checked that the senderID is the same as the Google
Project Id
variantID: “345345-345345-45345-xxxx-zzzzz”
, // Changed but checked to make sure this is the Android VariantId
variantSecret:
"9b762d92-a7f0-4e8b-b6e4-adde4950c7e6" // Changed but checked to make
sure this is the Android VariantSecret
} ,
sendMetricInfo: true,
alias: UUID // This is a unique string
};
```
We compile and run it on a real device, a Nexus 5. We create a unique
alias to be sent to be sent as the alias. This is the UUID field
8. When we run the code and inspect the output in Chrome, the aeroGear
Success Handler is called which we hope means success.
9. When we inspect the variant in the UPS dashboard, we can see that the
a device with the right alias is created. The alias matches the alias we
sent.
10. This all looks good. We have three real (i.e. non simulator) test
devices in our UPS dashboard, two iOS devices and one Android device.
11. We click on the Send Push icon in the UPS dashboard to create some
sample notifications. We send a simple test message to all variants. The
two iPhones each get the test message and the Android phone doesn’t.
12. We click on the Dashboard icon in the UPS console, and then recent
activity. We can see that the UPS server thinks it has sent the test
message to the iOS and the Android variants. with no issues. We get
alerts for the iOS pop up but nothing for the Android version.
```
Notification Receivers Status Timestamp
{"ipAddress”:”XX.YY.ZZ.216","clientIdentifier":"A... 3
installations Succeeded 26 Nov, 10:09:04, 2015
Request IP: XX.YY.ZZ.216 Details
Message: test11
Variants:
Android Jambuster Succeeded 1 installations
Jambuster Development Succeeded 2 installations
```
13. The main UPS console doesn’t report any errors and it states that
3 installations are registered. We’ve sent 657 notifications since
yesterday trying to see what the problem is. We though that using the
UPS console removed any issues with us creating the test message. Since
we can see the iOS devices getting the test message, we are struggling
to understand why the Android wouldn’t.
14. We’ve tried with the Android app running in the foreground,
background and not running at all to see if that makes any difference
and still nothing comes through.
15. If we look at the log files using roc tail, we can see that the
messages get passed on. No error messages are reported.
```
2015/11/26 05:20:38,528 INFO [PushNotificationSenderEndpoint] (EJB
default - 7) Processing send request with '[alert=Test12,
criteria=[aliases=null, deviceTypes=null, categories=null,
variants=null], time-to-live=-1]' payload
2015/11/26 05:20:38,530 INFO [PushNotificationSenderEndpoint]
(http-/127.3.204.1:8080-5) Message submitted to PushNetworks for further
processing
2015/11/26 05:20:38,533 INFO [GCMPushNotificationSender] (EJB default -
7) Sending payload for [1] devices to GCM
2015/11/26 05:20:38,590 INFO [GCMPushNotificationSender] (EJB default -
7) Message to GCM has been submitted
2015/11/26 05:20:38,726 INFO [APNsPushNotificationSender] (EJB default
- 7) Message to APNs has been submitted
```
Whilst it is impossible for people to debug our code and we don’t want
people to, we’re struggling to understand what we could have done
wrong. The fact we are getting iOS messages through whilst Android
messages are failing (but with no error) is perplexing. We have rebuild
the Server API kets in Google, deleted and rebuilt the Android variant
but we’ve now hit a brick wall. We have a nagging feeling it is
something to do with the GCM Server API key but everything reports OK.
Any and all suggestions gratefully received.
Thanks
Rob
8 years, 9 months
Duplicated notifications
by Alex Ballesté
Hi, recently I've updated to 2.0.4 cordova plugin and I noticed that lot
of times notifications are not displayed. Others the notifications are
displayed multiple times in the bar but it was only sent once, and
others times are shown with some older that I've already received. Any
suggestion to find what's happening?
Things already detected: If APP is closed I've see the notification with
"1" number. If opened I see it with an "8" .
Screenshots:
http://ibin.co/2PTCBCRewjEx
http://ibin.co/2PTCPYtIqiJy
Following the stacktrace of the last message sent:
http://pastebin.com/FtFr6fbc
Thanks
Alex.
--
Alexandre Ballesté Crevillén alexandre.balleste at udl.cat
====================
Universitat de Lleida
Àrea de sistemes d'Informació i Comunicacions
Analista/Programador
University of Lleida
Information and Communication Systems Service
Tlf: +34 973 702148
Fax: +34 973 702130
=====================
Avís legal/Aviso legal/Avertiment legal/Legal notice
<http://www.imatge.udl.cat/avis_legal_lopd.html>
8 years, 9 months
Possible bug in Aerogear Push Cordova/iOS implementation but not in the Cordova/Android version
by Rob Willett
Hi,
We think we have found a possible bug in the Aerogear Cordova 2.0.4 push
plugin specifically on the iOS side.
###Summary###
We have two versions of our app, an Android and an IOS version. Both use
the latest Cordova push plugin 2.0.4. They also both have the latest
Cordova platforms, android 4.1.1, ios 3.9.2. Both the iOS and Android
versions are compiled at the same time. We are running cordova 5.3.3
with Ionic 1.7.8 (?).
1. We make sure that both apps are NOT started up on each device. We
also check they are NOT in the background.
2. We send the same simple notification to each device. This
notification config is as below, we have anonymised the variants and
alias in this JSON structure, though we can report that the UPS server
sends the data correctly. We use the additionalData flag to provide the
information necessary to decide which notification has been clicked in
the notification drawer.
```
'variants' => [‘variant1’,’variant2’ ],
'message' => {
'additionalData' => { 'Disruption_Id' => '107546',
'EpochTime' => '1450125268'
},
'alert' => 'Cannon Street (EC4N) (All Directions) at the junction of
King William Street - To facilitate a heavy lift in Cannon Street,
Cannon Street will be closed. Traffic is slow moving on diversion.' },
'alias' => [ ‘alias1’ ],
'ttl' => 600
};
```
3. Both devices show the message, the Android device stacks the message
and the iOS device display an individual message. This looks correct.
4. Clicking on the Android stacked message starts up the app and the
Javascript notification handler we have defined,
HandleAeroGearNotification is called
```
HandleAeroGearNotification: event => {"alert":"Cannon Street (EC4N) (All
Directions) at the junction of King William Street - To facilitate a
heavy lift in Cannon Street, Cannon Street will be closed. Traffic is
slow moving on
diversion.","coldstart":true,"foreground":true,"payload":{"alert":"Cannon
Street (EC4N) (All Directions) at the junction of King William Street -
To facilitate a heavy lift in Cannon Street, Cannon Street will be
closed. Traffic is slow moving on diversion.","badge":"-1"}}
```
5. Clicking on the notification in the notification drawer on the iOS
device also starts our app up correctly but the notification handler,
HandleAeroGearNotification(), is NOT called. The app starts up as normal
as if the notification had not been clicked. We would expect the
notification handler to be called in iOS as it is in Android.
6. All notifications are cleared on both Android and iOS correctly when
the app is started up.
6. We define HandleAeroGearNotification as
```
var aeroGearPushConfig = {
pushServerURL: "https://push-jambuster.rhcloud.com/ag-push/",
ios: {
variantID: “variantid_obscured”,
variantSecret: “variant_secret_obscured”
} ,
android: {
senderID: "variantid_obscured" ,
variantID: "variant_id_obscured" ,
variantSecret: "variant_secret_obscured"
} ,
sendMetricInfo: true,
alias: alias1
};
function HandleAeroGearNotification(event) {
console.log(“HandleAeroGearNotification: event => “ +
JSON.stringify(event));
// Stuff cut for clarity
}
// Slightly simplified registration event.
push.register(HandleAeroGearNotification , function () {
console.log(“Success”):
} , function () {
console.log(“Failure”);
} , aeroGearPushConfig);
```
We cannot see any reference to this issue in the JIRA database and
wondered if it is a bug or not.
If its a bug we are happy to raise it accordingly.
Please let us know,
Thanks
Rob
8 years, 9 months
UPS High Availability
by aamagdi
Hi
I planning to deploy UPS 1.1 with a cluster configuration on jBoss 6.4, I
want to ask about UPS high availability capabilities.
For example for the below scenario:
1- A call sent to UPS rest sender api for a push notification with out
define any aliases / variant or categories.
2- UPS have about 10,000 registered mobile devices.
3- What I have understand from UPS guide that the default batch size is 1000
so this call will be split into 10 batches each batch have 1000 device, and
UPS will start sending one batch after another.
4- After sending two batches the sever goes down or some failure occurred.
5- Switching to the second server node of the UPS
Will it resume sending the request handled by the first node? or the request
will lost?
Thanks,
Abdalla
--
View this message in context: http://aerogear-users.1116366.n5.nabble.com/UPS-High-Availability-tp394.html
Sent from the aerogear-users mailing list archive at Nabble.com.
8 years, 10 months
Idle in transaction using AeroGear Unified Push 1.1.0 and postgresql 9.3
by Marius Schellenberger
Hello AeroGear dev's,
I'm currently evaluating the AeroGear Unified Push Server in a
pre-production environment (RedHat JBoss EAP 6.4.4) and I'm facing an issue
with an idle database transaction, which is executed every time the app is
deployed (or the JBoss Server is started).
I'm using Postgresql 9.3 as the database backend.
The idle process listed in ps aux:
postgres: keycloak keycloak 10.0.6.106(55387) idle in transaction
The transaction seems to hang at this SQL statement:
select authentica0_.REALM_ID as REALM_ID4_28_1_, authentica0_.ID as
ID1_3_1_, authentica0_.ID as ID1_3_0_, authentica0_.ALIAS as ALIAS2_3_0_,
authentica0_.PROVIDER_ID as PROVIDER3_3_0_, authentica0_.REALM_ID as
REALM_ID4_3_0_ from AUTHENTICATOR authentica0_ where
authentica0_.REALM_ID=$1
The query results nothing, as you can see below:
select * from AUTHENTICATOR;
id | alias | realm_id | provider_id
----+-------+----------+-------------
(0 rows)
Can you guys please help me identifying this issue?
Kind regards,
Marius Schellenberger
8 years, 10 months