Push notificaties discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Hallo, Ik loop al een weekje te testen en proberen met push notificaties. Dit gaat allemaal prima, mijn server werkt ook, mijn berichten komen mooi ...
|
Registreer | FAQ | Ledenlijst | Kalender | Berichten van vandaag | Zoeken |
#1
|
|||
|
|||
Push notificaties
Hallo,
Ik loop al een weekje te testen en proberen met push notificaties. Dit gaat allemaal prima, mijn server werkt ook, mijn berichten komen mooi aan op mijn Iphone, allemaal prima dus en helemaal blij dat het zo makkelijk zonder problemen gelukt was. Echter het werkte alleen omdat ik mijn "devicetoken" wist, als andere telefoons de app installeren moet dit allemaal vanzelf gaan. Ik moet de tokens verzamelen en als ik een push wil die tokens oproepen, dit werkt allemaal maar ik krijg op de een of andere manier de token niet verzonden. Dit is wat ik doe: In de appdelegate staat het volgende: PHP-code:
Daar gebruik ik de volgende code voor. PHP-code:
Alleen gaat het fout bij de Iphone, bij het versturen van de token/oproepen van de URL. Ook in het NSLog zie ik geen fouten alleen dat hij nu blijft hangen op "Registering for push notifications..." Ik weet het even niet meer, jullie enig idee? |
|
|
Gesponsorde links (verdwijnt na registratie)
|
#2
|
|||
|
|||
Iemand?
|
#4
|
|||
|
|||
Citaat:
Ik moet de tokens van al mijn gebruikers hebben en die verzenden. Zie mijn voorbeeld code, maar op de een of andere manier werkt die niet. Daar licht dus het probleem, hoe doen andere developers dat hier met push, hun tokens verzamelen? |
#5
|
||||
|
||||
Ik sla mijn token op in de NSUserDefaults en pas als het daadwerkelijk nodig is, verstuur ik de tokens naar de server.
Overigens haal ik wel de spaties en de <> uit de tokens die worden opgehaald. Kan goed zijn dat dat ook bij jou een probleem is? Misschien even zorgen dat je urlstring wordt omgezet en bijvoorbeeld de spaties vervangt voor %20 zoals die in een URL horen te zijn.
__________________
Het grootste voetbalforum van Nederland |
#6
|
|||
|
|||
Citaat:
Kun je een beetje helpen. |
#7
|
||||
|
||||
Citaat:
Persoonlijk haal ik gewoon de spaties en de <> eruit op deze manier: Code:
NSString *token = [[[[deviceToken description] stringByReplacingOccurrencesOfString:@"<"withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""]; Code:
NSString *urlstring = [rawstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; |
#8
|
|||
|
|||
Citaat:
Op de een of andere manier kan ik de link (zie code in begin post) niet aanroepen en dan in de URL de token meegeven. Ik zie de fout niet, want deze code werkt wel gewoon als ik er een formulier van maak. Hoe verzend jij je tokens dan naar de server? |
#9
|
||||
|
||||
Citaat:
Die output kan je dan even copy-posten in je browser, om te zien of dat wel werkt. Dit is mijn code in ieder geval voor het versturen: Code:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://url.nl/request.php?deviceId=%@",dev]]; NSError *error; NSString *results = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&error]; |
#10
|
|||
|
|||
Zie bericht hieronder.
Laatst gewijzigd door Dreissen; 28-03-11 om 21:51. |
#11
|
|||
|
|||
Citaat:
In NSLog blijft hij hangen op "Registering for push notifications..." |
#12
|
|||
|
|||
Edit:
Ik laat nu eerst alles in NSLog zetten, zodat ik kan kijken wat er gebeurd. Ik heb nu dat ik deze link krijg: "http://www.website.nl/push/reg_token.php?token=TOKEN Verwijderd Alleen staan er veel % in de url is dat erg? Laatst gewijzigd door Dreissen; 28-03-11 om 22:41. |
#13
|
||||
|
||||
Dus heel de didRegisterForRemoteNotificationsWithDeviceToken wordt niet aangeroepen??
Wat voor code heb je nog meer in de appdelagate? ik neem aan dat deze er wel tussen zit? Code:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)]; |
#14
|
||||
|
||||
En heb je deze er ook in zitten en geeft die misschien wel wat terug?
Code:
-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { NSString *str = [NSString stringWithFormat:@"Error: %@",err]; NSLog(@"%@",str); } |
#15
|
|||
|
|||
Code:
NSString *urlString = [[NSString alloc] initWithFormat:@"http://www.website.nl/push/reg_token.php?token=%@", deviceToken]; NSString *encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString *token = [[[[[encodedString description] stringByReplacingOccurrencesOfString:@"<"withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString:@"%" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""]; NSLog(@"url %@", token); Had bij NSLog nog encodedString staan en niet token. Nu krijg ik een correcte link. Maar het klopt nog niet kijk hier even na: Code:
Mijn token even verwijderd :) Daaronder zie je hoe de token moet zijn dus als ik er nog geen url van heb gemaakt. Laatst gewijzigd door Dreissen; 28-03-11 om 22:40. |
#16
|
|||
|
|||
Het werkt nu
Ik heb: Code:
NSString *encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; Thanks, met jou hulp was het niet gelukt. |
#17
|
||||
|
||||
Ah ok, nou mooi. Maar het was ZONDER mijn hulp ook vast een keer gelukt
|
#18
|
|||
|
|||
|
Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten) |
|
|
|