Thursday, November 10, 2011

OpenFeint - Upgrading to GameFeed

So OpenFeint is making a big deal of its GameFeed feature. The big claim is that GameFeed increases sessions per player as much as 65%!! If you have developed an OpenFeint game then you will need to upgrade to the latest version of OpenFeint 2.12.3. Here's the install instructions.

 In true style OpenFeint has messed-up its documentation as usual. There's a couple of gotchas to be aware of.

 (1) Framework Install Vs File Directory Install

If you are going with the 'framework' way of upgrading then you will need to change the #import statements such that

#import "OFNotificationData.h"

changes to:

#import "OpenFeint/OFNotificationData.h"

This issue will be picked up by the Xcode build results. So just work through it to resolve all instances of this error.

But there are other error types.....

(2) OFDelegate is gone, Say hello to OFInvocation

For some reason OpenFeint decided to completely get rid of OFDelegate as a class from its API. This means all uses of it in your code will return an error. This is quite problematic OFDelegate was used a hell of lot once you started getting deep into OpenFeint. Instead you must use OFInvocation. Here's a typical error case you are likely to encounter. 

The old way:



#import OpenFeint/OFDelegate.h
#import OpenFeint/OFChallengeService.h
. . .

[OFChallengeService getPendingChallengesForLocalUserAndLocalApplication:1
onSuccess:OFDelegate (self, @selector(_onGotNumPendingChallenges:))
onFailure:OFDelegate (self, @selector(_onGotNumPendingChallengesFailed)) ];


The new way:



#import OpenFeint/OFInvocation.h
#import OpenFeint/OFChallengeService.h
. . .

[OFChallengeService getPendingChallengesForLocalUserAndLocalApplication:1
onSuccessInvocation:[OFInvocation invocationForTarget:self selector:@selector(_onGotNumPendingChallenges:)]
onFailureInvocation:[OFInvocation invocationForTarget:self selector:@selector(_onGotNumPendingChallengesFailed)]
];


 Update - I didn't end up using GameFeed. It takes quite a bit of space and the constant feed of info will hit game performance I think. This is just a gut call. I didn't really look into it that deeply. My impression is that your game should be designed to integrate GameFeed. I don't think it's a feature you throw in at the end of the development cycle.

Best, Nige

No comments:

Post a Comment

Share