Как использовать хостинг ссылок приложений facebook для динамического содержимого — IOS

С новыми изменениями в Facebook глубокие ссылки на приложение (расшаренные через базовый общий доступ) больше не работают.

Итак, я решил реализовать applinks. Но у моего мобильного приложения нет соответствующего веб-сайта для контента, которым я хочу поделиться на Facebook. Поэтому я выбираю API мобильного хостинга facebook для ссылок на приложения.

https://developers.facebook.com/docs/applinks/hosting-api

Я создал ссылку на приложение и поделился ею в своем приложении iOS вместе с другим содержимым, как показано ниже.

// Create an object
    NSDictionary *properties = @{
                                 @"og:type": @"article",
                                 @"og:url": @"https://fb.me/[some id]",
                                 @"og:title": name,
                                 @"og:description": desc,
                                 @"og:image":imageurl
                                 };

    FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject  objectWithProperties:properties];

    // Create an action
    FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init];
    action.actionType = @"news.publishes";

    [action setObject:object forKey:@"article"];

    // Create the content
    FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init];
    content.action = action;
    content.previewPropertyName = @"article";


    FBSDKShareDialog *shareDialog = [[FBSDKShareDialog alloc] init];
    shareDialog.fromViewController = self;
    shareDialog.shareContent = content;
    [shareDialog show]; 

Делая это, я могу поделиться контентом в facebook. При нажатии на контент мое приложение для iOS может запуститься. Так что все в порядке.

Но моя проблема в том, что контент, которым я хочу поделиться, является динамическим. У меня есть два вопроса.

  1. Могу ли я создавать ссылки на приложения facebook для динамического содержимого?
  2. Открыв приложение из deeplink, я хочу направить пользователя на экран контента внутри моего приложения. Но я не могу этого сделать, потому что я не вижу ничего, связанного с обменом контентом в URL-адресе, полученном в методе (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options method

Я хочу знать, достижимо ли это требование с помощью API мобильного хостинга facebook для ссылок на приложения.


person smartsanja    schedule 27.07.2017    source источник


Ответы (1)


Clay из Branch здесь.

Ответ на оба вопроса – да. Проблема в том, что с Facebook сложно иметь дело, и во многих случаях их ссылки не работают. Вы можете убедить себя здесь. Глубокие ссылки из Facebook в 2017 году

С полным раскрытием, я работаю на Бранча, так что принимайте это как хотите. На самом деле мы поддерживаем хостинг ссылок, поэтому вы сможете использовать нас без хостинга собственного веб-домена. Мы также поддерживаем ссылки Facebook внутри наших собственных ссылок с простым использованием параметров OpenGraph в наших ссылках.

Параметры OpenGraph в ссылках ответвлений

Концептуально внутри ссылка Branch выглядит так:

{
    tags: [ 'tag1', 'tag2' ],
    channel: 'facebook',
    feature: 'dashboard',
    stage: 'new user',
    alias: 'myalias',
    data: {
        mydata: 'something',
        foo: 'bar',
        '$desktop_url': 'http://myappwebsite.com',
        '$ios_url': 'http://myappwebsite.com/ios',
        '$android_url': 'http://myappwebsite.com/android',
        '$og_app_id': '12345',
        '$og_title': 'My App',
        '$og_description': 'My app\'s description.',
        '$og_image_url': 'http://myappwebsite.com/image.png'
    }
}

При этом вы можете прикреплять любые метаданные, которые хотите, и, следовательно, можете поддерживать свой динамический контент с помощью глубоких ссылок, охватывая ссылки на Facebook, а также почти на любой другой платформе и устройстве. Мы также рассматриваем отложенные прямые ссылки, которые не поддерживаются ссылками приложений Facebook.

Для базовых глубоких ссылок, которые вы ищете, услуга бесплатна.

person clayjones94    schedule 27.07.2017