0

我目前正在将 iphone 的 facebook 和 twitter 与 gigya 集成。

对于 Twitter,有时它的共享,有时不共享。Facebook 也同样如此。

最近 facebook 甚至没有在屏幕上打开它的登录。在设备上,与 LoginDidFail 等模拟器委托方法不同,DidLogin 多次调用。不知道为什么。

登录发生时,我没有存储任何对象来存储提供者信息。

你能告诉我为什么这不一致吗

4

2 回答 2

0

这似乎是一个多部分的问题。我需要更多信息才能更清楚地理解。如果可能,请提供代码片段。同时,请参阅以下我的回复:

  1. 不一致的共享
    • 这可能与您的 userAction 的定义方式有关。(http://wiki.gigya.com/030_API_reference/010_Client_API/010_Objects/UserAction_object)
  2. 登录屏幕未加载
    • 通常,这归结为未正确设置的社交网络应用程序。(http://wiki.gigya.com/035_Socialize_Setup/005_Opening_External_Applications)
  3. 重复调用的事件委托方法
    • 这可能是 GSAPI 类的多个实例。

希望有帮助。

于 2010-12-01T00:50:41.443 回答
0

我正在使用以下代码片段

GSAPI *gsAPI // 在头文件中声明

gsAPI = [[GSAPI alloc] initWithAPIKey:XX viewController:self]; // 我把它保存在 viewDidload

// 添加此代码以使 facebook 和 twitter 出现在提供商列表中。这被放入一种方法中,当用户尝试共享时将调用该方法

GSDictionary *pParams5 = [[GSDictionary new] autorelease]; [pParams5 putStringValue:@"facebook,twitter" forKey:@"enabledProviders"]; [gsAPI showAddConnectionsUI:pParams5 委托:自身上下文:无];

//登录失败时调用此方法 -(void)gsLoginUIDidFail:(int)errorCode errorMessage:(NSString*)errorMessage context:(id)context {

}

// 成功登录时调用此方法 - (void) gsLoginUIDidLogin:(NSString*)provider user:(GSDictionary*)user context:(id)context {

GSDictionary *userAction = [[GSDictionary new] autorelease];

[userAction putStringValue:@"title" forKey:@"title"];

[userAction putStringValue:@"userMessage" forKey:@"userMessage"];

[userAction putStringValue:@"desc" forKey:@"description"];

[userAction putStringValue:@"imageurl" forKey:@"linkBack"];

GSDictionary *pParams5 = [[GSDictionary new] autorelease];

[pParams5 putGSDictionaryValue:userAction forKey:@"userAction"];

[gsAPI sendRequest:@“socialize.publishUserAction”参数:pParams5委托:self context:nil];

}

-(void) gsDidReceiveResponse:(NSString*)method response:(GSResponse*)response context:(id)context { //显示成功共享的警报消息 //此方法在设备上被调用两次以上 }

于 2010-12-14T04:33:43.180 回答