현재 저는 샌디에고의 메트로폴리탄 트랜싯 시스템과 함께 사용할 대중 교통 웹 앱을 개발 중입니다. iOS의 경우 [집] [즐겨 찾기] [알림]의 세 가지 항목이있는 TabBar를 사용할 계획이었습니다. [집]은 메인 페이지 (및 다른 페이지)로 연결되며 [즐겨 찾기]는 좋아하는 버스/트롤리 정류장을 설정할 수있는 곳입니다.UIWebView를 통해 PHP 스크립트에 장치 토큰 보내기
[즐겨 찾기]는 MTS가 제공 한 예정 시간에 버스가 도착하기 전에 알림을 보내도록 설정할 예정입니다. 예를 들어, 버스가 10시 30 분에 도착하고 5 분 전에 도착 알림을 설정하면 경고가 표시되고 10시 25 분에 알림을 받게됩니다.
기기 토큰과 계정을 연결하려고했는데 여기에 Linking user account to device token for push notifications과 같은 몇 가지 질문을 읽었습니다.
로그인 할 때 장치 토큰을 UIWebView로 보내 계정을 어떻게 든 연결할 수 있다고 생각합니다.
누군가 나를 도울 수 있기를 바랍니다.
편집
: 아래 푸시 알림 등록 네이티브 응용 프로그램을 통해 이루어집니다 만 네이티브 응용 프로그램을 통해 수행 할 수 있습니다Home.m
#import "Home.h"
@implementation HomeViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *URL1 = [NSURL URLWithString:@"url"];
NSURLRequest *Request1 = [NSURLRequest requestWithURL:URL1];
[webView1 loadRequest:Request1];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"1");
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
NSString *deviceToken = [defaults objectForKey:@"deviceToken"];
bool tokenIsSent = [defaults boolForKey:@"tokenIsSent"];
NSString *newToken = [defaults stringForKey:@"newToken"];
NSLog(@"2");
NSString *urlString = [NSString stringWithFormat:@"url"];
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSData *usernameData;
NSURLResponse *response;
usernameData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil];
NSString *username = [[NSString alloc] initWithData:usernameData encoding:NSUTF8StringEncoding];
NSLog(@"3");
if (deviceToken != nil && tokenIsSent == NO) {
NSLog(@"4");
NSString *urlString = [NSString stringWithFormat:@"url/s=%@&u=%@",newToken, username];
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSData *urlData;
NSURLResponse *response;
urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil];
NSString *info = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
if([info isEqual: @"success"]){
[defaults setBool:YES forKey:@"tokenIsSent"];
NSLog(@"5");
}else{
[defaults setBool:NO forKey:@"tokenIsSent"];
NSLog(@"6");
}
[defaults synchronize];
} else {
NSLog(@"7");
}
}
FreeGor의 답변에서 작성한 의견을 보면이 답변과 'NSURLRequest'를 결합하여 기기에 연결된 계정을 성공적으로 만들 수 있다고 생각하십니까? – alexpja
@alexpja 기기가 서비스를 푸시 등록 할 때 아직 어떤 기기가 해당 계정과 연결되어 있는지 모르기 때문에 일단 사용자가 인증되면 'NSURLRequest'를 수행하십시오. – meda
알았어요. 뒤로. – alexpja