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, 3 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, 2 months
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, 3 months
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, 7 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, 10 months
Mobile SSO - web brower+ native iOS
by jeffpower78
we have a situation where users have applications both html5 based web and
also native iOS apps accessing from iPads
The requirement is that users access the web based application within a
iPad, which will be redirected to central server for login.
Once user logins, next time, if the same user just tap on the native app
within the same device, it should not again prompt for userid/password,
rather SSO takes care of it
We need to design so that users can toggle back and forth among mobile
browser apps and mobile apps.
This is ideal for agents, sales reps, who to need to switch quickly among
programs while on the go.,
Would like to know - is this something aerogear security supports please or
any suggestion, advice?
Thanks and Regards
Jeff
--
View this message in context: http://aerogear-users.1116366.n5.nabble.com/Mobile-SSO-web-brower-native-...
Sent from the aerogear-users mailing list archive at Nabble.com.
9 years
Push registration with cordova plugin
by Alex Ballesté
Hi, I'm a bit disconcerted about a behaviour of push cordova plugin.
What I'm doing is to use the "register" method to register at the
begining of the app. The second parameter of the app is a the success
handler function, and it's executed when response is received. That's
fine, but later there is a point of the app that user can change the
registration to another group of categories, and I call it the same way,
but success method is not executed.
In the server (aerogear) the category is changed and the 200 response is
sent. Everything seems to work ok but success method not fired. I
remember that this behaviour didn't happen in earlier versions. Now I'm
with the 2.0.3. I'm building for android.
Anybody seeing this behaviour too?
--
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>
9 years
Unified Push Server - Anyway to delete notifications when in background?
by Rob Willett
Hi,
We’ve got the Unified Push Server working on the OpenShift platform.
No real issues once we’d understood the point of aliases.
We can send notifications quite happily and see whats going on. We use
Perl for our backend servers and so we wrote a small Perl interface. If
anybody wants the code for the Perl interface let me know and we’ll
pass it on. We can’t claim a lot of credit for a simple piece of code
:)
Anyway, one of edge use-cases would be to delete notification or set of
notifications when the app is running but in the background on iOS.
We want to do this as the user can receive a high number of
notifications (> 10) when the app is in the background. Notifications
come in groups and provide traffic updates, so a user may get a new
group of 3-4 traffic updates, this new group completely supersedes ANY
previous update. Our data is valuable when fresh and useless when over
10 minutes old.
Whilst we can simply ignore old notifications, UX testing has shown the
users don’t like having old notifications sitting round. We know that
the users can delete them individually or delete the lot from the
notification drawer OR can simply bring the app out of the background
BUT they don’t like doing that.
So what we want to do is delete old notifications, we were hoping for
the ability to call a JavaScript function with say a parameter to
identify notifications by a group or something, but we could accept
deleting the lot and inserting local notifications instead.
We know that we can send content-available and have stuff pulled from a
server in the background. This option is quite difficult for us and has
some complexity identifying when the app is not started up. The simplest
option is delete some or all of the notifications.
Does anybody know if this is possible or any other suggestions?
Thanks
Rob
9 years
Cross-client auth support?
by Michael Doo
Hello,
For the Aerogear iOS OAuth2 library, does it support cross-client
authorization as documented here:
https://developers.google.com/identity/protocols/CrossClientAuth? I have a
project configured in the Google Developers console with two OAuth2 client
IDs. I'd like to have my iOS app send a token request that contains both
client IDs (one in the client_id field and another in the audience field)
and receive a token that has the server_code field which I would then send
to my web app to get it's own refresh/access tokens. Example requests below.
Token request:
audience <web app client ID>.apps.googleusercontent.com
client_id <iOS app client ID>.apps.googleusercontent.com
code 4/qmOAPMYafdJ1Qs14o6wK9Ok_p4bhkzjab72wwLtLg5A
grant_type authorization_code
redirect_uri com.googleusercontent.apps.<iOS app client ID>:/oauth2callback
verifier 81803532
Token response:
access_token String
ya29.NgL_Yz4eECZQR0aHbrYh5_A06Rif_dQYxBLXXZLm5OQiInwKGcKI8Nd2PhxLNtV-XzoQ
token_type String Bearer
expires_in Integer 3600
refresh_token String
1/4aumZ1PQ00zk4xrc4W-xgjMIHA1GnDtpmc17Fopx9-RIgOrJDtdun6zK6XiATCKT
server_code String 4/qz-ClSW_wudBxj5H7cCFhaNDYQQrtcytAokQje_XKf0 <----
NEW!
id_token String eyJhbGciOiJSUzI1NiIsImtpZCI6...
Best,
Michael Doo
9 years