如何在iOS Facebook SDK上删除应用请求?

Rea*_*lly 4 facebook-graph-api facebook-ios-sdk

使用iOS SDK在Facebook上发布应用程序请求时,开发人员指南要求开发人员在应用程序打开时清除请求.

删除请求

当用户通过单击接受请求定向到您的应用程序时,您必须在接受请求后删除该请求.点击后请求不会自动删除,因此开发人员有责任在接受请求后将其清除. https://developers.facebook.com/docs/requests/#deleting

是否有清除所有通知或其他类似帮助的功能?

小智 5

以下API将清除特定的应用请求:

FBRequest *request = [facebookObject requestWithGraphPath:@"REQUEST-ID_USER-ID"
                                    andParams:[NSMutableDictionary dictionary]
                                    andHttpMethod:@"DELETE"
                                    andDelegate:self];
Run Code Online (Sandbox Code Playgroud)

将请求ID替换为REQUEST-ID,将Facebook用户的Id替换为USER-ID(两者之间的下划线很重要).更改andDelegateandParams根据需要,但不传递nil对象,andParams否则它将完全失败.

要删除所有请求,您需要遍历在url中传递的所有请求:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
Run Code Online (Sandbox Code Playgroud)

这可以在你的app代理中实现.

所有用户的现有请求ID都以逗号分隔在NSURL request_ids中的target_url参数中url.仅当用户在iOS Facebook应用程序中单击应用程序请求通知并且您的Facebook应用程序已iOS Native Deep Linking启用时,才会发生这种情况.