700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 使用友盟社会化分享IOS版SDK分享纯图片到微信

使用友盟社会化分享IOS版SDK分享纯图片到微信

时间:2018-12-23 17:16:42

相关推荐

使用友盟社会化分享IOS版SDK分享纯图片到微信

本文和上一篇友盟社会化分享Android版是兄弟篇。其实本人用的是友盟Cocos2d-x的IOS版。对于普通IOS版如何分享纯图片到微信朋友圈,官网文档中已经说明的比较清楚,但是在Cocos2d-x版中并未做出说明。如果不加以设置,默认分享类型是一条图文链接。其实无论是普通IOS版,还是Cocos2d-x版,它们设置分享类型的Objective C方法是一致的,只不过在Cocos2d-x版中要寻找一个途径,跟C++代码结合起来。

本文默认读者已经阅读过友盟的官方文档,已经掌握默认的分享集成方法。

设置纯图片分享类型的Objective C方法是

[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;

对于普通IOS版,可以很容易找个地方来调用上面这个方法。对于Cocos2d-x版,需要稍微琢磨一下。和上一篇Android版一致,在调用了打开分享面板函数openShare()之后,可以调用setPlatformShareContent()对某个指定平台的分享内容进行单独设置。比如下面的代码就实现对微信朋友圈的分享内容进行单独设置:

分享按钮的回调函数体内部

// 获取一个CCUMSocialSDK实例 CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟app key"); //设置微信app id和app key sdk->setWeiXinAppInfo("你的微信app id","你的微信app key"); sdk->setLogEnable(true); sdk->setTargetUrl("你的分享链接"); // 设置友盟分享面板上显示的平台 vector<int>* platforms = new vector<int>(); platforms->push_back(WEIXIN); platforms->push_back(WEIXIN_CIRCLE); // 设置平台, 在调用分享、授权相关的函数前必须设置SDK支持的平台 sdk->setPlatforms(platforms) ; // 打开分享面板, 注册分享回调 sdk->openShare("你的分享文字", "你的分享图片路径", share_selector(shareCallback1)); //设置微信朋友圈分享内容 sdk->setPlatformShareContent(WEIXIN_CIRCLE, "你的分享文字", "你的分享图片路径", "你的分享标题", "你的分享链接");

但是此时分享的仍然是一条图文链接,因为我们还没有调用前面提到的方法对默认分享类型进行覆盖。注意,“你的分享标题”(而非“你的分享文字”)才是出现在图文链接上的文字。跟进setPlatformShareContent()这个函数(它是CCUMSocialSDK的类成员函数),我们发现它又调用了一个UmSocialControllerIOS类下面的方法setPlatformShareContent()。这是一个Objective C类方法,所以我们就可以在该方法中调用之前提到的那个设置分享类型的方法了。

水平有限,如有不妥,敬请拍砖!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。