应用程序邀请 facebook |没有在 iOS 上收到通知,但在 android 中收到了邀请,但邀请列在 facebook -> 应用程序 -> 应用程序邀请中

Posted

技术标签:

【中文标题】应用程序邀请 facebook |没有在 iOS 上收到通知,但在 android 中收到了邀请,但邀请列在 facebook -> 应用程序 -> 应用程序邀请中【英文标题】:App Invites facebook | not getting notification on iOS but getting in android however invitation is listed in facebook -> apps -> app invites 【发布时间】:2016-06-06 19:16:11 【问题描述】:

我在我的应用中添加了 facebook 应用邀请功能,下面是我发送应用邀请的代码

    let content = FBSDKAppInviteContent()
    content.appLinkURL = NSURL(string: "applinkurl")
    content.appInvitePreviewImageURL = NSURL(string: "appInvitePreviewImageURL")
    FBSDKAppInviteDialog.showWithContent(content, delegate: self);

我在类中添加了以下扩展

extension FACEBOOKTEXT:FBSDKAppInviteDialogDelegate 
    //MARK: FBSDKAppInviteDialogDelegate
    func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didCompleteWithResults results: [NSObject : AnyObject]!) 
        print("invitation made")
    
    func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didFailWithError error: NSError!) 
        print("error made")
    

在应用委托中:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool 
    var shouldReturn:Bool = FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation);

    shouldReturn = shouldReturn || GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication, annotation: annotation);
    shouldReturn = shouldReturn || Instagram.sharedManager().handleOpenURL(url);
    shouldReturn = shouldReturn || LinkedInBridge.handleURL(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation);

    return shouldReturn;

我已经从 facebook 门户配置了“应用程序链接”并将其放入 infi.plist 和 content.appLinkURL。

运行此代码时,将发送应用邀请。当应用程序邀请的接收者在 android 上时,邀请会列在 facebook 的通知感觉中,并且用户可以通过它安装应用程序。但是,如果邀请的接收者在 ios 上,则邀请不会在用户的通知提要中列出,但是如果用户转到 facebook -> More(tab) -> apps -> App邀请,则此处列出了邀请。

请指导我哪里做错了。以及我应该怎么做才能在 iOS 的通知中列出邀请,就像 android 一样。 我正在使用 Xcode 6.4 和 Swift 1.2 这适用于 iOS 8,但不适用于 iOS 9

提前致谢,

【问题讨论】:

【参考方案1】:

将以下 URL 方案添加到您的 info.plist 以使其在 iOS 9 中工作

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbapi</string>
        <string>fbapi20130214</string>
        <string>fbapi20130410</string>
        <string>fbapi20130702</string>
        <string>fbapi20131010</string>
        <string>fbapi20131219</string>
        <string>fbapi20140410</string>
        <string>fbapi20140116</string>
        <string>fbapi20150313</string>
        <string>fbapi20150629</string>
        <string>fbapi20160328</string>
        <string>fbauth</string>
        <string>fbauth2</string>
        <string>fb-messenger-api20140430</string>
        <string>fb-messenger-platform-20150128</string>
        <string>fb-messenger-platform-20150218</string>
        <string>fb-messenger-platform-20150305</string>
        <string>fb-messenger-api</string>
        <string>fbshareextension</string>
    </array>

另外做以下两件事 1. 打开 facebook.com -> 设置 -> 应用程序 -> 如果已授予应用程序权限,请删除您的应用程序

    打开移动 facebook 应用 -> 点击更多(最后一个选项卡)-> 应用 -> 应用邀请 -> 如果有任何应用邀请,则删除。

希望这对你有用。

【讨论】:

以上是关于应用程序邀请 facebook |没有在 iOS 上收到通知,但在 android 中收到了邀请,但邀请列在 facebook -> 应用程序 -> 应用程序邀请中的主要内容,如果未能解决你的问题,请参考以下文章

Facebook SDK iOS 邀请没有 FBWebDialogs 的用户

允许用户在朋友 Facebook 墙上发布玩 iOS 应用程序的邀请?

iOS:未收到 Facebook 应用邀请

Facebook 应用邀请在使用 Facebook SDK 4.X 的 iOS8 中不起作用?

检索 Facebook 好友并邀请他们加入我的 iOS 应用

邀请 Facebook 朋友加入我的 iOS 应用程序,该应用程序不是具有自定义 UI 的游戏