美文网首页
友盟使用QQ分享打开失败

友盟使用QQ分享打开失败

作者: 星亦尘 | 来源:发表于2017-08-16 18:04 被阅读446次

    今天在测试一个H5页面的时候,测试报告了一个BUG:某页面存在两个分享,但是在使用QQ分享的时候,一个分享成功,一个却一直提示“打开QQ失败”。
    之前也报告过这样的问题,但是由于线上环境没怎么发现,就没有去解决。
    这次刚好有时间,就决定解决掉这个BUG。
    Debug模式下仔细看了下友盟的log,发现在QQ打开失败时控制台输出:
    -QQAPI- QQApi.m:252 param error: url is nil
    然后查了一下QQ分享SDK的API,找到了问题的关键:
    分享成功的链接里面没有带任何参数,而一直打不开QQ的分享链接带参数,而且参数是中文。在查阅友盟分享API发现:
    友盟会将 "?"号前面的当作url,“?”号后面的 不会被读取,说到这 ,都知道问题的所在了吧。这是因为传过去的字符串,带参数,是需要进行编码的( 防止有中文,所以要进行编码)。
    所以如果在分享链接中添加有参数,那么需要将链接中的中文及特殊字符进行编码,具体方法如下:
    NSString *shareUrl = [[NSString stringWithFormat:@"http://www.jianshu.com?userName=张三"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    希望这篇文章可以帮到你!

    相关文章

      网友评论

          本文标题:友盟使用QQ分享打开失败

          本文链接:https://www.haomeiwen.com/subject/dtfwrxtx.html