SLComposeViewController推特预览图片未正确加载

时间:2016-01-26 23:33:05

标签: ios twitter slcomposeviewcontroller

我的网站提供空白页面以及#34; social"网址,即以" / social"开头的网址作为一个路径,最初由我的应用程序生成,在FB和Twitter上分享。这些服务页面只包括开头的图形和Twitter元标记以及几行javascript,以便用户在访问页面时将应用程序,iTunes或网站的相应部分重定向到深层链接。我正在使用这种"技术"通过向社交媒体(Twitter / Facebook)提供不必要的内容(有时包含大量内容)来避免分散我的网络服务器,而他们真正需要代表数据只是元标记。

我在Facebook和Twitter在线验证器上成功测试了我的共享社交链接。当从应用程序共享时,它们也会在FB和Twitter时间轴上按预期呈现,但我唯一的问题是SLComposeViewController twitter对话框,它显示空白图像预览(作为我的空白页面的预览我猜测)当提示用户输入他的推文时。此外,在推文对话框中也没有预先呈现标题和描述(来自url页面元标记),这可能给用户留下错误的印象,并可能取消他的推文。如果用户决定发布"未预览的"但推特,一切顺利,卡片在时间轴上正确显示。

我只在Twitter对话框中遇到预览问题,在Facebook验证帖子之前,帖子预览会按照预期呈现给用户。

以下是我网站上社交网址的卷曲输出:

<html> 
    <head>   
        <title>My Great Title</title>

        <meta property="og:title" content="My Great Title" />
        <meta property="og:description" content="Some Description" />
        <meta property="og:url" content="current-url" />
        <meta property="og:type" content="website" />
        <meta property="og:image" content="http://url-to-an-image"/>
        <meta property="og:image:type" content="image/jpeg" />
        <meta property="og:image:width" content="1200" />
        <meta property="og:image:height" content="627" />

        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="My Great Title">
        <meta name="twitter:description" content="Some Description">
        <meta name="twitter:site" content="@twitteraccount">
        <meta name="twitter:image" content="http://url-to-an-image">

        <script type="text/javascript" src="/path-to-my-redirecting-javascript"></script>
    </head>
    <body>
    </body>
    </html>

这是我在我的应用中使用的代码,用于显示SLComposeViewController:

-(void)shareOnSocialMediaWithServiceType:(NSString *)serviceType
{
    if ([SLComposeViewController isAvailableForServiceType:serviceType]) {

        SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:serviceType];

        [mySLComposerSheet addURL:[NSURL URLWithString:@"http://social-url-to-my-website"]];

        [mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {

            switch (result) {
                case SLComposeViewControllerResultCancelled:
                    NSLog(@"Post Canceled");
                    break;
                case SLComposeViewControllerResultDone:
                    NSLog(@"Post Sucessful");
                    break;

                default:
                    break;
            }
        }];

        [self presentViewController:mySLComposerSheet animated:YES completion:nil];
    }
}

我缺少什么让twitter对话框正确预览帖子?

0 个答案:

没有答案