我正在我的应用中实施推送通知。 我已根据苹果指南创建了证书和配置文件。 我也能够获得令牌 didRegisterForRemoteNotificationsWithDeviceToken:方法
我正在使用PHP服务器生成PUSH通知。 现在我不清楚,我是否需要将apptoken发送回我的推送服务器。 以及如何将令牌发送到服务器。
谢谢,
答案 0 :(得分:2)
是的,您应该实现服务器公开的Web服务,以允许客户端应用程序将其推送令牌发送到服务器。
如果没有令牌,您的服务器就不知道在哪里发送通知。
答案 1 :(得分:0)
您需要转换方法- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
中收到的令牌,如此
NSString *tokenPush = [[[deviceToken description] stringByTrimmingCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"<>"]]
stringByReplacingOccurrencesOfString:@" " withString:@""];
然后将其发送到您的服务器以保留它。之后,当您需要向任何设备发送任何推送通知时,您将需要使用此tokenPush。
答案 2 :(得分:0)
- (void)savePlayerDataOnServer:(NSString *)facebookName {
appdelegate = [[UIApplication sharedApplication]delegate];
NSLog(@"Tokennn %@", [appdelegate string]);
NSURL *url = [NSURL URLWithString:kAPIHost@"yourscripturl"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
NSString *fbnameinside = [[NSString alloc] initWithFormat:@"%@",facebookName];
NSLog(@"globalmailID in savePlayerDataOnServer %@",globalmailID);
[request setPostValue:fbnameinside forKey:@"PlayerName"];
[request setPostValue:globalmailID forKey:@"PlayerEmail"];
[request setPostValue:[appdelegate string] forKey:@"DeviceToken"];
[request setDelegate:self];
[request startAsynchronous];
[request setCompletionBlock:^{
NSString *responseString = [request responseString];
NSLog(@"Response in savePlayerDataOnServer: %@", responseString);
}];
[request setFailedBlock:^{
NSError *error = [request error];
NSLog(@"Error in savePlayerDataOnServer: %@", error.localizedDescription);
}];
}