我正在使用 pushwoosh 将推送通知发送到我的 ios 移动应用程序。我想允许用户禁用应用程序内的通知。我遇到的问题是 pushwoosh api 对 ios 使用的设备 ID 与对 android 使用的设备 ID 不同。设备 ID 由插件使用本机代码创建。它使用硬件 mac 地址并应用 md5 算法来创建 phonegap 称为“hwid”(硬件 id)的“唯一”id。我找到了执行此操作的本机目标 c 类,但我不知道如何从 Javascript 访问变量“hwid”。
我已经阅读了 phonegap文档并创建了一个插件,允许我访问本机 ios 类。我的问题是我不知道目标 c,因此无法弄清楚如何将变量返回给回调。
pushwoosh api 需要设备 ID 才能取消注册设备,如您在此处看到的:
{
"request":{
"application":"APPLICATION_CODE",
"hwid": "hardware device id"
}
}
我看过这篇文章,它对我想要完成的事情没有帮助。但是,它确实显示了创建唯一 ID 的本机代码。
我还发现了将 hwid 打印到控制台的此类。如果我能找到一种方法从我的 js 代码中访问下面的“hwid”,我就准备好了。
#import "PWRequest.h"
@implementation PWRequest
@synthesize appId, hwid;
- (NSString *) methodName {
return @"";
}
//Please note that all values will be processed as strings
- (NSDictionary *) requestDictionary {
return nil;
}
- (NSMutableDictionary *) baseDictionary {
NSMutableDictionary *dict = [NSMutableDictionary new];
[dict setObject:appId forKey:@"application"];
[dict setObject:hwid forKey:@"hwid"];
NSLog(@"hwid: %@", hwid);
return [dict autorelease];
}
- (void) parseResponse: (NSDictionary *) response {
}
- (void) dealloc {
self.appId = nil;
self.hwid = nil;
[super dealloc];
}
@end
有人可以指出我正确的方向吗?谢谢。