As of April 12th, you must go to Progress SupportLink to create new support cases or to access existing cases. Please, bookmark the SupportLink URL and use the new portal to contact the support team.
Lodi:
Can you confirm which version of the library you're using?
Can you show me a sample of the code that you're using to handle the push on the device?
Can you inform me of what version of iOS this is targetting
Are you pushing to one user or multiple?
Thanks,
I did confirm the Kinvey version and it is the latest 1.28. Targeting iOS 7 and 8 but right now testing on 8. Only sending to one user at this time. Code for handling the push below:
All in the AppDelegate:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){
UIUserNotificationType noteTypes = UIUserNotificationTypeBadge |
UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *noteSettings =
[UIUserNotificationSettings settingsForTypes:noteTypes categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:noteSettings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}else{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
}
(void) [[KCSClient sharedClient] initializeKinveyServiceForAppKey:@“XXXXXXXXXX”
withAppSecret:@“XXXXXXXXXXXXXXXXXXXXXX”
usingOptions:nil];
[KCSPush registerForPush];
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
[[KCSPush sharedPush] application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken completionBlock:^(BOOL success, NSError *error) {
//if there is an error, try again laster
if(success == YES){
NSLog(@"## Worked success: %hhd", success);
}else{
NSLog(@"## PUSH REG ERROR: %@", error.description);
}
}];
// Additional registration goes here (if needed)
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
[[KCSPush sharedPush] application:application didReceiveRemoteNotification:userInfo];
application.applicationIconBadgeNumber = application.applicationIconBadgeNumber+1;
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:440] forKey:@"homeViewMode"];
}
- (void) application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
[[KCSPush sharedPush] application:application didFailToRegisterForRemoteNotificationsWithError:error];
NSLog(@"%@, %@", error, error.localizedDescription);
}
What method are you using to push to the device?
Also, does the device you're pushing to have an entry in the messaging field in the databrowser?
You can email me the devicetoken and I can tell you if it's active or not. Also, have you uploaded a push certificate?
Thanks,
I am using the Kinvey console to test the pushes right now. I have uploaded a production certificate to the system. We had this working a year ago or so with a development certificate. I do have several tokens in the DB as its a test account so used on many devices.
I have two followup questions. What does 202 Accepted mean in the Kinvey Console? Also is there anyway to view errors coming back from Urban Airship? I am trying to narrow this all down but I cant really find error codes or anything to debug.
Thanks
Lodi:
1. 202 means that your action was accepted, and threw no user-facing errors.
2. We don't ensure that push is delivered on IOS (because not even apple promises that it will be delivered by them), but you can get a send report via Urban Airship. The two API calls that I've found most useful for debugging push are (Please note, you will need to create a basic auth token for their API using your id / master secret, I recommend using something like Postman in Chrome)
HTTP GET: https://go.urbanairship.com/api/device_tokens/<DEVICE TOKEN YOU'RE TESTING>
This will generally return a json object that looks something like this:
{
"device_token": "<Device Token You're Testing>",
"created": "2013-10-15 18:30:34",
"last_registration": null,
"tz": null,
"tags": [],
"alias": null,
"quiettime": {
"start": null,
"end": null
},
"active": true, <-- If this is set to false the device cannot get push notifications
"badge": 0
}
Another good test is to test a push in UA itself, this will return you a report that you can run a httpGet against:
Here's the call to do a simple push against the UA api:
HTTP POST: https://go.urbanairship.com/api/push
{
"device_tokens" :["<Device You're Testing Here>"],
"msg" : {"alert": "My Test"}
}
There is a fairly complete documentation resource for their stuff, but I've found the majority of it to be very specific and not tremendously useful for debugging simple push issues: http://docs.urbanairship.com/api/ua.html
Please let me know if you have any additional questions.
Thanks for the direction to test in UA or in Postman. My problem now is I cannot login/Authenticate with UA using id or email or any of the values in Kinvey. Right now I am testing with App ID and App Master Secret but have no luck.
I have been working to get the calls to work in Postman but no combination of ID and Master Secret work to authenticate. Using App ID and App Master Secret. Am I using the wrong thing?
Thanks
Good morning Lodi:
In postman are you going into basic auth to put in your app_id / mastersecret from the push config page on kinvey? I apologize if this was a little ambiguous before, here's an image that might assist in showing you what I mean.
Lodijones
I have been trouble shooting this for a bit. I send a push to one user with filter email address. The status code is 202 Accepted and the app receives a token as it should. Everything seems to be working but I never get a notification or any error in any way. What does 202 really mean and is there any way to get more information on push notifications going through or failing?