HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    友盟分享(友盟分享微信)

    发布时间:2023-03-20 03:34:36     稿源: 创意岭    阅读: 1196        问大家

    大家好!今天让创意岭的小编来大家介绍下关于友盟分享的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com,如需咨询相关业务请拨打175-8598-2043,或微信:1454722008

    本文目录:

    友盟分享(友盟分享微信)

    一、如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能

    首先我简单介绍一下组件压缩包的组成

    Cocos2dx

    实现Cocos2d-x中跨平台分享功能,需拷贝到您项目的Classes文件夹中;

    Platforms

    原生的Android和iOS社会化组件SDK,需要您将库和资源拷贝到对应平台的项目中;

    doc

    组件的集成文档;

    Umeng_Cocos2dx_Demo_V1.0

    Android部分的demo文件,可以安装在手机上看一下简单的分享效果和样式

    Cocos2d-x虽然是一个跨平台的引擎,但是对于Android和IOS平台来说,具体的集成方式还是有一定的区别,这里分别介绍Android和IOS平台集成中不同的地方,然后再集中介绍跨平台通用的部分。

    Android平台集成步骤:

    步骤一:

    下载Cocos2d-x组件(下载地址) 并且将jar包添加到build path 路径下,将res资源文件夹加入到你工程对应资源文件下。将Platforms/Android/controller目录下的com文件夹拷贝到您的Cocos2d-x项目Android平台的src目录下,并且在jni/Android.mk中的LOCAL_SRC_FILES下添加如下配置 (注意格式,否则会编译出错) :

    ../../Classes/Cocos2dx/Android/CCUMSocialController.cpp \

    ../../Classes/Cocos2dx/ShareButton/UMShareButton.cpp \

    ../../Classes/Cocos2dx/Common/CCUMSocialSDK.cpp

    步骤二:

    在Cocos2dxActivity子类的onCreate方法下添加如下代码,用来完成初始化步骤

    // this为Cocos2dxActivity类型, 参数2为描述符,可随意修改.

    CCUMSocialController.initSocialSDK(this, "com.umeng.social.share");

    步骤三:

    在代码中覆写Cocos2dxActivity子类的onActivityResult方法,用来实现回调方法。在onActivityResult添加如下代码 :

    // 授权回调

    CCUMSocialController.onActivityResult(requestCode, resultCode, data);

    super.onActivityResult(requestCode, resultCode, data);

    iOS平台集成步骤:

    步骤一:

    解压SDK压缩包,将Platforms/iOS文件夹和Cocos2dx文件夹拖入工程目录,并删除Cocos2dx/Android文件夹,添加后应该是这个效果:

    步骤二:

    添加系统需要的framework

    Security.framework //用于系统加密处理

    libiconv.dylib //QQ互联的库文件

    SystemConfiguration.framework //QQ互联需要的framework

    CoreGraphics.framework //QQ互联需要的framework

    Social.framework //分享组件需要的framework,如果不使用twitter则不需要

    libsqlite3.dylib //QQ互联需要的framework

    libstdc++.dylib //C++的库文件

    CoreTelephony.framework //QQ互联需要的framework

    libz.dylib //QQ互联需要的framework

    Accounts.framework //系统需要的framework,如果不使用twitter则不需要

    步骤三:

    实现系统的回调方法,在Xcode工程中的ios文件夹下的AppController.mm文件中加入下面的代码:

    #import "UMSocial.h"

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

    {

    return [UMSocialSnsService handleOpenURL:url];

    }

    完成了上述准备工作之后,就可以开始正式的分享步骤了,友盟提供了多种分享样式,有精力的开发者可以使用底层接口,可以完全自由定制分享界面和样式,不过相信大部分开发者们使用第三方插件的初衷都是为了节省精力,所以这里就只介绍使用默认分享界面的方法,有更多需求的开发者们可以自己探索自定义界面接口部分。

    步骤一:加入系统需要的头文件

    // 授权回调

    #include "Cocos2dx/Common/CCUMSocialSDK.h"

    #include "Cocos2dx/ShareButton/UMShareButton.h"

    // 使用友盟命令空间

    USING_NS_UM_SOCIAL;

    // ...... 代码省略

    // HelloWorld为cocos2d::CCLayer的子类

    bool HelloWorld::init()

    {

    //////////////////////////////

    // 1. super init first

    if ( !CCLayer::init() )

    {

    return false;

    }

    }

    步骤二:分享按钮的创建

    // 创建分享按钮, 参数1为按钮正常情况下的图片, 参数2为按钮选中时的图片,参数3为友盟appkey, 参数4为分享回调

    UMShareButton *shareButton = UMShareButton::create("shareNormal.png","shareSelected.png", "你的友盟appkey", share_selector(shareCallback)) ;

    步骤三:设置分享平台及内容

    // 显示在友盟分享面板上的平台

    vector

    * platforms = new vector

    ();

    platforms->push_back(SINA);

    platforms->push_back(RENREN) ;

    platforms->push_back(DOUBAN) ;

    platforms->push_back(QZONE) ;

    platforms->push_back(QQ) ;

    // 设置友盟分享面板上显示的平台

    shareButton->setPlatforms(platforms);

    // 设置文本分享内容

    shareButton->setShareContent("umeng social Cocos2d-x sdk.") ;

    // 设置要分享的图片, 图片支持本地图片和url图片, 但是url图片必须以http://或者https://开头

    shareButton->setShareImage("/sdcard/header.jpeg") ;

    // 设置按钮的位置

    shareButton->setPosition(ccp(150, 180));

    // 然后开发者需要将该按钮添加到游戏场景中

    CCMenu* pMenu = CCMenu::create(shareButton, NULL);

    pMenu->setPosition(CCPointZero);

    this->addChild(pMenu, 1);

    // ********************** 设置平台信息 ***************************

    // CCUMSocialSDK *sdk = shareButton->getSocialSDK();

    // sdk->setQQAppIdAndAppKey("设置QQ的app id", "appkey");

    // sdk->setWeiXinAppId("设置微信和朋友圈的app id");

    // sdk->setYiXinAppKey("设置易信和易信朋友圈的app id");

    // sdk->setLaiwangAppInfo("设置来往和来往动态的app id",

    // "设置来往和来往动态的app key", "我的应用名");

    // sdk->setFacebookAppId("你的facebook appid");

    // 设置用户点击一条图文分享时用户跳转到的目标页面, 一般为app主页或者下载页面

    // sdk->setTargetUrl(" ");

    // 打开或者关闭log

    // sdk->setLogEnable(true) ;

    // ********************** END ***************************

    集成到这一步就完成了,如果没有异常,应该会出现下面的界面,这说明你已经成功实现了集成工作。

    二、友盟分享怎样才能分享一个可以跳到自己app的链接

    设置点击分享内容跳转链接

    当分享消息类型为图文时,点击分享内容会跳转到预设的链接,设置方法如下

    [UMSocialData defaultData].extConfig.wechatSessionData.url = @"http://baidu.com";

    如果是朋友圈,则替换平台参数名即可

    [UMSocialData defaultData].extConfig.wechatTimelineData.url = @"http://baidu.com";

    注意设置的链接必须为http链接

    三、ios 友盟分享 新浪微博怎么是webview

    1.集成友盟分享,需要先注册一个友盟账号,注册地址

    友盟开发者平台官网 友盟集成文档

    友盟sdk下载地址友盟sdk下载地址

    2,成功下载sdk集成后,微信分享需要配置一下

    新浪微博 之类到同样配置就行

    3.整合完之后就开始上代码了

    ShareManage.h

    [objc] view plain copy

    //

    // ShareManage.h

    // KONKA_MARKET

    //

    // Created by wxxu on 14/12/18.

    // Copyright (c) 2014年 archon. All rights reserved.

    // 分享管理

    // 友盟APIKey

    #define UMeng_APIKey @""//友盟appKey

    #define WX_APP_KEY @""//微信appId

    #define WX_APP_SECRET @""//微信appSecret

    #define share_title @""//分享标题

    #define share_content @""//分享内容

    #define share_url @""//分享url

    #import <Foundation/Foundation.h>

    #import <MessageUI/MessageUI.h>

    @interface ShareManage : NSObject <MFMessageComposeViewControllerDelegate>

    + (ShareManage *)shareManage;- (void)shareConfig;/**微信分享**/

    - (void)wxShareWithViewControll:(UIViewController *)viewC;/**新浪微博分享**/- (void)wbShareWithViewControll:(UIViewController *)viewC;/**微信朋友圈分享**/- (void)wxpyqShareWithViewControll:(UIViewController *)viewC;/**短信分享**/- (void)smsShareWithViewControll:(UIViewController *)viewC;@end

    ShareManage.m

    [objc] view plain copy

    //

    // ShareManage.m

    // KONKA_MARKET

    //

    // Created by wxxu on 14/12/18.

    // Copyright (c) 2014年 archon. All rights reserved.

    // 分享管理

    #import "ShareManage.h"

    #import "UMSocial.h"

    #import "UMSocialWechatHandler.h"

    #import "WXApi.h"

    @implementation ShareManage {

    UIViewController *_viewC;

    }

    static ShareManage *shareManage;

    + (ShareManage *)shareManage

    {

    @synchronized(self)

    {

    if (shareManage == nil) {

    shareManage = [[self alloc] init];

    }

    return shareManage;

    }

    }

    #pragma mark 注册友盟分享微信

    - (void)shareConfig

    {

    //设置友盟社会化组件appkey

    [UMSocialData setAppKey:UMeng_APIKey];

    [UMSocialData openLog:YES];

    //注册微信

    [WXApi registerApp:WX_APP_KEY];

    //设置图文分享

    [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb;

    }

    #pragma mark 微信分享

    - (void)wxShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];

    [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];

    [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);

    }

    #pragma mark 新浪微博分享

    - (void)wbShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];

    [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);

    }

    #pragma mark 微信朋友圈分享

    - (void)wxpyqShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];

    [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];

    [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatTimeline].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);

    }

    #pragma mark 短信分享

    - (void)smsShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));

    if (messageClass != nil) {

    if ([messageClass canSendText]) {

    [self displaySMSComposerSheet];

    }

    else {

    //@"设备没有短信功能"

    }

    }

    else {

    //@"iOS版本过低,iOS4.0以上才支持程序内发送短信"

    }

    }

    #pragma mark 短信的代理方法

    - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{

    [_viewC dismissViewControllerAnimated:YES completion:nil];

    switch (result)

    {

    case MessageComposeResultCancelled:

    break;

    case MessageComposeResultSent:

    //@"感谢您的分享!"

    break;

    case MessageComposeResultFailed:

    break;

    default:

    break;

    }

    }

    - (void)displaySMSComposerSheet

    {

    MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];

    picker.messageComposeDelegate = self;

    picker.navigationBar.tintColor = [UIColor blackColor];

    // picker.recipients = [NSArray arrayWithObject:@"10086"];

    picker.body = share_content;

    [_viewC presentViewController:picker animated:YES completion:nil];

    }

    @end

    四、ios 友盟三方分享 sdk需要注意什么

    // 需要引入框架

    // 1. SystemConfiguration.framework

    // 2. CoreGraphics.framework

    // 3. libsqlite3.dylib

    // 4. CoreTelephony.framework

    // 5. libstdc++.dylib,

    // 6. libz.dylib

    // 下载最新的SDK,http://dev.umeng.com/social/ios/sdk-download

    // 将UMSocial_Sdk-x.x.x的文件夹拖入工程目录下

    // libUMSocial_Sdk-x.x.x.a  libUMSocial_Sdk_comment_3.0.a   库文件

    // Header  头文字

    // SocialSDKXib     xib文件

    // en.Iproj, zh-Hans.Iproj  英文和中文语言文件

    // frameworks   使用的第三方SDK,里面的Wechat,TencentOperAPI,TencentWeiboSSO,分别代表微信、手机QQ和腾讯微博SDK

    // 设置友盟分享

    [UMSocialData setAppKey:@"52b13dc556240b55870e7148"];

    // 设置手机QQ的使用

    [UMSocialConfig setQQAppId:@"100424468" url:nil importClasses:@[[QQApiInterface class], [TencentOAuthclass]]];

    // 设置微信功能

    [UMSocialConfig setWXAppId:@"wx34bd7147c4d8ad5a" url:nil];

    #pragma mark 使用第三方登录需要重写下面两个方法

    - (void)applicationDidBecomeActive:(UIApplication *)application

    {

        // 登录需要编写

        [UMSocialSnsService applicationDidBecomeActive];

    }

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation

    {

        return [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];

    }

    #pragma mark 直接分享

    - (IBAction)share:(id)sender

    {

        // 设置分享内容与分享平台

        // 弹出UIActivityViewController样式的列表

        [UMSocialSnsService presentSnsIconSheetView:self appKey:Nil shareText:@"要分享的内容" shareImage:nilshareToSnsNames:@[UMShareToQzone, UMShareToSina, UMShareToTencent, UMShareToRenren, UMShareToSms,UMShareToEmail, UMShareToFacebook, UMShareToTwitter, UMShareToWechatSession, UMShareToWechatTimeline, UMShareToQQ] delegate:nil];

    }

    基本的分享如上边代码所示,但是iOS9 要注意网路http的问题

    以上就是关于友盟分享相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    友盟统计app下载(友盟统计app下载安装)

    友盟分享(友盟分享微信)

    泰州景观设计招聘

    奢侈品牌排行榜(奢侈品牌排行榜包包)