2012-07-30 76 views
1

在向xtify管理器注册deviceToken后,如何知道xid何时可用?Xtify iOS API 2.0检索XID

我这样做:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    XLXtifyOptions *anXtifyOptions=[XLXtifyOptions getXtifyOptions]; 
    [[XLappMgr get ]initilizeXoptions:anXtifyOptions]; 
    [[XLappMgr get] launchWithOptions:application andOptions:launchOptions]; 
} 

然后

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken 
{ 
    [[XLappMgr get] registerWithXtify:devToken ]; 
} 

,它是打印出XID等东西到控制台,但我需要得到它的应用程序,所以我可以将其注册到我自己的服务器(然后使用推送REST api向个人用户发送消息)。

我注意到XLappMgr有一个-(NSString *)getXid;方法,但我怎么知道我什么时候可以调用它?是否有一个委托方法在可用时被调用,还是需要进行轮询?

Regards

+2

我们增加了积压的项目,以使提醒注册成功。我们将在我们的SDK门户上提供该问题时更新此问题。 – 2012-07-30 19:02:45

+1

@Dylan请在我的答案中检查编辑 – Suchi 2012-07-31 17:57:44

+1

谢谢,这比我的其他解决方案使用performSelector延迟一直到它出现之前都要干净得多。 – Dylan 2012-08-07 01:38:24

回答

3

此时没有委托方法。你是对的,你需要轮询它或在应用程序到达前台时第二次检查它。

编辑:

现在有与Xtify注册​​成功后得到通知的方式。首先,你需要指定委托 -

[[XLappMgr get] setInboxDelegate:self]; // The delegate is used to all Xtify delegation methods. 
[[XLappMgr get] setDeveloperXidNotificationSelector:@selector(doUpdateDevServer:)]; 

然后,你需要实现方法本身 -

- (void) doUpdateXid:(XLappMgr *)appM 
{ 
    NSLog(@"Got XID=%@",[appM getXid]); 
    // Example, update the xid on developer's server 
} 

你会发现细节here

+1

谢谢Suchi。我一直在努力,直到现在:) – nasaa 2013-01-03 10:47:57