【问题标题】:How do you remove an app request on the iOS Facebook SDK?如何删除 iOS Facebook SDK 上的应用请求?
【发布时间】:2012-01-30 07:11:43
【问题描述】:

使用 iOS SDK 在 Facebook 上发出应用请求时,开发者指南要求开发者在应用打开时清除请求。

删除请求

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

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

【问题讨论】:

    标签: facebook-graph-api facebook-ios-sdk


    【解决方案1】:

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

    FBRequest *request = [facebookObject requestWithGraphPath:@"REQUEST-ID_USER-ID"
                                        andParams:[NSMutableDictionary dictionary]
                                        andHttpMethod:@"DELETE"
                                        andDelegate:self];
    

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

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

    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
    

    这很可能在您的应用委托中实现。

    用户现有的所有请求 ID 在 url NSURL 的 target_url 参数的 request_ids 参数中以逗号分隔。这只发生在用户点击 iOS Facebook 应用中的应用请求通知并且您的 Facebook 应用启用了iOS Native Deep Linking 时。

    【讨论】:

    • 就我而言,target_url 缺少 request_ids 参数。我的目标网址格式为:facebook.com/appcenter/<APP_ID>。任何想法为什么 url 可能缺少 request_ids 参数?
    • 假设我想在用户单击通知中的请求后删除该请求,那么放置代码的最佳位置是哪里?
    猜你喜欢
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多