应用程序邀请 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 应用程序的邀请?
Facebook 应用邀请在使用 Facebook SDK 4.X 的 iOS8 中不起作用?