Я пытаюсь добавить кнопку приглашения в наше приложение, чтобы пользователи могли приглашать своих друзей в Facebook Messenger, но документации практически нет, я пробовал несколько вещей.
Мой первый подход был сделать что-то очень простое, как это:
if let url = URL(string: "fb-messenger://share/?link=" + KeyCenter.urlAppStoreDownload)
{
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
Это почти работает, и сообщение при отправке из Messenger выглядит корректно, но получатель получает сообщение с текстом «nativetrhirdparty», а не ссылку. Итак, один вопрос, может ли это быть настройкой FB Messenger на наших страницах FB?
Кроме того, я прочитал документы для iOS SDK FB здесь: https://developers.facebook.com/docs/sharing/messenger#ios
И я импортирую импорт FBSDKCoreKi, импортирую FBSDKLoginKit и импортирую FBSDKShareKit
Но когда я пробую код, подобный любому из примеров из этого документа, который ссылается на v4.29 и более поздние версии FB SDK, я получаю неопределенные ошибки, подобные этим:
Use of unresolved identifier 'FBSDKShareMessengerURLActionButton'
Use of unresolved identifier 'FBSDKShareMessengerGenericTemplateElement'
Use of unresolved identifier 'FBSDKShareMessengerGenericTemplateContent'
Итак, еще один вопрос: что мне нужно импортировать, добавить или изменить, чтобы любой из примеров кода работал?
Я видел кнопки приглашения в нескольких приложениях, так что я знаю, что кто-то там знает, как это сделать, но нет хороших примеров или документов, которые я могу найти.
Может кто-нибудь, пожалуйста, adivse?
Вот код, взятый прямо из документа, и он выдает эти ошибки.
var urlButton = FBSDKShareMessengerURLActionButton()
urlButton.title = "Visit Facebook"
urlButton.url = URL(string: "https://www.facebook.com")
var element = FBSDKShareMessengerGenericTemplateElement()
element.title = "This is a Cat Picture"
element.subtitle = "Look at this cat, wow! Amazing."
element.imageURL = URL(string: "https://static.pexels.com/photos/126407/pexels-photo-126407.jpeg")
element.button = urlButton
var content = FBSDKShareMessengerGenericTemplateContent()
content.element = element
content.pageID = /* Your page ID, required for attribution */ content.element
var messageDialog = FBSDKMessageDialog()
messageDialog.shareContent = content
if messageDialog.canShow() {
messageDialog.show()
}
** ОБНОВЛЕНИЕ:
Операторы импорта находятся вверху файла .swift с кодом следующим образом:
import Foundation
import XLPagerTabStrip
import RKNotificationHub
import ParseLiveQuery
import FBSDKCoreKit
import FBSDKLoginKit
import FBSDKShareKit
class HomePagerViewController: ButtonBarPagerTabStripViewController, FBSDKAppInviteDialogDelegate
{
.
.
.